Program Partitioning and Scheduling on Hierarchial Systems.

Abstract : Efficient utilization of high-performance computers require good parallelism detection and program partitioning techniques followed by efficient scheduling of partitioned tasks. In this work, we address issues in parallelism specification and detection, particularly related to Object Oriented (OO) programs. We have proposed solutions to overcome inheritance anomaly in Concurrent OO Languages. We have also proposed a novel type-inference mechanism for static type determination of objects in OO programs and have developed a precise call-graph construction technique. Moreover, we have developed efficient task scheduling algorithms which produce an optimal schedule given sufficient number of processors. The duplication-based scheduling algorithm scales down nicely if number of available processors is not sufficient.