测量多线程应用程序的缩放行为

时间:2012-04-01 17:37:53

标签: multithreading performance optimization scaling measurement

我正在开发一个支持多核MIMD架构的应用程序(在消费者/台式计算机上)。我目前担心应用程序的扩展行为。它旨在大规模并行并解决下一代硬件问题。这实际上是我的问题。有没有人知道任何软件模拟/模拟多核MIMD处理器在机器代码级别上有> 16个内核?我已经实现了一个基于软件的线程sheduler,能够通过简单的计时技术模拟多个处理器。 我很好奇是否有任何软件可以在较低级别上进行此类模拟,最好是在汇编语言级别上以获得更好的结果。我想再次强调一点,我只对MIMD架构感兴趣。我知道OpenCL / CUDA / GPGPU,但那不是我想要的。

感谢任何帮助,并提前感谢任何答案。

2 个答案:

答案 0 :(得分:0)

您很少能找到能够针对非常狭窄(高性能)角落的通用测试工具 - 原因很简单:“通用”对象的开销将首先打败这个目标

对于地方性和日程安排产生巨大影响的参与派来说尤其如此。

所有这些都表示我很害怕您必须编写自己的测试工具来定位您的确切使用模式。

这是支付相关性的代价。

答案 1 :(得分:-1)

如果您使用C / C ++编写应用程序,我可以帮助您。

My company创建了一个工具,它将采用任何C或C ++代码并在字节码级别模拟其运行时行为,以查找并行化机会。该工具突出了并行化机会,并展示了并行任务的行为方式。 唯一不匹配的是,我们的工具还将提供重构配方以实际实现并行化,而听起来你已经拥有了。