Reducing Run Queue Contention in Shared Memory Multiprocessors

The performance of parallel processing systems, especially large systems, is sensitive to various types of overhead and contention. Performance consequences may be serious when contention occurs for hardware resources such as memory or the interconnection network. Contention can also occur for software resources such as critical data structures maintained by either system or application software. A run queue is one such critical data structure that can affect overall system performance. There are two basic types of run queues, centralized and distributed. Both present performance problems. There are also several techniques to mitigate their drawbacks, but none is completely satisfactory. Instead, the author proposes a different run queue organization, a hierarchical organization that inherits the best features of the centralized and the distributed queue organizations while avoiding their pitfalls. Thus, the hierarchical organization is suitable for building large-scale multiprocessor systems.

[1]  Sivarama P. Dandamudi,et al.  Scheduling in parallel systems with a hierarchical organization of tasks , 1992, ICS '92.

[2]  Larry Rudolph,et al.  Distributed hierarchical control for parallel processing , 1990, Computer.

[3]  Lionel M. Ni,et al.  Design Tradeoffs for Process Scheduling in Shared Memory Multiprocessor Systems , 1989, IEEE Trans. Software Eng..

[4]  Sivarama P. Dandamudi A comparison of task scheduling strategies for multiprocessor systems , 1991, Proceedings of the Third IEEE Symposium on Parallel and Distributed Processing.

[5]  Mark S. Squillante,et al.  Analysis of Contention in Multiprocessor Scheduling , 1990, Performance.

[6]  Sivarama P. Dandamudi,et al.  Performance impact of run queue organization and synchronization on large-scale NUMA multiprocessor systems , 1997, J. Syst. Archit..

[7]  Henry M. Levy,et al.  The Performance Implications of Thread Management Alternatives for Shared-Memory Multiprocessors , 1989, IEEE Trans. Computers.

[8]  Per Stenström,et al.  Reducing Contention in Sharde-Memory Multiprocessors , 1988, Computer.

[9]  Sivarama P. Dandamudi,et al.  A Hierarchical Task Queue Organization for Shared-Memory Multiprocessor Systems , 1995, IEEE Trans. Parallel Distributed Syst..

[10]  Sivarama P. Dandamudi,et al.  A hierarchical processor scheduling policy for multiprocessor systems , 1996, Proceedings of SPDP '96: 8th IEEE Symposium on Parallel and Distributed Processing.

[11]  Tim Brecht,et al.  Processor-pool-based scheduling for large-scale NUMA multiprocessors , 1991, SIGMETRICS '91.

[12]  Mukesh Singhal,et al.  Load distributing for locally distributed systems , 1992, Computer.