【问题标题】:Linux Scheduler on NUMA and SMPNUMA 和 SMP 上的 Linux 调度程序
【发布时间】:2013-02-11 11:17:58
【问题描述】:

我想知道 schedule() 函数的副本是否在每个处理器上运行,或者它只是为每个处理器运行一个 schedule()。

如果在每个处理器/内核上运行 schedule() 的副本,进程如何分派到特定的 CPU/cpu 运行队列。它是负载均衡器的工作吗?是只为所有 CPU 运行一个负载均衡器,还是使用标志/通信方法以分布式方式完成?

ps- 我知道调度类等的工作,但我很难弄清楚各种运行队列之间的进程分布。

【问题讨论】:

    标签: linux-kernel load-balancing scheduler numa smp


    【解决方案1】:

    进程如何分派到特定的 CPU/cpu 运行队列。是负载均衡器的工作吗?

    是的。在多处理器系统中,负载均衡器会定期检查 CPU 负载是否不均衡;如果是,则处理器执行跨 CPU 的任务平衡。

    是否只有一个负载均衡器为所有 CPU 运行,还是使用标志/通信方法以分布式方式完成?

    是的。在 SMP 调度中,只有一个 schedule() 和一个负载均衡来管理多个内核之间的多任务处理。

    参考:Inside the Linux scheduler

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多