Improving processor allocation through run-time measured efficiency

In a multiprocessor architecture it is very important to allocate processors to applications in a proportional way to the performance that applications are achieving, not considering this performance can result in an under-utilization of the multiprocessor and also it can slowdown the execution time of parallel applications. However the performance of parallel applications is not known before their execution. In this work, we propose to use dynamically measured application efficiency of OpenMP applications to improve the performance of two scheduling policies proposed so far, the equipartition and the equal efficiency. The modified scheduling policies will request parallel applications to achieve a target efficiency to receive more processors. We refer to the modified equipartition and equal efficiency as equip++ and equal eff++. We also propose to use a dynamic multiprogramming level to avoid the under-utilization of the machine introduced by these new scheduling policies when using a static multiprogramming level. We have evaluated this work by executing several workloads in an SGI Origin2000 with 64 processors. Results show that the combination of (target efficiency+dynamic multiprogramming level) achieves, in the worst case, the same performance as the equipartition and the equal efficiency, and in the best case it achieves a speedup of up to 1.3 in individual applications and in specific workloads a speedup of up to 2.5, with respect to the original algorithms.

[1]  Warren Smith,et al.  Using Run-Time Predictions to Estimate Queue Wait Times and Improve Scheduler Performance , 1999, JSSPP.

[2]  Xavier Martorell,et al.  Nano-Threads Library Design, Implementation and Evaluation , 1995 .

[3]  Thu D. Nguyen,et al.  Using Runtime Measured Workload Characteristics in Parallel Processor Scheduling , 1996, JSSPP.

[4]  Thu D. Nguyen,et al.  Parallel Application Characteristics for Multiprocessor Scheduling Policy Design , 1996, JSSPP.

[5]  Mary K. Vernon,et al.  Use of application characteristics and limited preemption for run-to-completion parallel processor scheduling policies , 1994, SIGMETRICS.

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

[7]  Eleftherios D. Polychronopoulos,et al.  A Tool to Schedule Parallel Applications on Multiprocessors: The NANOS CPU MANAGER , 2000, JSSPP.

[8]  Ten-Hwang Lai,et al.  Scheduling Independent Jobs on Hypercubes , 1988, STACS.

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

[10]  Shikharesh Majumdar,et al.  Characterisation of Programs for Scheduling in Multiprogrammed Parallel Systems , 1991, Perform. Evaluation.

[11]  Satish K. Tripathi,et al.  The Processor Working Set and Its Use in Scheduling Multiprocessor Systems , 1991, IEEE Trans. Software Eng..

[12]  Kenneth C. Sevcik Characterizations of parallelism in applications and their use in scheduling , 1989, SIGMETRICS '89.

[13]  Edward D. Lazowska,et al.  Speedup Versus Efficiency in Parallel Systems , 1989, IEEE Trans. Computers.

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

[15]  Julita Corbalan,et al.  Dynamic Speedup Calculation through Self-Analysis , 1999 .

[16]  Shikharesh Majumdar,et al.  Scheduling in multiprogrammed parallel systems , 1988, SIGMETRICS '88.

[17]  Nacho Navarro,et al.  DITools: Application-level Support for Dynamic Extension and Flexible Composition , 2000, USENIX Annual Technical Conference, General Track.

[18]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[19]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[20]  Eduard Ayguadé,et al.  A Library Implementation of the Nano-Threads Programming Model , 1996, Euro-Par, Vol. II.

[21]  Dror G. Feitelson,et al.  Job Scheduling in Multiprogrammed Parallel Systems , 1997 .

[22]  Xavier Martorell,et al.  A Processor Scheduler: the CpuManager , 1999 .