【豆丁-热门】-轻量级核心在HPC中的应用现状研究

 CN4321258/TP  ISSN10072130X     计算机工程与科学
COMPU TER EN GIN EERIN G&SCIENCE
2009年第31卷第A1期 
 Vol131,No1A1,2009 
文章编号:10072130X(2009)A120300203
轻量级核心在H PC中的应用现状研究3
Research of t he Applicatio n State
of t he Lightweight Kernel in H PC Fileld
周 龙,殷红武,朱建涛
ZH OU Long,YIN H ong2w u,ZHU Jian2tao
(江南计算技术研究所,江苏无锡214083)
(Jiangnan I nstitute of Computing T echnology,Wuxi214083,China)
摘 要:本文对HPC中轻量级核心的背景、特点、发展现状进行了总结介绍,典型分析了Cray XT3Catamount、Cray XT4CNL以及IBM B G/L CN K等L W K的结构设计和运行机制,最后对L W K的发展进行了总结展望。
Abstract:The paper is a introduction and conclusion of lightweight kernel,give a perspective to the background、charac2 teristics and developing status of it in HPC field at present.it is typically give a analyses of Cray XT3Catamount、Cray XT4 CNL and IBM B G/L CN K,investigate their structures and mechanisms.Finally,there is a conclusion and prospection of L W K.
关键词:HPC;轻量级核心;L W K;Catamount;CN K;CNL
K ey w ords:HPC;lightweight kernel;L W K;Catamount;CN K;CNL
doi:10.3969/j.issn.10072130X.2009.A1.085
中图分类号:TP391文献标识码:A
1 引言
Linux核心是许多HPC使用的操作系统内核。随着技术的发展,用户对HPC提出了更高的性能以及应用要求,从而使核心的发展有分化的趋势。一种是针对特定应用的向定制操作系统核心的方向发展,即所谓轻量级核心(L W K);另一种是面向更多综合的多种应用目的的多功能核心。
L W K是为了大大提高系统的性能而将Kernel中的其他不相关功能全部去掉而剩余的精简部分。例如,为了提高计算能力,核心会增加对计算有贡献的资源部分,去掉影响计算的部分,如当一个处理器触发一个中断时,其它处在并行计算阶段的处理器不会去等待它。在高性能计算领域,L W K基本上都是为了计算性能而服务的,在这种情况下,它支持单用户独占计算资源,不受任何影响地快速完成任务。国际上已经研制和使用的轻量级核心有nCUB E上的Vertex,Cray XT3上的Catamount[1]、Cray XT4上的CNL和IBM B G/L上的CN K[2]等。
HPC(High Performance Computer,简称HPC)系统都对操作系统的开销很敏感。由于传统的计算机系统为了多种目的,将操作系统设计成一个支持大范围应用的模型,为此提供了大量的系统进程,而且这些进程都彼此相关。这些大量进程的开销导致了并行应用程序占有处理器时间的不可预测性,比如一个MPP的应用程序进程在它有更进一步进展之前必须等待共享与之相关进程的中间结果。这些同步事件都在应用程序代码的具体的点产生,如果一个处理器要用更多的时间到达那个点,那么其他的处理器就必须等待,总的结束时间就会增加。随着多核的发展,现代HPC的规模越来越大,成千上万的处理器的使用使系统更加复杂,同步的要求更高,规模庞大的处理器使并行程序的占有时间更加
不可预测,等待的时间更长,增加了大量的开销,使总体性能变差。
为了减少核间中断等待、通信等同步开销,提高性能,大型高性能计算机厂商选择在计算的结点上不使用一个普通的Linux操作系统,而是发展轻量级的操作系统。比如, Cray XT4就在Compute nodes(计算节点)上使用了轻量级的核心CNL。
0033收稿日期:2009207213;修订日期:2009209210
作者简介:周龙(19852),男,宁夏西吉人,硕士生,研究方向为操作系统。
通讯地址:214083江苏省无锡市33信箱031号;Tel:158****4918;E2mail:lollol@live Address:P.O.Box332031,Wuxi,Jiangsu214083,P.R.China
两个凡是2 LWK的特点
普通核心在HPC上有噪声放大化的缺点。一般的HPC采用的是多用户多进程的多目的操作系统。由于是多用户,故应用是基于时间片的,在固定的时间片里只有一个用户的程序在运行,而其他的在等待;由于是多进程,进程之间的通信、全局变量以及锁等的设置、中断的触发是普遍存在的,在这些情况发生的时候,往往是其他核挂着等待某一个核的处理结果。由于以上两种情况的存在,导致HPC中多核环境下同步等待时间不可预测和过长,应用程序效率低下,性能大打折扣。现在HPC中普遍利
用的虚拟化技术可以解决资源的利用率问题,但是性能方面会有损失。
L W K(Light Weight Kernel,简称L W K)采用的是单用户单进程(比如CN K)或者单用户少数进程(比如Cata2 mount等)的方式来大幅度提高性能,如此,在多核条件下,一个核只需要运行一个用户进程,没有核间中断,没有时钟中断干扰,没有上下文切换,不仅大大缩短了用户程序执行的效率,而且没有浪费CPU的计算资源。对于L W K来说,有以下几个很重要的特点:
(1)最大化利用CPU资源:降低操作系统和时间系统的开销,通过删除不用或者开销大的服务来降低操作系统的开销,去掉或者简化时间系统来避免中断或者时间片机制等对执行的应用程序的干扰。如此,使CPU全部用于单个应用程序的执行,提高了效率。
(2)最大化利用内存资源:小内存但是支持大页。大页的使用可以大大减小Cache Miss和TLB刷新次数,从而提高效率。
(3)最大化利用网络资源:虽然有的L W K支持虚拟地址,比如说Catamount,但是L W K都没有虚拟内存,而是在物理上连续的地址映射。这种DMA式的方式可以大大提高传输性能。
(4)增加稳定性:由于是针对特定应用开发,不使用大量多余的服务,所以只有少量的代码基础,降低了复杂性,稳定性增加。
(5)可扩展性:L W K调度的操作系统资源独立于作业大小。
从其特点上就可以看出众多L W K的优点。L W K不仅可以删除不必要的系统服务,减少系统占用资源,而且还可以将用户软件与操作系统捆绑到一起,系统初始化完之后直接运行用户程序到结束,完全屏蔽操作系统对用户程序的干扰,降低系统噪声。
3 LWK的发展现状
在TOP500的HPC中,最典型的L W K就是Cray XT3上的Catamount与IBM B G/L上的CN K。Catamount 最初起源于Sandia。SUNMOS[3]是Sandia开发的第一个可以在Intel Paragon系统的计算节点上运行的轻量级系统;在此基础上诞生了PUMA[4]操作系统;随后,Intel又将PUMA使用到了ASCI Red TFLOPS[5]系统上,创造了Cougar操作系统;最后,Cougar被移植到Cray的XT3系统上并被命名为Catamount。由此可以看出,国外的L W K 已经使用了好几代,并取得了优异的性能。而国内才刚刚起步,需要借鉴国外L W K技术以及经验来开发自己的L W K。
随着虚拟化技术研究的深入,尤其是硬件对虚拟化的支持以及软件技术的成熟,虚拟操作系统在HPC中的应用将展开。在虚拟化的环境下,L W K可以在一个虚拟操作系统中运行单用户单进程。如此,两者相互配合,可以在降低甚至取消虚拟化带来的性能损失的基础上,大大提高资源的利用率以及应用程序执行效率,降低系统噪声。
4 典型LWK阿拓莫兰
4.1 C atamount
4.1.1 Catamount的设计特点
Catamount使用的对象是由成千上万的处理器连同分布式内存以及一个紧密结合的网络组成的大规模并行环境,为科学应用提供必须的支持。它强调效率高于功能,最大化分配给应用程序资源的数量(比如CPU、内存以及网络带宽),减小运行时间以争取尽快完成应用。
为了达到提高性能的设计目标,Catamount采取从功能上划分MPP的方式。即Catamount在以密集计算为目的的处理器上运行,并依靠MPP中的其它处理器来执行另外的服务。这些服务处理器运行Linux并提供交互式的开发环境、I/O、高速连接到外部服务。
养路工人之歌4.1.2 Catamount的结构组成
Catamount操作系统包括一个精髓的核心(Quintes2 sential Kernel,简称Q K)和一个进程控制线程(PCT)。PCT和Q K一起工作提供了一个完整的操作系统。PCT 用来决定一个新进程应该使用什么物理内存、虚拟内存,并且在PCT的命令下,Q K将为新进程建立一个硬件所需要的虚拟地址结构。PCT将决定下一个要运行的是哪个进程;同样,在PCT的要求下,Q K将会刷新Cache,设置硬件寄存器并
且运行这个进程。在这里,资源管理和执行核心任务(Kernel Task Execution)之间还是有明显区别的,PCT 负责设置规则,而Q K负责执行它们。它们的基本结构如图1所示
图1 计算型处理器组成部分
Catamount的物理内存结构布局如图2所示。
当Q K安装了PCT,那么其余剩下的物理内存都被包括进了PCT的堆栈中。当PCT载入一个应用程序,它将没收其堆空间一部分给这个应用。这是很重要的,因为它意味着用户的应用程序在PCT的地址空间范围内,这将方便PCT支持应用程序的编译器以及核心的堆处理。
虽然Catamount支持虚拟地址,但是它并不支持虚拟
103
图2 物理内存布局
内存,这是Catamount的很重要的性能特点。磁盘使用虚拟地址与直接内存访问相比非常慢,平均失败时间更小,而且阻止了应用的可预测性。Catamount内存管理的另外一个特性就是使用2MB的页,大页的使用可以大大减小Cache Miss和TLB刷新次数。小页一般是为了更有效地使用虚拟内存。
4.1.3 Q K与内部控制进程、Y od
Q K在操作系统的最底层,它基于硬件之上,运行代表PCT和用户级进程的服务。Q K支持的一小部分任务需要在特权优先级的模式下执行,包括网络请求服务、中断处理和错误处理。如果是由应用导致的错误或者中断,控制权将会移交给PCT来处理。Q K也可以执行由PCT产生的特权请求,包括运行进程、上下文转换、虚拟地址转换和验证。但是,Q K并不会管理计算节点上的资源,它只是为执行PCT的规则提供必须的机制以及执行必须在特权模式下才能执行的具体任务。Q K为PCT能与应用程序交流信息提供了一个陷阱(Trap)机制,包含了众多的Trap s调用。
PCT是一个具有特权的用户级进程,执行与操作系统相关的函数。它拥有读写访问所有用户空间内存入口的权利,并负责管理所有的操作系统资源,包括进程加载、作业调度和内存管理。即使Q Ks之间不进行通信,在节点上已经分派到一个并行应用进程的PCTs也会相互交流来启动、管理、甚至在一些时候关掉作业。PCT使用一个邮箱(mailbox)的结构提供与应用程序的接口。
Y od是运行时间系统并行作业发射器的一个组成部分。Y od是xnc的一个后续版本,xnc是用于nCube超级计算机的一个作业发射器。Y od与一个计算节点分配器联系来获取一系列的计算节点信息,然后与基础PCT配合将用户的环境和执行环境移动到计算节点。
4.1.4 Catamount库
如果只靠Q K和PCT组成Catamount操作系统并不是十分有用。系统库可以为使用其服务的应用程序
提供了一个有效机制。每个应用程序都有4个重要的库连接: libc、libcatamount、libsysio和libportals[6]。libc是将glibc 库进行大量裁减后形成的,以支持轻量级操作系统的特性。libsysio库通过函数提供多元化的I/O来支持特别的目标指向I/O的文件系统。libcatamount提供了远程程序调用(RPC)机制为应用进程和yod程序通信使用,同时提供了一个本地的malloc用来支持大内存的分配。libportals是一个分离的、低级别的网络编程接口。
4.2 CN L
CNL(Compute Node Linux,简称CNL)使用于Cray XT4超级计算机的计算节点上。Cray一直认为,为了增加性能,尤其重要的是增加并行性能,需要将操作系统对应用程序运行的影响降到最小。故CNL可以看成是一个将操作系统干扰成份去掉的一个完全的Linux操作系统。CNL 不支持N FS,没有动态库,但是支持多达20k的计算套接字;因为它是基于Linux,所以它使用了页请求的内存映射策略,即一个进程到物理内存的映射是在其执行时通过on2the2fly方式决定的;CNL解决了线程级程序的需求,比如OpenMP、pthreads;使用linux I/O缓存来支持更好的I/ O性能;用户没有任何直接访问计算节点的机会,需要大批处理器来完成的工作一般都是通过应用层任务分配调度器AL PS(Application Level Placement Scheduler,简称AL PS)来控制的。
4.3 CNK
CN K是一个类Linux的kernel,支持一套系统调用以及两种运行模式;CIOD管理计算节点以及执行I/O文件操作;任务的启动和结束都受到控制系统的驱使。
4.3.1 CN K的特点
CN K的特点如下:
(1)CN K是一个简单的类Linux的kernel,一次只运行一个进程;由于对应用程序的划分,只使用较少的内存;支持绑定的编译器。
(2)CN K提供一些Linux系统调用的子集,如File I/ O、文件目录操作、信号、进程信息、时间、套接字等。
(3)不支持异步通信;不支持Linux处理器之间的通信;不支持服务器端的套接字A PIs;不支持poll()或者se2 lect();对定时器进行有限的支持。
4.3.2 CN K的模式刘义庆
CN K有两种运行模式:第一种是协处理器模式,这时应用程序运行在处理器0上,在处理器1上有特别有限的资源环境,MPI使用这个模式来进行通信。第二种模式是虚拟节点模式,这时应用程序被同时加载和运行于两个处理器,内存被平分,由应用程序负责共享资源。模式在boot 的时候进行选择。
4.3.3 CN K的功能调用
B G也是采用计算节点与I/O节点分开的方式。所有的I/O操作必须在I/O结点上进行处理,而CIOD是一个运行在I/O节点上的用户应用程序,用于管理计算节点来控制系统,可以管理描述符、工作目录和对计算节点umask 的操作,以及对计算节点执行所有的I/O操作;同时,管理调试器连接到计算节点。对不同的机器,计算节点和I/O 节点的比率是不同的。在CIOD与计算节点之间的通信都是通过tree网络的虚拟通道0来完成的
图3 CN K的功能调用
(下转第323页)
203
[9] K im H k,Jean J.Concurrency Preserving Partitioning(CPP)
for Parallel Logic Simulation[C]∥Proc of t he10t h Work2 shop on Parallel and Distributed Simulation,1996:982105. [10] Chang Kai2Hui,Wang Han2Wei,Yeh Y i2Jong,et al.Auto2
matic Partitioner for Distributed Parallel Logic Simulation
[C]∥Proc of Int’l Conf on Modeling Simulation and Opti2
mization,2004.
[11] 司照凯,巨锦鹏,等.一种基于NC2Verilog的并行逻辑模拟
[C]∥2008年全国高性能计算机学术年会论文集,2008:
3562361.
[12] Roger D C,Cheryl D H.Evaluating t he Use of Pre2Simula2
tion in VL SI Circuit Partitioning[C]∥Proc of t he8t h
Workshop on Parallel and Distributed Simulation,1994:
1392146.
[13] J Graph Ltd.J Graph and J Graph Layout Pro User Manual
[EB/OL].[2007205203].www.jgraph.
(上接第302页)
  举个write系统调用的例子。首先,应用程序发出调用write系统调用的请求;CN K将请求分解成多条信息,这些信息的大小可以配置,每条信息都传给CIOD;CIOD接收到消息后调用write,并将结果传送回计算节点。CN K 从每条信息收集到结果,并在所有的数据收集完毕后或者出错后将结果传回应用程序。
