Load Balancing(一)

参考:《Operating System Multilevel Load Balancing》

Up to kernel version 2.4, the Linux process scheduler had a single shared process queue. When a processor was idle, it received a process from this queue. Although this approach results in a natural load balancing, it is not scalable:
  as the number of processors increases, the process queue becomes a bottleneck.
The current Linux scheduler has one process queue for each processor in the system, solving this scalability problem. However, due to the multiple process queues, Linux had to implement a load balancing algorithm.

The memory area of a process is allocated in the same node of the processor in which this process was created. Thus, Linux migrates tasks among processors in the same node, keeping the processes closer to their memory areas. If after this intra-node migration there is still an imbalance, processes will be moved from distant nodes.

posted on 2014-11-29 21:21  阿加  阅读(174)  评论(0)    收藏  举报

导航