超线程和CPU绑定进程

时间:2013-10-27 15:58:10

标签: multithreading hyperthreading

所以我正在运行一个在我的i7笔记本电脑上没有并行化的cpu密集型任务。

KSysGuard报告说我使用了12.5%的可用CPU。

如果我禁用超线程,我可能会获得有意义的性能提升?它需要刷新一个新的BIOS,所以在我过分参与这个想法之前我想要一个意见......

谢谢,

N

2 个答案:

答案 0 :(得分:5)

您的任务是使用所有单核,而不是12.5%。 12.5%是1/8 - 你的超线程四核处理器拥有的八个硬件线程之一。如果禁用超线程,则只有四个硬件线程,因此您的工具将报告25%的使用率 - 但您的任务将无法完成任务。

如果您想使用更多处理器,请尝试并行化工作。

答案 1 :(得分:0)

我认为超线程的工作原理是,当运行单个线程时,核心管道中的可用阶段平均只有一半在使用。 HT尝试“交织”两个线程以提高CPU利用率。

这意味着两个线程中的每个线程都可以运行得慢,因为它们必须彼此等待,同时提高了给定内核的总吞吐量。但是,如果你在负载下运行,我会说“花生画廊”不太可能安排在繁忙的核心而不是没有做任何事情的核心

(当然,这是现代CISC的表现,很难根据理论分析说出任何确定性。)