5 结束语
在高性能计算领域,为了实现高性能和高可用,国际上的高性能计算机厂商都纷纷使用功能划分节点的方法,I/ O节点、计算节点、服务管理节点都有很清晰的划分,各司其职。计算节点采用的L W K可以大大提高计算性能,而其自身的管理被大大地简化或者转移到外围的I/O节点和服务节点上。为了满足客户的需求以及获得更高的性能,计算节点内部还会有更细致的划分,适当地在计算节点上增加一些服务或者增加服务节点,针对不同的应用运行方式开发定制应用的L W K,并与虚拟化技术相结合,真正实现HPC的高性能、高可用、高可靠。
参考文献:
[1] Kelly S M,Brightwell R.Software Architecture of t he Light2
weight Kernel[C]∥Proc of t he2005Cray User Group Annu2 al Technical Conf,2005.
[2] Adiga N R,et al.An Overview of t he Blue Gene/L Supercom2
puter[C]∥Proc of SC20022High Performance Networking and Computing,Baltimore,2002.
[3] Maccabe A B,McCurley K S,Riesen R,et al.Wheat,SUN2钟阳阳
MOS for t he Intel Paragon:A Brief User’s Guide[Z].presen2 ted at Intel Supercomputer U sers’Group,1994.
[4] Wheat S R,Maccabe A B,Riesen R E,et al.PUMA:An Op2
erating System for Massively Parallel Systems[J].Journal of Scientific Programming,1994,3(4):2752288.
[5] Matt son T G,Scott D,Wheat S R.A Tera FLOP Supercom2
puter in1996:The ASCI TFLOP System[C]∥Proc of t he Int’l Parallel Processing Symp,1996.[6] Brightwell R,Riesen R,Lawry B,et al.Portals3.0:Protocol
Building Blocks for Low Overhead Communication[C]∥Proc of t he2002Workshop on Communication Architecture for Clusters,2002.
(上接第314页)
第二文库GAsDock。在一个基于Xeon3.0GHz CPU的基准测试中,使用Dock6筛选一个分子的平均时间约为98秒,使用Dock4的时间为40秒,而使用GAsDock的时间为8秒。
表2 SPECS筛选案例        s 分子库规模Dock6Dock4GAsDock 100002062380291794
50000104795412619033
1000002113818304918477
  在本例中,通过DD Grid在位于三个不同地理位置的四个计算资源上提交药物筛选任务,经过最长近三天的计算,得到正确的筛选结果。运行期间发生结点失效、作业失效等异常情况,均通过监控与容错机制得到排除,证明了其整体设计的有效性。
