HPlogo Communicator 3000 MPE/iX Release 6.5 (Non-Platform Software Release C.65.00) > Chapter 3 Growth Solution

Dispatcher Multiple Runqueues

MPE documents

Complete PDF
Table of Contents
Index

by Senthil Kumar R
Commercial Systems Division

Introduction


The MPE/iX Operating System is continuously undergoing various enhancements to keep pace with the increasing performance needs of HP 3000 customers. The support for Dispatcher Multiple Runqueues is one such enhancement in MPE/iX Release 6.5 which is aimed at providing improved system performance to customers. Dispatcher is one of the core modules of the MPE/iX OS; it is responsible for allocating CPU time to processes. This article gives a technical overview of the changes to the Dispatcher module to provide improved performance on 10-way and 12-way systems in MPE/iX 6.5.

Technical Overview


Dispatcher maintains the list of ready-to-run processes in the system in a queue called "runqueue". Earlier versions of MPE/iX used a single runqueue to maintain these processes. This was true even in multiprocessor (MP) systems which have more than one processor. So in an MP system all processors have to contend for this single runqueue while picking up processes for execution. When one processor is accessing the runqueue, other processors wanting to access the queue have to wait until the runqueue is free. This serialization causes severe contention in the system and leads to loss of performance, especially in higher-end multiprocessor systems.

To overcome the performance loss due to runqueue contention, MPE/iX 6.5 supports multiple runqueues in Dispatcher. There can be as many runqueues as the number of processors on the system. The ready processes can be enqueued to any of these runqueues. With multiple runqueues available, each processor can pick ready processes for execution independent of other processors. This implies that all processors can now select in parallel ready processes for execution instead of doing it serially as in the case of a single runqueue. The processors do not waste time waiting on the runqueue and can do more useful work. This results in improved system throughput and performance.

Benefits to Customers


The support for multiple runqueues in Dispatcher brings many advantages for MPE/iX customers. With this feature, the scalability of MPE/iX has been considerably increased. This means that the increase in system performance with the addition of more processors is much more than what it was earlier. This is a key aspect to enable customers to upgrade their HP 3000 systems with a larger number of processors to fulfill their performance needs. Also the system response time for users is expected to be better since process scheduling will be faster now.

In addition to supporting multiple runqueues, there have been other changes in the Dispatcher module to make it more efficient for execution in multiprocessor environment. This has been done by carefully rearchitecting various synchronization mechanisms in the implementation to cut down overheads and focus on delivering faster response time.

Conclusion


In summary, the support of multiple runqueues in MPE/iX 6.5 boosts the performance of the HP 3000 to a great extent and makes it more scalable with respect to number of processors used. It has been enabled for 997 systems with 10 or 12 processors on Release 6.5 The users can also experience better response time from the system.




Increase in Number of TCP Connections


Increased System Limits - An Overview