作为来自企业Web开发世界的HPC世界中的某个人,我总是很想知道回到"现实世界"的开发人员如何利用并行计算.现在所有芯片都在进行多核处理,这就更加重要了,当芯片上有数千个内核而不是少数内核时,它会更加相关.
我的问题是:
最后,我将此视为一个多核问题,但随意谈论其他类型的并行计算.如果您正在移植部分应用程序以使用MapReduce,或者如果大型集群上的MPI是您的范例,那么也要明确提及.
更新:如果您回答#5,请提及您是否认为如果有更多内核(100,1000等)可以改变,而不是可以提供可用内存带宽(看看每个内核带宽越来越小) ).您是否仍可以将剩余的核心用于您的应用程序?
这是不可否认的:多核计算机就在这里.
这就是:高效的多核编程非常困难.这不仅仅是了解pthreads的情况.
这是有争议的:"街头开发者"需要关注他/她自己的这些发展.
您在多大程度上担心必须扩展多核技能?您正在编写的软件是并行化的候选者,如果是,您是否正在做任何教育自己的事情(如果您还不知道这些技术)?或者您是否相信操作系统会处理大部分操作系统,语言运行时会做到这一点,您的应用程序将很乐意坐在一个核心上并让其他人做他们的事情?