A Programming Environment for Dynamic Resource Allocation and Data Distribution

Dynamic resource allocation, particularly in the form of processorpartitioning and scheduling, is an important factor in achieving good utilization and high performance in multiprocessor systems. We are developing a Distributed Resource Management System (DRMS) for dynamic allocation of resources during the execution of applications. DRMS provides means for applications to specify their resource requirements and for the system to manipulate resources allocated to competing jobs. DRMS also provides the programming support necessary to create reconfigurable applications, that can execute on time-variant processor partitions. Run-time program migration and data redistribution are performed automatically. We present performance results using application benchmarks on the first implementation of DRMS for the IBM SP2. Our performance results show that (i) the support for dynamic resource control has minimal side effects on the application performance, and (ii) the costs associated with the data redistributions and program restructuring to support changes in the processor partitions are relatively small.

[1]  Guy L. Steele,et al.  The High Performance Fortran Handbook , 1993 .

[2]  Anoop Gupta,et al.  Process control and scheduling issues for multiprogrammed shared-memory multiprocessors , 1989, SOSP '89.

[3]  Mary K. Vernon,et al.  The performance of multiprogrammed multiprocessor scheduling algorithms , 1990, SIGMETRICS '90.

[4]  John Zahorjan,et al.  Zahorjan processor allocation policies for message-passing parallel computers , 1994, SIGMETRICS 1994.

[5]  José E. Moreira,et al.  Application-Assisted Dynamic Scheduling on Large-Scal Multi-Computer Systems , 1996, Euro-Par, Vol. II.

[6]  Charles Koelbel,et al.  High Performance Fortran Handbook , 1993 .

[7]  Joel H. Saltz,et al.  Data parallel programming in an adaptive environment , 1995, Proceedings of 9th International Parallel Processing Symposium.

[8]  Constantine D. Polychronopoulos Multiprocessing versus Multiprogramming , 1989, ICPP.

[9]  Raj Vaswani,et al.  A dynamic processor allocation policy for multiprogrammed shared-memory multiprocessors , 1993, TOCS.

[10]  José E. Moreira,et al.  Supporting Dynamic Data and Processor Repartitioning for Irregular Applications , 1996, IRREGULAR.

[11]  Mark S. Squillante,et al.  Processor Allocation in Multiprogrammed Distributed-Memory Parallel Computer Systems , 1997, J. Parallel Distributed Comput..

[12]  David H. Bailey,et al.  The Nas Parallel Benchmarks , 1991, Int. J. High Perform. Comput. Appl..

[13]  Anoop Gupta,et al.  Making effective use of shared-memory multiprocessors: the process control approach , 1991 .