Measuring Multiprocessor System Activity |
The increased processing power and throughput on SMP systems can cause other system resources such as memory, the system bus, disks, and network to have a heavier load. For example, arbitration among shared resources increases memory latency. This is because code running on SMP systems needs to lock shared data to ensure data integrity, and locking shared data might result in contention for shared data structures. Further, the synchronization mechanisms used to lock shared data structures can increase the processor code path. As a result, when the number of processors on a system is scaled up, it is generally necessary to increase other resources on the system, such as memory, disks, and network components, as described in the following.
Processors. A large processor cache delivers the best performance. In multiprocessor configurations, the cache can reduce memory latency on the shared system bus thereby reducing resource contention and access.
Memory. It is recommended that your SMP system have more than 64 MB of memory because it is likely that it carries a heavier workload than a single-processor system, and runs more processes and threads. In general, it is recommended to scale memory with processors. For example, if a single-processor system requires 64 MB of memory and a second processor is added to increase the throughput, double the memory to 128 MB. Although multiprocessor systems do require additional memory because of their per-processor data structures, the additional memory required is minimal compared to the typical demand of the working sets for the additional processes and threads running in a multiprocessing environment.
Disk and network components. When adding processors to the system it is generally necessary to increase the disk and network capacity of the system.
For information about the adequacy of resources in your configuration, see the earlier chapters under the "Performance Monitoring" section of this book.