高性能计算学习总结

1. 基本概念

高性能计算基于并行技术,是使用多处理机或者计算机集群进行大规模计算的计算系统和环境。

2. 并行计算

并行方案分类

流水线技术与并行计算技术是提高计算效率的手段。并行计算从物理结构和存储结构上可以分为如下几种:

物理架构

存储结构

图示

SMP 对称处理器

UMA-单地址共享存储空间,物理上单一地址空间。

DSM-分布式存储多处理机系统

NUMA-物理上独立存储,逻辑上统一地址空间。不对称共享存储:处理机对自己的存储于对其他共享存储的操作不对称

MPP-大规模并行计算处理机系统

NUMA

物理上与逻辑上均多地址空间,每个处理机进程间有消息传递机制

Cluster-集群,每个节点都是一台完整的计算机

NORMA-多地址空间非共享存储,松耦合

也可以采用共享磁盘的方式完成集群。

                      不共享磁盘

                        共享磁盘

另有一种CC-NUMA存储结构,每个计算节点为一个SMP系统:

Cache一致性问题

为了性能考虑,共享主存的多处理机系统中都会有一级或者两极cacheCache的回写方案与写直达方案都会引起cache的不一致性。

解决思路有以下几种:

(1)软件方法:在编译器与操作系统上完成可能造成cache不一致的数据的判决并作出不允许共享数据等对策,软件方案过于保守,会影响系统性能

(2)硬件方法:目录协议与监听协议。目录协议将cache一致性归咎于存有目录的中央控制器,可能产生中央瓶颈问题,各处理机与中央处理机的通信负载可能会导致性能下降。监听协议采用写-无效与写-广播机制,将一致性的维护任务分不到每个处理机中。

(3)MESI协议:cache中的每行数据有四种状态的标记位:修改态、专有态、共享态、无效态。修改态:本行数据与主存中不一致并只能在这个cache中使用。专有态:此行与主存一致但只出现在这个cache中;共享态:此行同于主存并可以出现在其余cache中;无效态:此行cache不含有有效数据。MESI协议定义了四种状态的转化与数据操作,并可推广到两极cache的情况。

机群

机群分类

分类

集群化方法

说明

优点

缺点

被动式备用

一台服务器工作时另一台不工作,仅当主服务器故障、无心跳消息时时辅助服务器接替

易实现

高成本

主动式辅助

单独的服务器

数据源源不断从主服务器拷贝至辅服务器,故障时辅服务器接管

高可用性

复制操作增加网络开销

无共享

各个服务器连接到统一磁盘服务器,磁盘服务器的磁盘分卷给每个服务器,故障时磁盘服务器重新分配使故障服务器的磁盘被其余服务器接管

减少复制带来的网络开销

磁盘映像技术与raid技术必须补偿磁盘时效的危险

共享磁盘的服务器

所有服务器共享磁盘

除磁盘映像技术与raid技术外还必须有磁盘锁定管理软件,保证数据访问不冲突

机群系统操作系统必须有如下功能

(1)故障管理

(2)负载平衡

(3)并行化计算:通常有三种方案:

     (a)并行化编译:编译时确定可并行部分

     (b)并行化应用:编程的时候使用并行模型并用消息函数在各服务期间传递消息

     (c)参量计算

3. 为何选择集群/机群作HPC

加速比是对并行收益的度量。有如下定理:

(1)Amadahl定理:固定规模的并行系统有加速比上线

(2)Gustafson定理:可扩展的系统中,加速比正比于处理机数量。

由此可见,系统的可扩展性决定了性能。机群系统有如下优势:

(1)绝对可扩展性:大集群性能优于任何独立计算机

(2)增量可扩展性:机群系统之间松耦合,只需要通过小增量的方式将新节点加入原有网络,无需重新建设大系统来替代原来的消息体。

(3)高可用性:因为每个节点都是独立计算机,采用raid高冗余

(4)在软件层完成容错处理,一个节点的故障不影响整个系统的运行。

(5)性价比高。

4. 集群体系结构

以共享磁盘的服务器为例:

机群中间件为使用者提供单一系统映像,要求是:

(1)单一入口点:使用者登录到机群而不是单一工作站

(2)单一文件层次:用户看到的机群文件系统是单一的

(3)单一控制点:一个管理节点

(4)单一虚拟网络:任意节点都能存取任意其他节点,不存在不可道情况

(5)单一存储空间:允许程序共享变量

(6)单一作业管理系统

(7)单一I/O空间

(8)单一进程空间:任何节点上的进程都能在远程计算机上生成进程并与之通信,就好像只有一台计算机

(9)有检查点:出错后可以回滚状态

(10)进程迁移:为了负载均衡

5. 一个具体的HPC集群解决方案

逻辑结构:

其中集群系统软件部署在管理节点上,系统层操作系统、编译器部署在每个计算节点上。并行运行环境MPI部署在每个节点上。

本方案中包括三个网络:

(1)Infiniband高速计算网,一种新的总线形式,摆脱了传统的总线分时共享形式,采用switch形式,高带宽、低延迟,用于并行计算中的消息传递

(2)千兆管理网:用交换机与以太网相连,用于基于TCP/IP协议的数据传输、节点操作系统的部署等管理操作。

(3)监控网:用于监控所有服务器的运行状态。

本方案中每个计算节点为采用刀片服务器,一个刀片相当于一个独立server,节省空间并减少布线,即插即用,可拓展性强,低成本。

网络拓扑:

MPI消息传递接口:

是一种SPMD(单程序多数据)方案,原理如下:

你可能感兴趣的:(高性能计算学习总结)