6 结束语
本文介绍了用于大规模药物虚拟筛选的新药研发网格(DD Grid),它能够快速有效地整合Internet上零星而分散的资源结点,完成一般由大规模高性能计算机才能承担的药物虚拟筛选任务。其特点包括:
(1)易扩展:地理位置、物理结构、网络配置不同的计算资源、各种新的筛选工具都可以方便的加入到网格中,大大增强了系统可用性;
(2)健壮性:通过反馈式机制的网格资源监控与对应的任务故障检测与恢复机制,DD Grid能够稳定地支持大规模长时间的虚拟筛选任务;
(2)好用性:基于B/S的用户图形界面,操作简单,方便使用。
在后续工作中,DD Grid将应用于实际的新药研发工作,在诸如抗禽流感化合物、抗甲型H1N1流感病毒化合物的研究中发挥积极作用。
参考文献:
[1] 李洪林,沈建华,罗小民,等.虚拟筛选与新药发现[J].生命
科学,2005.
[2] Foster L,Kesselman C,Tuecke S.The Atanomy of Grid[EB/
OL].[2003211203].
[3] Li H,Li C,Gui C,et al.GAsDock:A New Approach for Rap2
id Flexible Docking Based on an Improved Multi2population Genetic Algorit hm[J].Bioorg Med Chem Lett,2004,14: 467124677.
[4] Gamma R H,Johnson R,Vlissides J.Design Patterns:Ele2
ment s of Reusable Object2Oriented Software[M].Addison2 Wesley,1995.
323

本文发布于:2024-09-25 10:22:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/231484.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:计算   节点   进程   应用程序   系统   应用
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议