runqueue balance in multiprocessor system
来源:互联网 发布:s90pos机怎样设置网络 编辑:程序博客网 时间:2024/06/05 17:45
为了使得进程能够平均地分配到多个cpu之间,linux使用scheduling domain的概念来管理多个cpu,内核保证一个scheduling domain内,负载是均衡的。
具体来说,在每个时钟tick的处理函数中会调用rebalance_tick(),这个函数会根据当前处理器的使用情况,比如是否处于空闲或忙碌状态来决定是否要调用load_balance()(当当前cpu的runqueue是空
时,该函数调用较为频繁)
而load_balance()则首先找到domain里busiest cpu,然后将其runqueue里的进程迁移到当前cpu上来。如果失败了,则寻找到domain里一个最空闲的cpu,将找到的busiest cpu里的任务迁移到那个
最空闲的cpu的队列里去,从而完成负载的均衡。
2009/02/02 一
- runqueue balance in multiprocessor system
- Intel Multiprocessor System Architecture
- A survey of task allocation and load balance in distributed system阅读笔记
- Ledger Balance Data in DAX
- balance parentheses in a string
- System.in
- system.in
- System.in
- libubox - uloop runqueue ustream
- new balance 574In various strategies
- Balance
- balance
- Balance
- System.in与System.out
- The Linux CPU scheduler & runqueue
- libubox [4] - uloop runqueue ustream
- DEFINE_PER_CPU(struct runqueue, runqueues)宏
- How to adjust white-balance in BumbleBee 2
- linux进程调度策略
- 安装Oracle时出现加载areaqueries数据库失败的错误的解决办法
- scheduling class
- Win Server2003安装VS 2005sp1出现的常见两个错误及解决办法
- Flash AS3学习之路—鼠标事件
- runqueue balance in multiprocessor system
- 模板方法设计模式
- 用流的方式向客户端输出文件
- sched_yield函数
- memory zone
- reserved page frame
- kernel mappings of high-memory page frames
- buddy system
- slab allocator