【发布时间】:2016-03-04 21:12:04
【问题描述】:
我有一个在 MIPS 处理器模拟器上运行的 C 程序(graphics benchamrk)(我希望绘制一些性能特征图)。该处理器有 8 个内核,但似乎内核 0 执行的指令数量超过了其公平份额。基准测试是多线程的,工作完全分布在线程之间。为什么即使核心 0 在 8 核处理器上是多线程的,它也会运行大约 1/4 到一半的指令?
发生这种情况的可能原因有哪些?
【问题讨论】:
-
线程优先级是否相同?线程时间片是否相同?线程是否阻塞/休眠?
-
一个可能的原因是“工作 [is] 完全分布在线程之间”的说法是错误的。说真的,这个问题的细节为零。
-
您确定要在创建线程之前考虑程序的串行部分吗?
标签: c multithreading mips multicore computer-architecture