《浅谈高性能计算机集群系统的技术与应用.doc》由会员分享,可在线阅读,更多相关《浅谈高性能计算机集群系统的技术与应用.doc(5页珍藏版)》请在三一办公上搜索。
1、浅谈高性能计算机集群系统的技术与应用文章来源 毕业论文网 摘 要 计算机软硬件及算法的改进及提高 , 对高性能计算技术提出了更高的要求。集群是处理器技术和网络技术不断提高的产物 , 是一组独立的计算机的集合体 , 节点间通过高性能的互连网络连接。 关键词 高性能 ; 集群高性能计算 ( high performance compute , HPC)是一个计算机集群系统 , 它通过各种互联技术将 多个计算机系统连接在一起 , 利用所有被连接系 统的综合计算能力来处理大型计算问题。高性能 计算方法的基本原理就是将问
2、题分为若干部分 , 而相连的每台计算机 ( 称为节点) 均可同时参与 问题的解决 , 从而显著缩短了解决整个问题所需 的计算时间。 1 集群系统的概念 集群是以网络技术连接起来的工作站或 PC 机的组合 , 这些工作站或 PC 机就像一个单独集 成的计算资源一样协同工作 , 这些单个的计算机 就是集群的节点 ( node) 。111 集群计算机系统是并行处理的主流集群计算机提速的前提基础是微处理器和网 络技术的进步。集群计算机是利用高速通信网络 将一组高性能工作站或高档 PC 网络结构连接起 来 , &
3、nbsp;在并行程序设计及可视化人机交互集成开发 环境支持下 , 统一调度 , 协调处理 , 实现高效并 行处理的系统。从结构和结点间的通信方式来看 , 它属于分布存储系统 , 主要利用消息传递方式实 现各结点之间的通信。目前己实现和正在研究中的集群系统大多采用现有商用工作站 1 代和通用 LA N 网络 , 这样既可以缩短开发周期 , 又可以利 用最新的微处理器技术。112 集群系统的分类按照应用目的可以分成高性能计算集群和高 可用集群。高性能计算 ( High Perfermance Comput2ing)  
4、;集群 , 简称 HPC 集群 , 这类集群通过将多台机器连接起来同时处理复杂的计算问题 , 提供单 个计算机不能提供的强大的计算能力。高可用 (High Acailability) 集群 , 简称 HA 集群 , 这类集 群的主要功能就是提供不间断高可靠度的服务。按照结点的归属可分为专用集群和非专用集 群。在专用集群中所有的资源是共享的 , 并行应 用可以在整个集群上运行 , 而在非专用集群中 , 全局应用通过窃取 CPU 时间获得运行。非专用机 群中由于存在本地用户和远地用户对处理器
5、的竞争 , 带来了进程迁移和负载平衡等问题。按照结点的操作系统可分为 Linux 集群、So2laris 集群、NT 集群等 ; 按照各结点是否相同可分 为同构集群和异构集群。同构机群中各节点有相 似的体系并且使用相同的操作系统 , 而异构机群 中节点可以有不同的体系 , 运行的操作系统也可 以不尽相同。按照结点的机型可分为 PC 集群、工作站集 群和 SMP 集群等。113 集群系统的特点11311 高可扩展性提高 CPU 主频和总线宽带是最初提供计算机 性能的主要手段。但是这一手段对系统性能的提 供是有限的。接着人们通过增加 CPU 个数和内
6、存 容量来提高性能 , 于是出现了向量机 , 对称多处 理机 ( SMP) 等。但是当 CPU 的个数超过某一阈 值 , 象 SMP 这些多处理机系统的可扩展性就变得 极差。主要瓶颈在于 CPU 访问内存的宽带并不能 随着 CPU 个数的增加而有效增长。与 SMP 相反 , 集群系统的性能随着 CPU 个数的增加几乎是线性的。11312 高可用性集群中的一个节点失效 , 它的任务可以传递 给其他节点。可以有效防止单点失效。11313 高性能 负载平衡集群允许系统同时接入更多的用户。11314 高性价比集群 ( Cluster) &nb
7、sp;技术是使用特定的连接方式 , 将价格相对较低符合工业标准的硬件设备结合起来 , 同时也能提供高性能相当的任务处理能力。 2 影响集群系统并行运算的因素 211 网络性能因素快速消息通信系统集群计算机是基于高速通 信网络互连而构成的系统。网络性能的好坏对集群计算机并行计算效率的提高、处理问题的适应 范围以及系统的可扩展性都有很大影响。通信延 迟时间是衡量网络性能的重要因素 , 它包括协议 软件处理开销和网络硬件处理时间。高速网络硬 件虽然降低了网络的传输延迟 , 但并没有减少通 信软件的处理开销 , 由于软件处理开销所占比
8、重 过大 , 在很大程度上阻碍了高速网实际性能的提 高 , 因此 , 在使用高速网络的集群系统中 , 影响通信系统性能的瓶颈己不再是网络硬件的性能 ,而是通信软件的处理开销。传统 TCP/ IP 协议是为广域网设计的网际互连 协议 , 它提供了复杂而强大的诸多功能 , 这些复 杂的功能必然带来很大的软件开销 , 因此这种协 议并不适合集群计算机进行并行处理。另外 , 传 统协议往往是在操作系统核心中实现的 , 由操作 系统引入的开销也是不容忽视的重要因素。对集 群计算机系统而言 , &n
9、bsp;其网络系统分布范围小 , 通 信链路可靠性高 , 系统结构相对简单。为了降低 通信软件处理开销 , 需要通过对高效通信协议的 研究 , 设计一种适用于集群计算机系统的快速消 息传递机制 , 为用户提供一个低延迟、高带宽、 高可靠的通信模式 , 达到改善系统性能的目的。212 可视化并行程序开发与调试环境因素影响并行机推广使用的一个最重要的障碍是 在并行机上编写、编译、链接和调试程序比较困 难。目前虽然有了许多功能强大的并行环境 , 但 是编制高效的并行程序仍然是一件比较困难的事 情。主要是因为这些并行环
10、境的重点都在运行环境上 , 对编程环境的方便性和实用性注意不够 ,缺少实用的工具。 一个友好、实用、方便的可视化人机交互集成开发环境 , 应为应用程序员和最终用户提供编 辑 , 多种语言的编译、链接、装配 , 并行环境配 置 , 各节点资源使用情况显示 , 并行任务的加载、运行、状态监视和控制 , 性能评测和并行调试以 及联机帮助等功能 , 使用户在此环境中即可方便 地完成并行程序的编写、编译链接 , 并且通过性 能监测分析比较并行算法 , 找出性能瓶颈 , 优化
11、 并行算法设计 , 并最终编写出高效的并行程序。这对于解决并行处理技术难以实用具有现实意义。 并行程序的可视化是当前并行程序环境的一个重 要趋势 , 通过控制流和数据流模式的图形动画可 使程序员直观地看到并行程序的运行过程 , 使用 户能形象地发现并行程序的瓶颈 , 为并行程序的调试及提高编译效率提供有效的乎段。213 程序并行化因素计算机发展到今天 , 己经积累了大量的应用 软件 , 要把这些软件人工改写成等价的并行软件 是一件工作量极其庞大、也很繁琐的工作。用户迫切要求对现有的应用软件不作任何改动 , 就能
12、 在并行系统上运行。因此 , 设计和实现一个并行 化编译系统是非常必要的。经过近年来的研究 , 全自动并行化系统在并行化能力上有了较大提高 , 但在对某些串行程序进行并行化后 , 生成的并行程序的加速比仍然不能令人满意。其原因在于全 自动并行化系统中的相关性分析算法、数据划分 算法和通信生成算法还不能有效地处理这些应用 程序的复杂性。除了算法本身的能力不足外 , 缺 乏有关的程序语义信息。交互式的并行化系统引起人们的格外注意。交互式的并行化系统除了考 虑到全自动系统的功能和特点外 , 还允许用户选 择使用或不使用系统中的交互行为。在不使用交 互功
13、能时 , 系统就成了一个全自动的并行化系统。 如果用户认为全自动的并行化效果不好 , 那么可以选择使用交互功能来进一步提高并行代码质量。214 容错与高可用技术因素越来越多的应用对计算机系统的性能、可靠 性和可用性提出了越来越高的要求。并行处理是 提高计算能力、满足不断增长的应用需求的有效途径。而容错技术是提高计算可靠性和可用性的 重要保证。随着系统规模的不断扩大 , 工作站/ PC 集群计算机在计算过程中发生故障的机会曾指 数般增长 , 同时由于集群计算机系统通常为多用户使用 , 结点等资源具有较大的可变特性。系统在发生各种异常或故
14、障事件时会导致本次并行计 算的彻底失败 , 此前的大量计算不能再用。要想 使集群计算机系统在上述领域广泛应用 , 系统需 要具有一定的容错能力 , 保证在发生各种异常事 件或故障时 , 为用户提供持续的服务。虽然实现容错的方法有多种 , 但都不能有效地应用于工作 站/ PC 集群计算机。检查点设置与卷回恢复技术 作为一种后向恢复技术 , 通过在系统正常运行过 程中设置检查点 , 保存系统当时的一致性状态 , 并对各进程进行相关性跟踪和记录。系统发生故障后 , 将相关进程回卷到故障前系统一致性状态 (
15、检查点) , 经过状态恢复后从该检查点处重新执行 (而不是从程序开始执行) , 实现对系统故障的 恢复 , 节省了大量重复计算时间 , 充分体现集群 计算机系统的并行性能 , 提高集群计算机系统的可用性。这种后向故障恢复技术不仅可以对系统 瞬时、间歇故障进行自动恢复 , 并且通过检查点 文件镜像和进程迁移技术也可以容忍节点的永久 故障。同时也是恢复未知故障 在某一应用设计过程中未预料到故障的唯一乎段。215 智能资源管理与调度因素负载在系统的各处理结点上分布的均衡程度 被称为负载平衡度。负载平衡度是影响并行效率 的重要因素
16、。对集群计算机系统来说 , 如何合理 地安排和调度任务 , 充分运用各节点的处理能力 ,缩短程序的响应时间 , 是进行并行计算必须解决 的问题。由于集群计算机系统具有资源共享动态 变化的特点 , 而各节点的负载分布情况在很大程 度上影响着应用程序的执行效率 , 因此 , 需要为 系统的资源提供一种智能化的管理机制 , 以更加充分、合理地利用系统资源 , 加快应用程序的执 行速度。具体地说 , 一个智能化的资源管理与调 度系统至少应具备负载与系统信息的监测与采集、 负载初始分配、动态资源调
17、度与任务迁移功能 , 除了以上技术外 , 诸如单一系统映像 , DSM 并行模型的支持、并行 I/ O 、并行语言等技术也是集 群计算机的主要研究内容。 3 集群系统的应用 高性能计算机系统一般用于解决大容量存储、大数据量计算等需要大幅度降低处理时间以提高生产效率的应用问题。许多对经济、科技和人类 社会的发展有广泛影响的重大应用问题都存在固 有的并行性。但是近几年来由于价格、效率等因素的影响 , 传统巨型机、MPP 的应用受到一定的 限制 , 而集群计算机系统提供了一种建立从中小 规模到大规模并行处理系统的可扩展的方法 , &
18、nbsp;是 解决许多有关国计民生的重大计算问题的可行途 径之一。以石油地震数据处理为例。在石油地震勘探 开发工作中 , 三维地震勘探能提供比二维勘探更 精确的地下图像 , 接近实际地反映地下真实情况 , 有效地解决地质问题。但是 , 由于其数据量大、 计算量大、处理周期长 , 特别是由于计算量大 , 因此许多先进的三维地震资料处理方法在大型计 算机上难以实现。而并行处理则为实现这些方法 提供了可能。另外 , 美国空间物理研究院在互联网上开展 寻找外星人的集群算法活动 , 将事先由射电望远 镜记录的资料转成数据库放在网上
19、, 然后各用户 通过该活动的网页下载算法程序 , 利用空余机时 下载数据并进行计算 , 程序自动将未计算过的数 据下载回来 , 计算完成后自动上传到网站上去 , 通过全世界喜欢宇宙探索的 PC 机使用者的空余 机时完成大型机才能胜任的计算。随着网络技术的发展和对集群计算机系统研 究的深入 , 特别是高效通信机制的开发 , 系统的 通信性能将会接近专用的互联网络 , 并行编程环 境和工具更加完善 , 集群计算机必将对许多具有 挑战性的计算问题及国民经济起到积极影响。 参考文献 1
20、 郑纬民. 集群系统的现状与挑战J . 计算机教育 ,2004 , (6) :23 2 陈国良 ,吴俊敏. 高性能训算与高性能计算机J . 2006 , (7) 3 刘仲. 基于对象存储的集群存储系统设计 J 计算机工程与科 学 ,2005 ,27 (2) :78 - 81 4 杨刚 ,龙海燕 ,杨 . 计算机总线发展新趋势J . 微计算机信息 ,2003 ,19 (1) :1 - 2 5 胡玉平. 集群计算机J . 现代计算机. 2001 , (12)