现在做高性能计算,最先选择了SMP架构。SMP最大的优点是便宜,但其缺点也是非常突出的,几个CPU共用一条总线,内存访问的瓶颈太大了。
以Intel的CPU为例,访问Cache只几个时钟周期,访问Memory却要几百个时钟周期。象解线性方程组,一个数组几百万、几千万个、甚至上亿个节点,Cache根本容不下,实际CPU时间都耗在访问Memory上了。
所以,我现在想放弃OpenMP,而倾向MPI了。
NUMA架构是Non-Uniform Memory Access的缩写,其原理如下:
多台机器用MPI的话,通信的代价太大。NUMA是用硬件实现的DSM连接多个CPU小组,这样通信的代价就降下来了。
至少是看上去很美的架构。
Intel在2007年已经推出支持NUMA的CPU了,只是不知道什么时候NUMA架构的服务器可以降到白菜价啊。
MPI是shared memory地OpenMP据光头告诉我反而是distributed memory地
光头反了
兄弟,猪都能想明白MPI是istributed memory。你丫从我这听错了,你大爷的。
md,你丫不认账!