Execution of compute-intensive applications into parallel machines

Catherine Houstis, Sarantos Kapidakis, Evangelos P. Markatos, Erol Gelenbe
1997 Information Sciences  
Scheduling and load balancing of applications on distributed or shared memory machine architectures can be executed by optimizing algorithms in various levels of the architecture. We are viewing four di erent l e v els, namely, the application layer, the compiler layer, the run time layer, and the operating system layer. The approach to scheduling and load balancing ranges from very specialized and directly dependent on the application, in the application layer, to a more general approach taken
more » ... by the operating system layer. In the application layer, the application's computation is decomposed and evenly assigned to the processors, while communication and synchronization are minimized. In addition, speci c knowledge about the application is taken into account to select the approach t o problem solution. In the compiler layer, the application code is automatically decomposed by the compiler, most of the work being concentrated in the parallelization of language constructs. In the run time layer, the results of the application and the compiler layer are implemented. Finally, in the operating system layer, a fair allocation of the processors of the parallel machine is allocated to competing applications.
doi:10.1016/s0020-0255(96)00174-0 fatcat:pszidonmirajdpcon4lsmucxxu