Dynamic task migration in home-based software DSM systems
Weisong Shi,Weiwu Hu,Zhimin Tang,M. Rasit Eskicioglu
DOI: https://doi.org/10.1109/HPDC.1999.805317
1999-01-01
Abstract:Dynamic task migration is an effective strategy to maximize the performance and resource utilization in metacomputing environments. Traditionally, however, a “task” means only the corresponding code of computation, i.e., the data related to this computation is usually neglected. As such, when one task is migrated from processor A to processor B, the data required by this task remains on processor A. Thus, the processor B has to perform remote communication when it executes this task, eliminating the advantage of task migration, or even further degrading the performance. Hence, the definition of the traditional “task” should be revisited. We define a task as follows: Task=Computation subtask+Data subtask. Computation subtask is the program code to be executed, while the data subtask is the operations to access the related data located in memory. In fact, as the speed gap between processors and memory becomes larger and larger, the importance of data subtask becomes more obvious than before. Therefore, we argue that both subtasks should be migrated to a new processor during task migration. Based on this observation, we propose a dynamic loop-level task migration scheme. This scheme is implemented within the context of the JIAJIA software DSM system (W. Ha et al., 1999). The evaluation results show that the task migration scheme improves the performance of our benchmark applications by 36% to 50% compared with static task allocation schemes. As a result, the new scheme performs an average of 30% better than other computation-only migration schemes