摘 要: 采用Intel Xeon LV处理器,利用先进的EDA工具和仿真软件进行高速串行总线的合理布局布线,实现了一种支持多主并行处理的加固计算机。根据应用,构建了基于高速互连网络的计算机硬件系统,结合成熟的商用并行软件,对计算机系统并行能力进行了测试;针对抗恶劣环境应用,特别是热设计,通过热分析、建模仿真(Icepak)等手段,实现计算机系统的环境设计。
关键词: 并行; 加固; 高速串行; 热分析
随着国防装备信息化的发展,对计算性能的要求也越来越高,要求计算机具备强数据处理能力、数据计算能力、数据存储能力等,采用分布式多主并行处理等高性能工作方式进行全方位大量的信息处理。高性能则要求计算单元性能高、互连总线带宽高、具备管理监控功能和合理的计算机处理软件体系结构[1]。由此带来了高密度、高功耗的电气和结构设计,对尺寸、重量、高温、低温、振动、冲击、电磁兼容性等有特殊要求的应用场合及对电气和结构抗恶劣环境设计均提出了更高的要求。但目前很多国内抗恶劣环境高性能计算机系统都是由采购产品之后的二次加固形成,其实用性、可靠性和适应性较差。本文从硬软件设计、抗恶劣环境设计等方面介绍了高性能抗恶劣计算机的设计和实现,以及对此计算机进行并行计算能力测试结果。
1 硬件设计
多主并行处理加固计算机由控制和计算模块、直通网络模块、交换网络模块、冗余管理模块、冗余电源、风扇以及机箱、底板等组成。控制和计算模块之间通过背板的千兆以太网互连进行数据交换,管理模块符合智能型平台管理接口IPMI规范1.5版本及以上版本,进行机箱内硬件管理,且具备冗余的管理模块;管理模块同时实现计算刀片的KVM切换功能,方便现场工作人员的操作,用1套键盘、鼠标、显示实现对几个控制和计算模块的人机接口管理。同时多主并行处理加固计算机还具备冗余的电源、风扇等。在实际工作中,通过直通网络模块、交换网络模块允许进行各种互联配置。以并行计算为例,允许采用2套网络实现双网分离、专网专用,如计算网络、数据网络和计算控制网络分离,实现专网专用,提高了整体性能,达到了备份高可用的目的。
1.1 控制和计算模块设计
控制和计算模块是标准6U模块,实现双CPU组建SMP架构。采用双核Intel Xeon Processor LV(主频2.0 GHz),同时处理器板兼容Intel Xeon Processor LV(主频2.0 GHz),北桥芯片为Intel E7520,南桥芯片为6300ESB,板载2 GB 双通道DDRII-400内存,提供ECC校验,板载2块SATA硬盘,双千兆以太网络支持PICMG 3.1规范。其原理框图如图1所示。
1.2 高速电路设计
硬件设计中的关键是高速电路设计,特别是基于PCI Express总线的电路,对于高速电路的PCB设计,必须在电路设计前后采用仿真工具进行验证和确认。
(1)阻抗控制。PCI Express规范要求走线阻抗为100 Ω差分阻抗。阻抗主要由线宽、线间距、铜皮厚度、介质层厚度、介质材料等决定。经计算特征阻抗为94.5 Ω,可满足要求。
(2)损耗。图2是在模块表层走线宽度为0.152 4 mm、走线间距为0.152 4 mm,走线厚度为0.101 6 mm,走线长度为0.508 m的情况下进行仿真得到符合要求的驱动端视图。
(3)后仿真的实现。后仿真主要是在PCB绘制完成后,在前仿真的基础上将PCB相关的数据导入后再进行的仿真,其仿真结果如图3所示,信号幅度在接收器可以识别的范围之内可满足要求。
2 软件设计
多主并行处理加固计算机软件包括应用软件、操作系统、硬件模块支持软件3个层次,各层之间相对独立,支持各层软硬件的独立升级,系统配置与运行管理提供功能分区定义与安全策略框架。硬件模块支持软件层包括控制和计算模块的板级支持包、网络交换通信包。操作系统层包括并行处理操作系统、多处理器协同控制及软件动态下载和功能重组,支持分布式处理、SMP双CPU、多CPU/DSP结构等,能够进行故障定位、隔离、健康管理、支持应用软件动态迁移。应用软件层包括任务处理软件和任务管理软件[2]。多主并行处理加固计算机利用成熟的商用软件和函数库[3],在操作系统上构建并行环境和并行程序编制测试等。
建立并行环境主要包括:适用的操作系统(Linux)部署使用,统一IP和DNS的网络配置和组网,方便用户提交任务和管理操作的通信协议SSH的使用和单一登录构建,基于MPICH2的并行编程函数库的编译、安装和配置,基于网络文件系统(NFS)的登录和共享的单一文件系统构建等。
3 抗恶劣环境设计
根据多主并行处理加固计算机主模块多、功耗大的特点,在抗恶劣环境设计中主要包括计算机系统的散热设计、减振抗冲击设计、电磁兼容性设计、防腐防潮设计等。计算机系统的整体功耗较大,带来高温工作性能挑战,因此此节主要对散热设计进行说明。
计算机系统采用强迫风冷方式。对于机箱里的硬盘模块、电源模块、控制和计算模块等均有各自独立的散热系统和风道。机箱为半密封式机箱,根据系统发热功率的峰值为800 W、控制和计算模块CPU的热流密度的峰值为7.6 W/cm2(9.5 W/cm2×0.8)、模块上主要芯片的热流密度,采用强迫对流散热方式。模块上芯片的热量主要通过传导散热方式经过导热胶垫把大部分热量传导到型材散热片,再通过对流换热经空气排到箱体外部,机箱前部装有5个涡流鼓风风扇,以提高主要热源的热交换速度,保证系统在规定的温度范围正常工作。系统总体构架初步搭建完成后,使用Icepak软件对机箱散热系统进行仿真分析,验证系统的换热能力,论证风路分布的合理性,以保证可靠的系统散热效果。根据计算机配置,所建模型如图4所示。
图4为去掉机箱上盖板、右盖板、前盖板等零件后的内部剖视图,5个鼓风风扇分别对应主要热源:电源模块、CPU模块、硬盘模块。发热器件主要参数如下:控制和计算模块的发热量约为80 W(单个),电源发热量为45 W(单个)。通过仿真分析发现:整机内主要模块的热流速度较快,但系统整个内部由于组件较多,形成很多涡流,使内部热气流不能以最短的路径传递出去,造成内部积温。改进系统热路径需要在后部增加抽风风扇,在硬盘末端加挡风板。
通过分析可知,系统改进后,在满负荷时,控制和计算模块温度为115 ℃,电源发热器件最高温度为100 ℃,小于器件极限温度,基本满足使用要求。但增加风扇所带来的系统不匹配问题仍然存在,通过改善控制和计算模块块的传热方案,仍有提高的潜力。
4 实验结果
在完成上述4项技术设计的基础上,通过一个并行程度相对较高的任务,即上万个数的冒泡排序法,对多主并行处理加固计算机的并行计算能力进行了测试。通过编写任务的串行算法和把串行算法并行化,实现任务的并行初始化、任务分配、子任务并行执行、子任务汇总等。所有节点完成各自任务之后,由主节点进行汇总。采用枚举算法是将每个节点求解出来的秩序列合并,得到完整的秩序列[4]。子节点通过 MPI_SEND 函数向主节点发送自己求解得到的 Rank 序列,同时主节点通过 MPI_RECV 函数逐个收集子节点的Rank序列,根据子节点的ID和 Rank序列长度将所有的Rank序列依次拼接起来,最终得到完整的秩序列[5]。这里需要注意的是:拼接次序和位置必须准确无误,否则最终结果必定不正确。完整的秩序列得到之后,枚举排序并行算法的并行化也就完成了。在多主并行处理加固计算机上使用6个节点运行任务,对10万个随机生成的整数进行排序,所需时间仅为单机运行串行程序耗费时间的六分之一,效率提高近6倍。
参考文献
[1] 陆鑫达.计算机系统结构[M].北京:高等教育出版社,2000.
[2] 陈国良.并行计算——结构、算法、编程[M].北京:高等教育出版社,1999.
[3] 柴小丽,奚军,倪明.适度并行嵌入式计算机体系结构研究[J].计算机工程,2008,34(5):283-285.
[4] 宋伟,宋玉.基于SMP集群系统的并行编程模式研究与分析[J].计算机技术与发展,2007,17(2):164-167.
[5] 张翠莲,刘方爱,王亚楠.基于MPI的并行程序设计[J].计算机技术与发展,2006,16(8):72-74.