关于whole core to process,我想知道真正的好处。例如,我有一个多进程Qt C++应用程序,说它有7个进程,包括高度科学的计算和可视化。
该应用程序在最新的Ubuntu和8核CPU(4个真实和4个虚拟)上运行。提示:几乎所有进程都是单线程的。
在这种情况下,将单个进程分配给专用内核是否会带来性能优势?理想情况下,我会将所有进程分配给专用内核,但是我有一个多线程进程并驱动设备。

最佳答案

是的,这是有好处的,但前提是您还必须使其他进程远离专用内核。问题是您是否真的需要它,或者换句话说,您是否觉得适合您的情况?
内核在向内核分配进程方面还不错,但它正在尝试实现负载平衡,并且不了解您的优先级,因此有时您确实需要加倍努力。
这样做的好处是,您的进程将更少遭受缓存未命中和上下文切换的影响。但是,如果您进行许多系统调用(例如IO),则将有上下文切换,而且我不确定您会感觉到很大的不同。
专用内核通常用于时间紧迫的线程,您不想被其他任何线程打断。并且通常仅在shm和/或非内核IO上进行通信。

关于c++ - 为流程分配核心的好处,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31533772/

10-10 22:58