Two Migratory Algorithms for Mapping Meta-Tasks to a Mixed-Machine HC Environment Amal S. Khalifa Reda A. Ammar Tahany A. Fegrany Mohammed F. Tolba Faculty of Computer & Information Sciences, Ain Shams University, Abbassia, Cairo,11566, Egypt Safwat@engr.uconn.edu Computer Science & Engineering Dept., University. of Connecticut, Storrs, CT, 06269, USA Reda@engr.uconn.edu Computer Science Department, University of New Haven, West Haven, CT, USA TFergany@NewHaven.edu Faculty of Computer & Information Sciences, Ain Shams University, Abbassia, Cairo,11566, Egypt FTolba@gmail.com Abstract High-performance computing applications consist of various subtasks that have different computational requirements with different needs for machine capabilities. Heterogeneous computing Systems (HC) use different types of machines, networks, and interfaces to coordinate the execution of various task components and hence achieve better system performance. Mapping/scheduling is considered one of the main research fields in the HC community. They are known to be NP-Complete except under a few special situations. Solving the mapping problem is basically deciding on which task should be moved to where and when, to optimize some objective function. Mapping tasks in HC systems is done either statically or dynamically. In this paper, we introduce two migratory algorithms for dynamic mapping of a set of independent tasks to the machines of a HC suite. The proposed algorithms are modifications to the Max-min heuristic that assigns tasks in a batch-mode fashion. The presented approaches are based on the idea of task deployment to allow dynamic reallocation of running tasks to improve the overall performance of the HC system. The goal is to minimize the total execution time (makespan) of the metatask. 1. Introduction Today distributed systems are everywhere starting from the world wide web, through the banks interconnected systems, to the network of computers in a modern car [1]. Distributed Systems have several preferable features such as Dependability, Resource sharing and Power aggregation. The main objective of constructing distributed systems is to provide high performance computation power to serve the increasing need of large applications. One of the biggest challenges with high-performance computing is that a typical application may have various subtasks with different computational requirements which result in different needs for machine capabilities. This makes it generally impossible to satisfy all computational requirements using single machine architecture with its associated compiler, operating system, and programming tools [2]. That’s why there is a great interest in research in the field of heterogeneous computing Systems (HC). There is a great variety of types of parallel and distributed heterogeneous computing systems. A mixed-mode HC system refers to single parallel processing systems, whose processors are capable of executing in either the synchronous SIMD or the asynchronous MIMD mode of parallelism, and can switch between the modes at the instruction level with negligible overhead. In multi-mode HC, multiple modes of computation are provided and can be used simultaneously. On the other hand, in mixed-machine HC systems, a heterogeneous suite of machines is interconnected by high-speed links to function as a metacomputer or a grid [11]. One way to exploit an HC environment is to decompose a task into subtasks, where each subtask is computationally well suited to single machine architecture. Once the subtasks are obtained, each subtask is assigned to a machine using what is usually called Resource Management System (RMS) [11]. The overall problem of matching and scheduling is referred to as mapping. The mapping problem can be stated shortly as: which task should be moved to where and when, to optimize some objective function. In this paper, we propose two dynamic mapping techniques that assign tasks in a central fashion. Both of them assign a set of independent tasks (metatask) in a mixed-machine HC environment in a way that minimizes the total execution time (makespan) of the meta-task. However, each one of them introduces a different improvement to the Max-min heuristic to achieve better system performance. The first algorithm (MigMax-min) proposes a deployment INFOS2008, March 27-29, 2008 Cairo-Egypt © 2008 Faculty of Computers & Information-Cairo University 66 PAR-