并行计算机硬件基础

现在一个芯片上可以构造多指令的执行引擎,俗称核。

cache一般分三级,L1、L2、L3,L1离CPU最近,容量最小。Intel Core Duo处理器中,每个处理器各有一个32KB的私有1级指令cache和数据cache,它们共享一个2M的2级cache。

cache一致性保证仅在处理器单独使用cache行的情况下,处理器才可以写入私有的高速缓存行单元----这样多处理器就引入了额外的开销。其次,当两个处理器处理同一问题时,它们对处理器带宽的要求是单个处理器需求的两倍,这意味着要把CPU的周长做长,以接入更多的I/O引脚,主要的节省来自于共享指令。

AMD的Dual Core Operation芯片每个处理器甚至拥有自己的二级cache,它构成一个对称多处理器(SMP)的全局体系结构。 

对称多处理器(SMP,Symmetric multiprocessor)是一种所有处理器访问单一逻辑存储器的并行计算机,有时存储器的一部分在物理上邻近每一个处理器。处理器通过总线接入到存储器上,且每个处理器都能在总线上监听存储器上的访问活动。我们用P1、P2表示两个处理器。当P1从存储器上讲求数据块X时,P2能监听到这一行为,P2发现自己已经缓存X,因此把X标记为“共享”;当P1对块X发出“写请求”时,P2使自己的X副本无效,以保证P1在对X进行更新时没有其他处理器能使用X。可见,总线的串行使用成为SMP的瓶颈,它限制了可以连接的处理器数目(通常少于20个)。

机群是由商品部件构成的并行计算机,因此具有很高的性价比。组成机群的节点是一些板,每个板上包含几个处理器、一个RAM、几个磁盘。节点之间的互连方式有:千兆以太网、Quadrics、光纤通信等。可见机群的存储器不为各处理器共享,处理器只访问自己板上的存储器,要与其他处理器通信时需要借助于消息传递机制

刀片服务器机群。一个刀片上包含几个处理器芯片、RAM、磁盘、若干通信口、几个冷却风扇。

超级计算机具有很多体系结构,机群是其中一种。IBM的BlueGene/L(蓝色基因)曾跃居世界超级计算机Top500排行榜首位。

直通路由技术,数据不需要在每一个节点处停留。

用线程进行程序设计被称为基于线程的并行程序设计或共享存储器并行程序设计

用进程进行程序设计被称为消息传递的并行程序设计或非共享存储器并行程序设计

GPU有大约10倍的浮点CPU能力,以及大约10倍的存储器带宽,并且其性能的改进速率比通用微处理器改进速率快,大约每6个月其性能就改进1倍,GPU的可编程性在不断增张。

MapReduce是一个使用标准化插入式的构架对庞大数据档案进行搜索的工具。Google使用MapReduce替代它构建索引的自主软件,来完成诸如计算PageRank的操作。

posted @ 2012-01-03 19:05  高性能golang  阅读(368)  评论(0编辑  收藏  举报