Dynamic Task Migration in Home-based Software DSM Systemsy Weisong Shi, Weiwu Hu and Zhimin Tang Institute of Computing Technology Chinese Academy of Sciences Beijing, 100080, P.R.China E-mail: fwsshi,hww,
[email protected] M. Rasit Eskicioglu Department of Computing Science University of Alberta Edmonton, Alberta T6G 2H1 E-mail:
[email protected] Abstract
Task migration is an eective strategy to achieve load balancing and high resource utilization in a meta-computing environment. In this paper, we argue that traditional task migration methods take into account only the computation, and neglect any necessary data migration. Accordingly, we introduce a new de nition of a task, propose a novel dynamic task migration scheme, and evaluate this scheme within the context of the JIAJIA software DSM system. The results of our experiments show that the execution time of three benchmarks improved between 36% to 50%, compared with other static task allocation schemes. Also, these benchmarks performed with our new migration scheme an average of 30% better than with traditional task migration method. Furthermore, higher utilization is achieved with the new task migration scheme.
1 Introduction
The four substantial characteristics of meta-computing environments, namely heterogeneity, variable resource capacity, distribution, and non-dedicated nature generally reduce the application performance, thus making such environments not as eective as multiprocessors. In order to maximize the application performance based on available resources, a parallel system must The work of this paper is supported by the National Climbing Program of China, and the National Natural Science Foundation of China, and the President Young Creation Foundation of the Chinese Academy of Sciences. y
1
dynamically distribute the work not only according to the inherent computation and communication demands of the application, but also according to the available computation resources. Dynamic task migration is an eective strategy to achieve this goal, and it has been widely studied in the literature[1, 2, 3, 4, 5]. According to the granularity of a task, previous work can be classi ed into three categories: loop-level, thread-level, and process-level. Loop-level and thread-level task migration schemes are widely used in shared memory environments, such as shared memory multiprocessors and software DSM systems. Whereas process migration is generally adopted in message passing environments, such as distributed or network operating systems. The application domain assumed in this paper is that of highly iterative scienti c code running on home-based software DSM systems. In both loop- and thread-level task migration schemes proposed in the past, however, a \task" means the corresponding code of computation, i.e., the data related to this computation is totally neglected. As such, when one task is migrated from processor A to another 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 making the performance worse. Hence, the de nition of traditional \task" should be revisited. We de ne 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 new dynamic loop-level task migration scheme. This scheme is implemented within the context of the JIAJIA software DSM system[6]. The evaluation results show that the new task migration scheme improved the performance of our benchmark applications by 36% to 50%, compared with static task allocation schemes. As a result, our new task migration scheme performs better than other computation-only migration schemes for an average of 30%. The rest of the paper is organized as follows. The rationale and implementation details of the dynamic task migration scheme are depicted in the following two sections, respectively. In Section 4, experimental results and performance analysis are given. Related other work are compared with our new scheme in Section 5. Finally, conclusion remarks and future work are presented in Section 6.
2
Figure 1: Basic framework of dynamic task migration scheme for (i=0; i