Loading…
Improving software MP efficiency for shared memory systems
For commercial workloads (such as transaction processing, complex queries, etc.), a significant percentage of the processor cycles are spent executing operating system code. Software multiprocessing (MP) efficiency for such workloads on a shared memory system decreases rapidly with an increase in th...
Saved in:
Main Authors: | , |
---|---|
Format: | Conference Proceeding |
Language: | English |
Subjects: | |
Online Access: | Request full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | For commercial workloads (such as transaction processing, complex queries, etc.), a significant percentage of the processor cycles are spent executing operating system code. Software multiprocessing (MP) efficiency for such workloads on a shared memory system decreases rapidly with an increase in the number of processors in the system due to so-called "large system effects", such as lock contention, increased length of the data structures, increased multiprogramming level, increased dispatching rate, etc. The largest performance degradation in these environments is due to lock contention. As the number of processors in the system increases, the throughput loss due to lock contention rises dramatically. In designing a multiprocessor operating system or a parallel application with shared data structures, the design of the critical sections and the locks that serialize access to them are extremely important. Operating systems or application code are often instrumented to monitor the lock usage patterns in a system. Once feedback is rendered, it is used to further tune the system. We present a simple analysis to obtain the lock usage characteristics of a large shared memory system from the measurements done on lock usage on uniprocessor or small shared memory systems. The analysis is supported by extensive simulation of the environment. We provide a framework to gain insight on how to restructure critical sections and what throughput gain can be expected from such restructuring. This approach can also be applied to project the throughput of a larger shared memory system that runs the same software. |
---|---|
DOI: | 10.1109/HICSS.1996.495454 |