Load Balancing(二)
引述:《Operating System Multilevel Load Balancing》
The machine shown in Figure(a) is a NUMA computer with 16 nodes, 64 processors and three memory access levels:
(i) memory latency inside the node;
(ii) memory latency among nodes on the same crossbar;
(iii) memory latency among nodes on different crossbars.
f(a)
ACPI (Advanced Configuration and Power Interface) is an interface specification that provides information about hardware configuration and allows operating systems to perform power management for devices. All ACPI data are hierarchically organized in description tables built by the computer firmware.
One of these tables, called System Locality Information Table (SLIT), describes the relative distance (memory latency) among localities or proximity domains. Specifically in case of NUMA computers, each node is a locality. Thus, the distance between nodes is available in the ACPI SLIT table.
Build an n-level hierarchy for a machine with n memory access levels, based on node distances provided by the ACPI SLIT table.
In f(a), there're three memory access levels. How to build the sched domains hierarchy?
For each node N:
(a) Choose a processor P in node N.
(b) For each SLIT table distance d from node N to all other nodes (in increasing order):
i. Create a new sched domain for processor P.
If this is not the first domain of this processor, it is the parent of the last created domain.
ii. Create a list of CPU groups for the sched domain built in the previous step.
If d = 10 (distance from node N to itself), this list will have one CPU group for each processor in node N. Otherwise, the list must be composed by one CPU group for each node that has the distance to node N less than or equal to d.
(c) Replicate the sched domains hierarchy created for processor P to all other processors in node N.
====>
浙公网安备 33010602011771号