When the tasks of a program are executed on a parallel computer, it can be beneficial to executed the same task on more than one processor. This happends when this replicated execution of the tasks helps to avoid the costly transfer of data across the memory or network system.
Scheduling algorithms with task duplication are not only allocating and ordering the tasks of a program onto a parallel computer, but they are also decided which tasks are beneficial to duplicate. In this project you will investigate different scheduling algorithms that use task duplication, varying the system model and the complexity. The algorithms will then be implemented and meassured in an experimental study. The outcome will be an algorithm library to be integrated into existing research work of the Parallel and Reconfigurable Computing Lab.
Good programming experience.
Lab allocations have not been finalised