从微观指令集并行(ILP),在一个cpu的流水线里并行执行多条指令;
在较高一层有multicore结构,片上集成多个cpu核心,以达到线程级并行;
再高一层有mutli processor结构,板上多个cpu协同工作,达到线程(进程)并行;
然后是通过网络的并行计算,包括cluster,distribute,grid,这些利用网络
将各处的计算机并行起来工作。
从低到高,每级并行独立的资源越多,指令级并行cpu可能只有某些运算部件
是独有的,例如有2个alu,每条指令独占一个;而多核结构中寄存器,cache等
是每个核心独有的;多处理器结构中甚至每个处理器可以有独自的memory(也有
共享memory的结构);而grid,cluster等基本是通过网络并行,每个节点
就是一台独立的机器。
并行是利用空间冗余性来提高吞吐量。