多核与操作系统

3

如果操作系统要充分利用多核系统,需要进行哪些更改?我之所以问这个问题,是因为我正在研究并行算法和调度器。例如,调度器可能会妨碍我进行更多基于理论的工作。还有其他问题吗?谢谢。


我怀疑整个缓存/内存同步问题可能会很有趣。(超出正常的中断处理水平。) - user166390
@pst:谢谢。是的,但我可以对罚款/错过率和层次结构进行建模,而不仅仅是调度程序(我的死敌)...调度程序可能会选择在一个芯片上运行所有内容(当其他芯片处于空闲状态时),以及其他一些看起来很有意义但使得我的许多算法几乎成为非确定性成本的疯狂事情... - Dervin Thunk
2个回答

1
除了充分利用SMP所需的操作外,了解层次结构和相对成本也是非常方便的。可以参考这篇LWN关于调度域的文章来获取更多相关知识。

1
线程迁移、负载均衡、线程的核亲和力。如果“充分利用”意味着最佳使用,那么特别是负载均衡可能会使其变得几乎不可能。 如果“充分利用”有一些余地,那么一些简单的启发式算法可能会大有作为。 任何“非均匀访问”的资源(例如,如果一个特定的核心处理网络接口的所有中断)都会给负载平衡决策增加复杂性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接