【发布时间】:2010-09-26 16:10:47
【问题描述】:
作为来自企业 Web 开发领域的 HPC 世界中的某个人,我总是很想知道“现实世界”中的开发人员如何利用并行计算。现在这比all chips are going multicore 更相关,当芯片上有数千个内核而不是几个内核时,它会更加相关。
我的问题是:
- 这对您的软件路线图有何影响?
- 我对有关多核如何影响不同软件领域的真实故事特别感兴趣,因此请在回答中说明您所做的开发类型(例如服务器端、客户端应用程序、科学计算等)。
- 您如何处理现有代码以利用多核计算机,您面临哪些挑战?您使用的是OpenMP、Erlang、Haskell、CUDA、TBB、UPC 还是别的什么?
- 随着并发级别的不断提高,您打算做什么?您将如何处理成百上千个内核?
- 如果您的领域不容易从并行计算中受益,那么解释为什么也很有趣。
最后,我将这个问题描述为一个多核问题,但请随意讨论其他类型的并行计算。如果您要移植应用程序的一部分以使用 MapReduce,或者如果大型集群上的 MPI 是您的范例,那么也一定要提到这一点。
更新:如果您确实回答了第 5 个问题,请提及您是否认为如果内核数(100、1000 等)超过可用内存带宽所能提供的数量(参见就像每个核心的带宽越来越小)。您还能将剩余的内核用于您的应用程序吗?
【问题讨论】:
标签: concurrency scalability parallel-processing multicore