Process Rescheduling in High Performance Computing Environments

Rodrigo da Rosa Righi, Lucas Graebi · InTech eBooks · 2012

Will-be-set-by-IN-TECHin accordance with both the behavior of the processes and the resources (processors and network).Generally, process migration is implemented within the application, resulting in a close coupling between the application and the algorithms' data structures.Such an implementation is not extensible, due to the specificity of the shared data structure.Even more, some initiatives use explicit calls in the application code (Bhandarkar et al., 2000) and obligate extra executions to get tuned scheduling data (Silva et al., 2005;Yang & Chou, 2009).A different migration approach happens at middleware level, where changes in the application code and previous knowledge about the system are usually not required.Considering this, we have developed a process rescheduling model called MigBSP (da Rosa Righi et al., 2010).It was designed to work with phases-based applications with BSP behavior (Bulk Synchronous Parallel) and acts over cluster-of-clusters architectures.MigBSP extensively uses heuristics to adapt the interval between migration calls, to analyze the behavior regularity of each process as well as to select the candidates for migration.Heuristics were employed since the problem of finding the optimum scheduling in heterogeneous system is in general NP-hard (Xhafa & Abraham, 2010).Concerning the choosing of the processes, MigBSP creates a priority list based on the highest Potential of Migration (PM) of each process (da Rosa Righi et al., 2010).PM combines the migration costs with data from both computation and communication phases in order to create an unified scheduling metric.Using a hierarchy notion based on two levels (Goldchleger et al., 2004), each PM element concentrates a target process and a specific destination site.Figure 1 goes through the PM approach.The process denoted in the top of the mentioned list was always selected to be inspected for migration viability.Although we achieved good results when using this approach, we agree that an optimized one can deal with multiple processes when rescheduling verification takes place.A possibility could concern the selection of a percentage of processes based on the highest PM.Nevertheless, a question arises: How can one reach an optimized percentage value for dynamic applications and heterogeneous environments?A solution could involve the testing of several hand-tuned parameter instances and the comparison of the results.Certainly, this idea is time consuming and new applications and resources require a new series of tests.

Read the paper · More papers on PaperTik