分享
2023年基于微处理器的并行计算系统的构建及性能分析.docx
下载文档

ID:656930

大小:17.99KB

页数:4页

格式:DOCX

时间:2023-04-14

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 基于 微处理器 并行 计算 系统 构建 性能 分析
基于微处理器的并行计算系统的构建及性能分析 李晓佳 董延华 :随着材料科学技术的开展,模拟计算需要处理的数据量逐渐增多,仅通过提高单个处理器的运算速度和传统的串行计算技术已难以解决上述问题。大规模问题的解决通常需要高性能计算集群的支持,由于其花费较高,中小型及个人的科研支出无力承当。本文主要介绍微处理器集群的优势及特点,利用普通PC机搭建并行计算环境,通过实例的运行,验证并行计算的优势及高效性。 关键词:微处理器:串行计算:并行计算 0引言 随着硬件技术的开展成熟。计算机处理数据和信息的能力日益提高,从计算机的开展历程中可以看到,每次的更新换代都是为了到达快速计算的目的,这就要求对计算机的体系结构不断的改良。单核处理器和使用串行计算无法满足科研人员对计算速度的追求,而并行处理技术和并行计算的提出为此提供了一种实现高速计算的有效途径。并行计算的思想是对于一个给定的问题,划分成多个独立的小任务,将这些独立的任务分别分配给多个处理器的运行,最后将得到的结果汇总。从而提高解决问题的效率,缩短任务完成的时间。在这个过程中,需要使用多个微处理来部署并行计算平台,由于资金等方面的限制,考虑在普通微处理器上运行并行程序,通过调整参数和性能使之计算能力到达在高性能计算系统上对数据处理的标准,这种由普通微处理器节点构成的机群具有统一调度,维护方便的特点,因此受到广阔科研爱好者的推崇。 1 PC机群的搭建 并行计算机并不是将所有硬件整合到一起就能自动并行工作的,要使多个微处理器能正常运转并完成计算任务,首先需要对机群系统环境进行有效的配置,本文选择的操作系统环境是Linux系统中的Centos6.0,后续利用平台要进行并行程序的设计和运行,因此根底环境配置完毕后。安装IFORT编译器、MKL库和并行函数MPICH都是必不可少的。 对于传统网络传输软件,在数据交流过程中极易受到网络中其它主机监听和攻击,从而窃取数据。因此采用远程时需要考虑数据的加密设置。为了方便与机群中各节点建立信息通信,同时具有可靠性、平安性和稳定性等特点,SSH无疑是最正确选择。 1.1 什么是SSH 早期网络效劳和协议存在各种隐患,采用口令单一的认证方法无法保证数据传输的平安性。SSH〔Secure Shell〕协议的原理是依赖于非对称加密技术,支持多种平安验证方式,同时MD5和SHA-1等算法使用防止了数据在传输过程中被篡改和源/目的地址的伪造,确保了数据的完整性。SSH提供了强大的认证和加密性能。需要客户端和效劳器共同合作才能完成解密的过程,降低了数据泄露的风险,同时对于客户端而言仅通过安装OpenSSH软件就可以进行与主机的信息交互和文件的传输,拥有下载方便,节省经费的特点。 1.2 并行节点的认证过程 一般来说,对于客户端而言SSH提供了两种平安认证级别,基于口令的平安认证和基于密匙的平安认证。在并行环境的部署过程中,为了实现各节点间无障碍的信息交流,提高通信效率的同时又可保障平安性。实验过程中采用基于密匙的无密码认证方案,这种认证方案是安装MPI程序必备条件,通过配置机群中各节点可以互认为可信任节点,从而实现无密码信息传递。新用户nodeA需要参加到机群中作为新节点实现通信,需要完成如下配置: 〔1〕在客户端nodeA中建立公钥id_das。pub和私钥id_dsa。通过运行ssh-keygen -t dsa命令,随机产生所需要的文件,并存放在-/。ssh路径下。 〔2〕将产生的公钥作为认证依据,进行访问授权,nodeA将公钥文件拷贝到效劳器端nodeB的-/。ssh/authorized_keys路径下,修改其读写权限,使效劳器端信任客户端的公钥。 〔3〕效劳器端nodeB将所有的公钥合成在一个authorized_keys文件中,再将文件回传给各个节点的。shh目录中,即可实现节点间无密码互通。认证具体过程如图1所示。 1.3 进程管理器hydra的安装 在搭建并行计算环境的过程中,MPICH是提供并行运算的必要工具,也是MPI标准的一种重要实现。实验过程中采用MPICH2版本,其与MPICHl最大的不同在于进程管理器的选择。早期的版本默认为mpd,需要额外启动效劳器端,对于参数的配置方面也比拟复杂。MPICH2选择的进程管理器是hydra,在配置方面要比mpd简单,属于轻量的PM〔Processor Manager〕,但在运算过程中,机群中某一节点发生故障,整个应用就会被停止,而使用mpd管理时,那么会跳过发生故障的节点,其余节点正常分配计算任务,这也是hydra的弊端所在。实验中选用版本MPICH2_I。4.1使用的进程管理器为hydra,在nodel上实现的配置如下: 〔1〕Hydra配置时需要填写hosts文件,将所有允许访问进行并行计算的机器名填入,并标明CPU数量。文件结构如下: $ vi mpd。hosts node1:4 node2:4 node3:4 node4:4 冒号分隔的前半部为机器名,可以使用节点名也可以使用节点对应的ip地址,后半局部为可用的CPU数量。 〔2〕配置参数,在PA了H中写入hosts文件的路径,重新翻开命令行窗口后执行。配置界面如图2所示。 〔3〕测试之前各节点的主目录下应生成mpd。conf文件,它是mpd进程能够正常开启的关键。查看完成后,编译、运行mpirun命令,以自带的cpi程序为例,测试环境是否搭建成功。测试结果如图3所示。 2 并行计算与串行计算的区别与优势 2.1 概念不同 串行计算的运算原理是,进程l和进程2均要执行计算任务,任务执行前,为待执行的程序分配一段内存空间,进程按顺序调入cpu执行且在一定时间内独占cpu资源,cpu的性能在串行计算过程中显得尤为重要,图4为串行计算的工作过程。对于并行计算而言,进程1和进程2被切割成几个独立的子进程分别分配处理器和內存资源,执行效率较高,在存储单元的使用上也可以实现共享,线程间的消息传递主要靠在cpu间的数据复制,因此数据复制的速度和延迟是影响消息传递效率最关键因素,图5为并行计算工作过程。 2.2 函数的组成不同 并行程序的设计类似于串行程序,根本结构简单,程序构成比拟固定。但调用方法和具体实现方面还是与串行程序有所不同。所有的并行程序的执行过程大致为:对头文件的声明:申明程序中使用的变量;调用MPI-Init、MPI_Comm_size和MPI_Comm_rank函数,对并行环境初始化;执行MPI_Send和MPI_Recv函数,实现程序中消息的发送与接收:调用MPI_Finalize函数消除MPI环境,结束程序。在并行程序的设计过程中。MPI_Init和MPI_Finalize的调用只能使用一次,程序的主体局部应被每一个节点所执行。MPI调用接口的总数虽然庞大,但大多数的并行程序都可以使用表1中这6个根本函数实现。 2.3 运行效率比照 在并行编程的研究过程中,矩阵的实现和操作是很重要的研究方向。很多问题的解决都可以转化成矩阵来解决。在设计矩阵相乘的计算过程中,大多数的矩阵操作在并行程序中都采用主从模式,主节点负责将问题切割成小局部,从节点将得到的问题进行计算并将结果返回到主节点汇总,本文以矩阵A、B相乘为例,矩阵A的规模是yxy,矩阵B的规模是y x 1,实验中选择的矩阵规模是200,通过添加MPI_Wtime函数对数据通信的时间进行统计,并行环境下代码的平均消耗时间要比串行环境低0.402S,充分表达了并行算法的优势。具体操作流程如图6所示。 由于在运算过程中,存在各节点间的传输延时,假设程序运行时间较短那么无法表达并行的优势。因此,在矩阵规模和算法的选择上是十分重要的。 3 结束语 本文从不同角度比照了并行计算与串行计算解决问题的效率,并依据实例验证了并行思想的高效。在此根底上。通过对基于微处理器并行计算系统的搭建和研究。提出了基于密匙的无密码认证方案和认证过程,在保证节点间无障碍通信的前提下,提高了远程过程中信息交互的平安性和效率,具有一定的应用价值。在实验过程中,发现并行平台中计算节点通常较多,而且不同的计算任务需要重新配置环境,为了防止在部署的过程中做重复性工作,下一步研究的重点考虑使用PXE无盘启动技术来进行节点的维护。

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开