《2022年2022年集群操作系统的发展与展望 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年集群操作系统的发展与展望 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、集群操作系统的发展与展望 詹剑锋 王磊 涂碧波 引言 当前高性能计算机的体系结构基本沿用传统的集群 (Cluster)1、大规模并行处理系统(MPP ) 、星群(Constellations), 向量机等。其中,集群逐渐成为市场主流,在高性能计算机 Top 500排名中,无论是系统数目还是性能比重集群所占份额逐年上升(如图 1-a 和图 1-b 所示) 。集群系统也成为最主要的高性能计算机体系结构, 在2007 年 12 月份发布的Top 500 中集群体系结构占了总系统数目的81.20% (图 2) 。 图 1-a Top 500 集群系统数目比重. 图1-b Top 500 集群系统性能比
2、重 Architecture Count Share % Rmax Sum (GF) Rpeak Sum (GF) Processor Sum Constellations 3 0.60 %101830 126791 19312 MPP 91 18.20 %2694582 3341049 805649 Cluster 406 81.20 %4169758 7090247 823134 Totals 500 100% 6966169.82 10558086.75 1648095 图 2 2007 年 11 月发布的 Top 500 不同系统分类。 在过去的十几年内, 无论是高端科学计算、 还是信
3、息服务, 集群系统已经成为主流计算平台。近年来随着网络服务业(如 Google 、腾讯和百度)的兴起,追求低成本的 商品化集群 (Commodity Cluster) 及其系统软件再次成为工业界和学术界的焦点234。在这种背景下集群操作系统已经成为独立于硬件平台的重要基础软件。 传统单一系统映像的集群操作系统透明地实现了资源管理和进程管理,并且为用户提供交互界面。5 认为单一系统映像的集群操作系统需要实现以下主要功能 : 1Top 500 的主要组织者Jack Dongarra 1将集群系统定义为由独立的节点集成在一起构成的并行计算机系统:集群的每个节点能够独立操作,并且可以单独面向市场开发;
4、集成节点的网络可以是商品化的,也可以是专门设计的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - (1) 单一进程空间;(2)单一I/O空间;(3)单一作业管理系统; (4) 单一控制点; (5) 统一用户界面。 单一系统映像的集群操作系统通过扩展节点操作系统内核来实现,其开发成本高、可移植差。杜克大学 Jeff Chase 教授等人6 扩展了集群操作系统的含义, 但未显式给出定义, 如基于中间件技术实现的Cluster -on
5、 -demand 项目以开发面向共享平台的“集群操作系统”为目标。在本文中我们将集群操作系统 定义为实现统一的资源管理和进程管理并且具有统一用户界面的集群系统软件, 它可以通过扩展操作系统内核、 定制系统软件或者基于中间件实现。 代表性集群操作系统 从实现方法的角度可以将集群操作系统分为三类:通过扩展操作系统内核实现的单一系统映像集群操作系统, 通过定制节点操作系统和系统软件实现的定制集群操作系统和基于中间件实现的“集群操作系统”。在本节,我们逐一介绍三类集群操作系统的代表性成果。 单一系统映像集群操作系统 代表性的单一系统映像集群操作系统包含: Kerrighed7,OpenMosix8 和
6、OpenSSI8。 Kerrighed 是法国 INRIA 开发的项目, 其目的是在集群系统上提供类似SMP 的系统。Kerrighed由负责全局资源管理的核心态分布式服务组成。 Kerrighed提供可配置的全局进程调度器, 其默认的调度器策略采用接收端驱动的抢先式进程迁移方案。当系统探测到负载不平衡时, 进程将从高负载的节点向低负载的节点迁移。Kerrighed的进程迁移机制基于进程ghosting ,容器(container) 、可迁移的 stream 以及分布式文件系统。 OpenMOSIX 是在 MOSIX 项目9 基础上开发的。 MOSIX 采用发送者驱动的抢先式进程迁移策略。MO
7、SIX 迁移机制基于代理进程(Deputy) 。当进程从源节点迁移到目标节点时, 对其他进程和文件系统的依赖将在源节点上通过代理进程维护。代理进程支持被迁移进程的系统调用,包括网络通讯和文件访问。 全局的内存管理通过内存导引(memory ushering )算法实现。当节点的空闲内存低于阈值时,该算法将激活,从而将进程迁移到有足够空闲内存的其他节点上。 OpenSSI项目8 开始于 2001年,前身是 Nonstop cluster for Unixware 项目。OpenSSI的设计目标是提供集成其他开源集群技术的平台。当前的 OpenSSI集成了开源的文件系统和磁盘管理系统(GFS, O
8、penGFS, Lustre, OCFS, DRBD) 、分布式锁机制(OpenDLM)和从MOSIX 中衍生的进程迁移机制。 定制化集群操作系统 在高端科学计算领域通常采用定制化的集群操作系统,由定制的节点操作系统和批作业管理系统组成。 通用的节点操作系统提供了丰富的功能,并且支持众多的应用。 但是这种通用性在高端计算领域要付出性能代价。文献 10 指出面向高性能计算的专用操作系统传输消息的性能要比Linux快4到6倍。因为应用需求、硬件和相关编程模型的多样,开发专用操作系统的代价非常高。 11考虑了高端科学计算的特征和需求,采用构件的方法开发专用的高端科学计算操作系统。它在Fractal
9、通用编程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 模型的基础上,针对高端科学计算的需求加强和扩展了 Fractal ,从而方便根据应用需求、应用特征以及相关的编程模型构造专用的操作系统。 BlueGene/L 的节点操作系统12 根据用户的需求进行了定制。BlueGene/L 节点操作系统的设计遵循了一个基本原则:软件结构应该反映硬件结构。 计算节点运行轻量级运行时操作系统CNK ,只支持单个用户的单个应用程序运行在计算节
10、点上,本身不提供调度和进程上下文切换。而每个 I/O 节点运行完整的 Linux 操作系统映像, 包括多处理, 文件系统。 多个计算节点和一个I/O 节点组成一个处理集合(processing sets, psets)。CNK 的大部分系统调用直接转发给I/O 节点执行,如图 3 反映了 CNK 和 I/O 操作系统的关系。 这些系统方面的简化允许系统充分利用硬件的特性, 在不牺牲安全性的情况下提升系统的性能。如严格的空间共享允许应用使用高效的用户态通讯,而不影响安全。 每个应用线程对应一个处理器保证并行程序确定性的执行。 图 3 CNK和 I/O 节点操作系统之间的关系12 Blue Gen
11、e/L的作业管理系统13 结合系统的体系结构进行了优化。为了实现更好的应用性能, 用户提交作业时, 需要指定期望的分区规模和形状。调度器选择合适的计算节点和I/O 节点,然后通过控制网络将这些节点配置成隔离的分区。一旦创建好分区,作业就可以通过I/O 节点启动。 基于中间件的“集群操作系统” 根据实现方法, 我们将基于中间件的集群操作系统可分为三类:集成化、构件化和服务化。 很多研究组和开源项目开发了独立的集群系统软件。如监控系统Ganglia,构造工具 Rock,作业管理系统OpenPBS。Oc ano 14 项目是面向server farm的可扩展管理基础设施,也是效用计算( utilit
12、y computing)的先驱。很多研究组集成开源的集群软件构造集群软件包。如OSCAR project, 泰国 Kasetsart 大学的 SCE ,日本真实世界计算项目的 Score。在集成化的集群操作系统中,最有代表性的系统是 OSCAR,它的目的是将最好的集群实践集成在一个软件包里。但这些不同的集群软件之间大部分存在功能冗余,并且不同的子系统可能提供不一致的信息。 在面向高端科学计算领域, 来自美国国家实验室的一些课题组采用构件技术来开发万亿次高性能计算的管理软件,其代表性计划是SSS项目15 。SSS项目的目名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
13、 - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 的是针对缺少高效的万亿次计算资源的管理系统软件,开发与机器无关的面向科学计算的可扩展系统软件。 Phoenix 系统16192025和其前身Clustone17 是第一个基于服务的集群操作系统, 由中国科学院计算所国家智能中心开发。其基本思路是针对科学计算和信息服务的公共需求, 开发公共服务-所谓 “集群操作系统核心” 1920 ;在集群操作系统核心内部解决管理系统的可扩展和容错;基于集群操作系统核心,开发面向不同用户需求的集群使用环境和编程环境。目前基于
14、 Phoenix 集群操作系统核心开发的集群使用环境包括:集群监控、 集群配置和部署系统、 批处理系统、信息服务运行时环境、工作流应用调度系统等。 需求驱动的集群操作系统发展和展望 毋庸置疑, 无论是高端的科学计算, 还是网络信息服务, 集群系统已经成为主流的计算平台。 在新用户需求驱动下, 集群操作系统逐步开始与硬件分离,成为重要的基础平台软件, 并且不断发展和演化。 这一趋势最好的见证是云计算(Cloud computing)下的集群系统软件的发展。在2006 年前后,学术界普遍认为商用化集群系统已成为大路货,集群系统软件已成为一个成熟的领域 (mature field)。而在这同一时期,
15、 以 Google-like computing 为代表的海量数据处理向集群系统软件提出了新的挑战性需求,而Google 在满足这些需求的基础上在低成本的商用化集群系统上发展了以Google File System (GFS ) 、MapReduce和 BigTable为代表的核心集群系统软件技术, 为满足其持续增长的业务需求提供了强有力的保障,并且这些成果发表在计算机领域的顶级会议SOSP 和 OSDI上。CMU 计算机学院院长 Randal E. Bryant 认为这些工作表明在云计算领域工业界领先学术界。David Patterson 在 Communication of ACM 上专门
16、为 MapReduce 技术撰写了“Data center is computer”的评论。 在本节里,我们从用户需求的角度出发阐述集群操作系统可能的发展和演化。 集群系统用户需求的维度 我们认为新的用户需求将是集群操作系统发展的重要推动力。集群系统的用户需求可以从以下维度刻画: (1)使用模型(usage model); (2)资源使用方式;(3)用户的计算机知识层次; (4)应用特征。 我们将使用模型定义为集群系统用户需求的 X维度。集群系统主要有两种使用模型:面向能力(capability)和面向容量(capacity)11。面向能力的使用模型有以下典型特征: 定制精简的节点操作系统;
17、范围有限的应用种类; 每个应用可以使用完整规模的系统;允许程序员充分利用系统特性来精细的优化和微调代码。面向能力的使用模型可以进一步细化为专用 (dedicated) 或者空间共享(space-sharing )的使用模型。面向容量的使用模型支持更广泛的应用;支持更为灵活的分时共享; 采用通用的操作系统; 提供更复杂的服务, 如动态加载和共享库等。 我们将资源使用方式定义为集群系统用户需求的Y维度,主要分为独占和共享两种。将用户的计算机知识层次定义为集群系统用户需求的Z维度,分为两大类:计算机专业用户和非计算机专业用户。计算机专业用户以掌握高深而复杂的计算机技术为荣, 而非计算机专业用户一般缺
18、少足够计算机基础知识,因而难以了解底层的系统知识。在应用特征方面,我们主要细分科学计算和信息服务两大类,并且将应用特征定义为C维度。 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 我们将采用这些坐标维度来刻画不同的集群系统用户需求,并且在特定的需求背景下讨论集群操作系统的发展趋势。 集群操作系统展望 图 4 高端科学计算 V.S. 效用计算 高端科学计算(High End Computing) 在高端科学计算领域, 我们认为单
19、个并行应用的可扩展性和性能应该成为主要的追求目标,因而我们关注面向能力和资源独占的高端集群系统。在这种背景下,系统对应用的适应以及系统资源的异构性可能会成为主要的趋势。如Cray 将自己的高效能计算机计划定义为可适应超级计算( adaptive supercomputing)。以地球科学为例, 用户希望进行海洋、 大气、生物圈和地球物理耦合的气候模型仿真18 。当前这些计算模型仅仅在单一种类的处理器体系结构上运行(如标量或向量)。但在气候仿真模拟中,部分代码本质上是串行的,这类串行代码在Opteron 处理器上可以获得很好的性能;而其它大部分代码则可以很好的向量化,如动力学和辐射物理, 可以运
20、行在向量模态的MVP(multi-threaded /vector processing )加速器上;而云物理学则不能向量化,大部分为分支和条件语句,适宜于运行在多线程的MVP 加速器上。因而挑战性应用要想获得好的性能,需要能适应应用的异构资源。Berkley 的科学家们21中也从性能加速比的角度阐述了采用异构资源提升挑战性应用性能的理由 在高端科学计算领域,我们认为集群操作系统会遵循SS (simple & smarter )原则一方面系统应该尽量简单, 从而降低在定制系统上开发的成本,另外一方面用于管理异构资源的智能运行时系统将成为让系统贴近应用的使能 (enabling)技术。 效用计算
21、 (utility Computing)效用计算的本质是在用户体验 (服务质量) 主导下的资源和软件的服务化。效用计算在使用模型是上面向容量的, 并且鼓励共享资源。 Nicholas Carr 在 HPC Wire上鼓吹,计算的本质正从独占拥有计算机和软件向utility 模型转化,而且这种改变是一个渐进的过程过去几年里可以观察到很多种不同的效用计算系统,完全不同于过去自包含的计算系统 我们认为在这种演化过程中可以观察到三个主要而不变的用户角色: 资源提供者、 服务提供者和最终用户。 如作为资源提供者,一些公司已经开始采用computing-as-a-service模型,如SUN提供的共享Ca
22、pacity Capability独占高端科学计算Z=计算机专业用户C=科学计算效用计算X Y 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - N 和 Amazon提供的 EC2(elastic computing cloud)和S3(simple storage service) 等。而一些大的组织同时扮演资源提供者和服务提供者,继续在本地运行数据中心, 但同时重建系统以聚集不同的计算负载。云计算作为效用计算的特例,正是重构数
23、据中心努力的代表性方向。以Google 为例,Google 自身的基础设施平台仍是商业机密, 据报道大约有 45万台服务器分布在全球各地。Google 通过定制的 Linux 和调度软件 Global Work Queue 将这些服务器联接为全球性的计算平台,以较低的成本实现了高效的超大规模数据处理。与此同时,一 些 大 学 正 在 外 包高 性 能 计 算 服 务, 而 仅 仅 保 留 作 业 执 行 服 务 提 供者(job-execution service provider )的角色。大量的中小型公司为了节约成本而外包计算资源,而仅仅关注于自身提供的服务本身。 在这种背景下,我们认为面
24、向效应计算的集群操作系统会向以下方向发展:(1)服务化:新的集群操作系统需要支持资源提供者和服务提供者角色的分离,需要支持在线的用户使用环境的构造及生命周期管理;(2)虚拟化:集群操作系统应能够根据应用特性动态构造虚拟计算环境; (3)自主管理18 : 管理复杂性随计算规模的增长成倍增长; 集群操作系统应能自动监控各类资源,深度挖掘、分析、关联系统行为、预测系统运行趋势。集群操作系统应该在保证系统性能的情况下,通过自优化、自愈合、自配置等核心技术降低资源、功耗和管理成本;(4)以应用为中心: 集群操作系统能够提供保证应用服务质量的综合手段;能结合应用流程、数据依赖关系和资源消耗特征提供优化的运
25、行时系统。 个人超级计算 图 5 个人高性能计算机 & 个人并行托管环境 随着多核系统的出现,并行计算已经无处不在, Intel负责研究的 VP Andrew A. Chien 将其称为 pervasive parallel computing22 。面向大众的超级计算已经成为主流趋势。 因良好的可扩展性、 可用性和高性价比, 集群将成为普及超级计算的主要平台。我们认为普及超级计算的主要目标用户应是各专业领域非计算机专业的工程和科研人员,个人高性能计算机 23 和个人并行托管环境 (Personal parallel Hosting Environment)24将是普及个人超级计算的两种非计算
26、机专业用户共享独占计算机专业用户个人高性能计算Y C=科学计算个人并行托管环境X=Capacity Z 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - 主要方式。 它们都面向非计算机专业用户,需要支持的应用范围广, 其使用模型是面向容量(capacity) 的。图5 中个人高性能计算机的资源使用方式是独占的,而个人并行托管环境的本质上是在共享的集群平台上为非计算机专业用户提供定制的并行计算环境。 针对不同的普及高性能计算的方法,
27、集群操作系统需要关注不同的核心技术。如面向个人高性能计算机的集群操作系统需要解决管理的复杂性,因而零配置、零管理、自恢复、降低认知困难的抽象及图形界面是关键的核心技术。而个人并行托管环境作为效用计算的一种特殊形式,托管环境提供者将负责系统的配置和管理,而个人用户只需要关注于编程, 因而其关键技术在于托管环境的生命周期管理、动态资源供应、服务质量保证、资源计费和系统自愈合等技术。 结论 本文将集群操作系统 定义为实现统一资源管理和进程管理并且具有统一用户界面的集群系统软件; 在调研相关工作的基础上, 基于实现方法将集群操作系统分为三类:单一系统映像集群操作系统,定制化集群操作系统和基于中间件的“
28、集群操作系统”。针对每一种集群操作系统,综述了代表性的成果。 计算机作为一门实践的科学, 需求驱动起着至关重要的作用, 集群操作系统领域也不例外。我们定义了集群系统用户需求的四个维度:使用模型;资源使用方式;用户的计算机知识层次和应用特征。我们采用这四个维度刻画集群系统用户需求,并且在不同的需求背景下讨论了集群操作系统的发展趋势。我们认为在新的用户需求驱动下,集群操作系统逐步开始与硬件分离, 成为重要的基础平台软件,并且将不断发展和演化。 基于我们的判断, 我们阐述了集群操作系统在高端科学计算、效用计算和个人超级计算等领域的发展趋势和核心技术。 詹剑锋 博士,中国计算机学会高级会员。中科院计算
29、所副研究员。研究兴趣:集群操作系统和可信高性能计算。 王磊 中科院计算助理研究员。研究兴趣:Utility Computing。 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 涂碧波 中科院计算所助理研究员。研究兴趣:高效能并行计算。 参考文献 1 Jack Dongarra, Thomas Sterling, Horst Simon, Erich Strohmaier, High-Performance Computing:
30、 Clusters, Constellations, MPPs, and Future Directions, Computing in Science and Engineering, vol.7, no.2, pp. 51-59, Mar/Apr, 2005 2 Sanjay Ghemawat etc , The Google file system, SOSP 2003 3Jeffrey Dean etc , MapReduce: Simplified Data Processing on Large Clusters, Sanjay Ghemawat, OSDI 2004 4 Fay
31、Chang etc , Bigtable: A Distributed Storage System for Structured Data, Fay Chang, OSDI 2006 5 Rajkumar, Toni Cortes, Hai Jin, SINGLE SYSTEM IMAGE (SSI). International Journal of High Performance Computing Applications , Volume 15 , Issue 2 (May 2001) pp: 124 - 1356 Jeffrey S. Chase etc, Dynamic Vir
32、tual Clusters in a Grid Site Manager, HPDC 03 7 Christine Morin etc, Kerrighed and Data Parallelism: Cluster Computing on Single System Image Operating Systems, IEEE Cluster 04 8R. Lottiaux etc, OpenMosix, OpenSSI and Kerrighed: A Comparative Study, CCGrid 05 9Barak A. and Laadan O., The MOSIX Multi
33、computer Operating System for High Performance Cluster Computing. Journal of Future Generation Computer Systems, Vol. 13, No. 4-5, pp. 361-372, March 1998. 10 Ron Brightwell etc, A Performance Comparison of Linux and a Lightweight Kernel. Cluster 2003. 11Jean-Charles Tournier, Towards a Framework fo
34、r Dedicated Operating Systems Development in High-End Computing Systems, ACM SIGOPS Operating Systems Review , Volume 40 , Issue 2 (April 2006) 12 Jose Moreira etc, Designing a highly-scalable operating system: the blue Gene/L story, SC 06. 13 Y. Aridor etc, Resource allocation and utilization in th
35、e Blue Gene/L supercomputer, IBM Journal of Research and Development, Vol.49, No.2/3, 2005 14K. Appleby etc, Ocano-SLA Based Management of a Computing Utility, Proceedings of the 7th IFIP/IEEE International Symposium on Integrated Network Management, IEEE, New York (2001). 名师资料总结 - - -精品资料欢迎下载 - - -
36、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 15 Desai, R. Bradshaw etc, Component-Based Cluster Systems Software Architecture: A Case Study , Cluster 2004 16 Zhan, J., Wang, L., Tu, B., Wang, H., Zhang, Z., Jin, Y., Wen, Y., Chen, Y., Wang, P., Qiu, B., Meng, D.,
37、 and Sun, N. 2007. The design methodology of Phoenix cluster system software stack. In Proceedings of the 2007 Asian Technology information Programs (Atips) 3rd Workshop on High Performance Computing in China: Solution Approaches To Impediments For High Performance Computing (Reno, Nevada, November
38、11 - 11, 2007). CHINA HPC 07. ACM, New York, NY, 174-182. 17 孙凝晖,刘淘英,支持网格的机群操作系统的设计,计算机研究与发展,2002 年 8 月 18 洪学海,詹剑锋、樊建平、张志宏,应用驱动的高效能计算机系统的研究与发展计算机研究与发展 2007.10 19 Jianfeng Zhan, Ninghui Sun, Fire Phoenix Cluster Operating System Kernel and its Evaluation, IEEE Cluster 2005. 20 Jianfeng Zhan, Lai Wang
39、 etc, a layered design methodology of cluster system software stack, IEEE Cluster 2007. 21 Krste Asanovic, Ras Bodik etc,, The Landscape of Parallel Computing Research: A View from Berkeley, Technical Report No. UCB/EECS-2006-183, December 18, 2006 22Andrew A.Chien, pervasive parallel computing, key
40、note, PPoPP 07. 23 孙凝晖,个人高性能计算机,中国计算机学会通讯,2006年,第 2 卷,第 1 期。 24 Jianfeng zhan, Lei Wang etc, Taotao: facilitating hosting environment as a service, submitted to IEEE Cluster 08. 25 孟丹、詹剑锋等,一体化机群操作系统Phoenix,计算机研究与发展 2005.6 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -