为特定线程分配一个完整的CPU,以最大化性能并避免上下文切换



我有一个任务不可并行,我想尽快处理。此任务执行纯计算,无I/o。

当然,这个任务在多核系统上运行,许多其他进程同时做同样需要CPU使用的"事情"。

今天,我的任务被尽可能地优化了(让我们说它是完美的:-P),我的想法是再次提升它,为它的线程分配一个完整的CPU。

在这种情况下,没有其他线程会与它共享CPU,因此,没有上下文切换会中断我的任务;这样做应该能让它再一次不费吹灰之力地加快速度。(当然,这样做会损害其他进程,但这根本不是问题:最高优先级是给我的任务!)

但是我怎样才能做我想做的呢?我知道如何设置我的任务线程的亲和性,以便将其分配给给定的CPU,但这个CPU可能会与其他线程共享;我的问题没有解决

谢谢你的帮助

在调查这个问题的过程中,我终于发现了以下有趣的链接:

  • 男士套装(法语)
  • 内核参数
  • 为进程分配单个核心
  • Cpuset Management Utility/tutorial
  • 我的进程独占一个核心

最新更新