High Performance Cluster Computing: Architectures and Systems
High Performance Cluster Computing: Architectures and Systems
MPI: The Complete Reference
Scalable Parallel Computing: Technology,Architecture,Programming
Scalable Parallel Computing: Technology,Architecture,Programming
Performance Analysys of a CC-NUMAOperating System
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Cluster Queue Structure for Shared-Memory Multiprocessor Systems
The Journal of Supercomputing
Macroscopic model of agent-based load balancing on grids
AAMAS '03 Proceedings of the second international joint conference on Autonomous agents and multiagent systems
A Group-Based Load Balance Scheme for Software Distributed Shared Memory Systems
The Journal of Supercomputing
Algorithmic mechanism design for load balancing in distributed systems
IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics
Fuzzy expert system for load balancing in symmetric multiprocessor systems
Expert Systems with Applications: An International Journal
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Hi-index | 0.00 |
This paper describes an algorithm that allows Linux to perform multilevel load balancing in NUMA computers. The Linux scheduler implements a load balancing algorithm that uses structures called sched domains to build a hierarchy that represents the machine's topology. Although sched domains implementation allows Linux to build a multilevel hierarchy to represent multilevel machines, the generic code of the current kernel version builds no more than two levels in the sched domains hierarchy. Thus, for NUMA systems with three or more memory access levels, the constructed hierarchy does not represent correctly the machine's topology. When Linux load balancing algorithm uses an incorrect sched domains hierarchy, process execution time can increase, because processes can be moved to nodes that are distant from their memory areas. In order to solve this problem, we have implemented an algorithm to build multilevel sched domains hierarchies for NUMA computers. Our proposed algorithm uses ACPI SLIT table data to recognize how many memory access levels a machine contains. Then, it builds an n-level sched domains hierarchy, where n is the number of memory access levels. Through benchmarking and simulation results we demonstrate that the Linux load balancing performance when the sched domains hierarchy is built using our proposed algorithm is better than using the current Linux algorithm.