1.为什么需要并行计算?
因为贯穿整个计算机技术发展的核心目标是提高计算机性能。而现在单核处理器的性能提升已经接近极限,那么向多核并行计算发展成为必然趋势。同时,并行计算也是解决应用领域超大的计算量和计算复杂度的解决方案。
2.并行计算按照系统类型划分,可以分为哪几种?简述每一种系统类型的特点。
可分为五种。
多核/众核并行计算系统MC或芯片级多处理CMP:指一块芯片上具有多个处理器核心,能够同时运行多个线程。耦合度紧密,可扩展性低,能耗低。
对称多处理系统SMP:多个相同类型处理器通过总线连接并共享储存器。
大规模并行处理MPP:专用内联网连接一组处理器形成的一个计算系统。
集群Cluster:网路连接的一组商品计算机构成的计算系统。
网格Grid:用网络连接远距离分布的一组已购计算机构成的计算系统。耦合度松散,可扩展性高,能耗高。
3.并行计算按照并行程序设计方法分类,可以分为哪几种?简述每一种方法的特点。
可分为三种。
共享内存变量:多线程共享储存器变量方式进行并行程序设计,会引起数据不一致性,导致数据和资源访问冲突,需要引入同步控制机制。Pthread,OpenMP提供共享内存式多处理并行编程接口。
消息传递方式:对于分布式内存结构,为了分发数据和收集计算结果,需要在各个计算结点间进行数据通信,最常用的是消息。MPI提供消息传递并行编程接口标椎。
MapReduce方式:Google公司提出的MApReduce并行程序设计模型,是当时最容易使用的并行程序设计方法,广泛使用于搜索引擎等大规模数据并行处理。
4.MPI提供哪几种通信方式/接口?
提供点对点通信
提供节点集合通信
提供用户自定义的符合数据类型传输
5.尝试在单机上安装并运行MPICH,并运行讲义P65页的简单示例。(运行结果截图)