Performance-driven processor allocation

In current multiprogrammed multiprocessor systems, to take into account the performance of parallel applications is critical to decide an efficient processor allocation. In this paper, we present the performance-driven processor allocation policy (PDPA). PDPA is a new scheduling policy that implements a processor allocation policy and a multiprogramming-level policy, in a coordinated way, based on the measured application performance. With regard to the processor allocation, PDPA is a dynamic policy that allocates to applications the maximum number of processors to reach a given target efficiency. With regard to the multiprogramming level, PDPA allows the execution of a new application when free processors are available and the allocation of all the running applications is stable, or if some applications show bad performance. Results demonstrate that PDPA automatically adjusts the processor allocation of parallel applications to reach the specified target efficiency, and that it adjusts the multiprogramming level to the workload characteristics. PDPA is able to adjust the processor allocation and the multiprogramming level without human intervention, which is a desirable property for self-configurable systems, resulting in a better individual application response time.

[1]  Kenneth C. Sevcik,et al.  Benefits of Speedup Knowledge in Memory-Constrained Multiprocessor Scheduling , 1996, Perform. Evaluation.

[2]  Evangelos P. Markatos,et al.  First-class user-level threads , 1991, SOSP '91.

[3]  Babak Hamidzadeh,et al.  Self-Adjusting Scheduling: An On-Line Optimization Technique for Locality Management and Load Balancing , 1994, 1994 Internatonal Conference on Parallel Processing Vol. 2.

[4]  Shikharesh Majumdar,et al.  Scheduling in multiprogrammed parallel systems , 1988, SIGMETRICS 1988.

[5]  Michael Voss,et al.  Reducing parallel overheads through dynamic serialization , 1999, Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999.

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

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

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

[9]  Tim Brecht,et al.  Using Parallel Program Characteristics in Dynamic Processor Allocation Policies , 1996, Perform. Evaluation.

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

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

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

[13]  Xavier Martorell Bofill,et al.  Dynamic Scheduling of Parallel Applications on Shared-Memory Multiprocessors , 1999 .

[14]  DAVID P. HELMBOLD,et al.  Modeling Speedup (n) Greater than n , 1990, IEEE Trans. Parallel Distributed Syst..

[15]  Dror G. Feitelson,et al.  Job Characteristics of a Production Parallel Scientivic Workload on the NASA Ames iPSC/860 , 1995, JSSPP.

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

[17]  D. Lenoski,et al.  The SGI Origin: A ccnuma Highly Scalable Server , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

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

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

[20]  Boris Weissman,et al.  Performance counters and state sharing annotations: a unified approach to thread locality , 1998, ASPLOS VIII.

[21]  Bettina Schnor Dynamic Scheduling of Parallel Applications , 1995, PaCT.

[22]  Kenneth C. Yeager The Mips R10000 superscalar microprocessor , 1996, IEEE Micro.

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

[24]  Jesús Labarta,et al.  DiP: A Parallel Program Development Environment , 1996, Euro-Par, Vol. II.

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

[26]  Jesús Labarta,et al.  A dynamic periodicity detector: application to speedup computation , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[27]  Jon B. Weissman,et al.  Integrated scheduling: the best of both worlds , 2003, J. Parallel Distributed Comput..

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

[29]  Kenneth C. Sevcik,et al.  Application Scheduling and Processor Allocation in Multiprogrammed Parallel Processing Systems , 1994, Perform. Evaluation.

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

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

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

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

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

[35]  Eleftherios D. Polychronopoulos,et al.  Kernel-level scheduling for the nano-threads programming model , 1998, ICS '98.