高性能计算任务在虚拟化平台上的节能调度
2016-08-04李建敦
李建敦
(上海电机学院 电子信息学院, 上海 201306)
高性能计算任务在虚拟化平台上的节能调度
李建敦
(上海电机学院 电子信息学院, 上海 201306)
摘要对于虚拟计算系统(如云计算的基础设施即服务)而言,除对外提供简单的单虚拟机外,还需要通过虚拟小组来响应高性能计算任务的服务请求。此时,伴随节点间通信峰值而来的网络拥塞问题是影响计算效率提升的关键点。从可持续发展的角度入手,以高性能计算(HPC)任务在虚拟化平台上的最优部署为目标,通过对称多处理虚拟机的应用,提出了一种基于布局的节能调度方法。仿真实验显示,该方法能够有效缓解虚拟化平台中的通信峰值问题,同时较大幅度地降低高性能计算任务的运行时间。
关键词高性能计算任务; 云计算; 虚拟化; 节能调度
在一些计算系统的设计环节,如传感器网络[1]、有限电源支持设备等,能耗往往扮演重要角色。近年来,这种局面已经扩展到了其他系统,包括超级计算机、数据中心等大规模计算平台[2]。同时,随着云计算[3-4]被广泛接受与大范围应用,虚拟化逐渐成为集中计算系统,特别是商业数据中心的主流发展趋势。
虚拟化环境中,如云数据中心[5],为了应对云外用户的高性能计算(High Performance Computing, HPC)任务需求,往往需要将多个虚拟机联合起来实现协同调度(Co-Schedule)。在此场景中,随着主机间通信峰值而来的网络拥塞问题是影响计算效率提升的关键,因此,如何缓解通信峰值问题,实现平台内部网络的有效利用是面临的巨大挑战。
作为绿色计算分支之一,上述问题已经得到了广泛研究。考虑到能耗主要集中于网络设备[6-7]的事实,减少电子元器件(如各级门)的规模将有助于能耗的控制。Roberts[8]着眼下一代网络,提出了重新设计现有路由器的思路。从网络协议入手,Chen等[9]初次考虑了以太网的节能编码问题,并通过改进降低了20%的能耗。上述方法都要求改变当前已广泛应用的以太网底层设计,但短期内较难实施。
通过性能扩展与空逻辑,Bolla等[10]和Wierman等[11]通过网络请求队列的调整节约了能源;然而该方法依赖大规模的流量配置,打乱了原有的先进先出序列,有造成大量请求延误的风险。为了减少在唤醒与休眠状态间的切换次数,Nedevschi等[12]强制性规定了网络操作的发生概率。为了促使网络设备进入深度睡眠,Jimeno等[13]设置了网络连接代理。Wang等[14]认为大多数网络管理问题源自路由器的物理与逻辑配置间的紧耦合,于是提出了虚拟路由器的思想,以使物理与逻辑解耦,方便网络负载的动态迁移,从而将剩余的物理路由器置于节能模式。不同于围绕网络设备的扩展类方法,上述方法无疑会影响虚拟平台上正在运行的其他任务。本文聚焦网络拥塞的一般源头,即由HPC任务子程序间的频繁通信来寻找解决方案。
对于多虚拟机的节能部署,业界同样已有工作积累。Ma等[15]针对目标计算系统,不管其是否配备有动态电压扩展(Dynamic Voltage Scaling, DVS),提出了HPC任务的节能调度算法,能够在维持任务运行时间的基础上降低能耗。Verma等[16]同样提出了一个考虑能耗的调度方法。通过工作流历史及其对未来流量的预测,Bradley等[17]成功降低了承载网络应用平台的能耗。同样的工作还可以在文献[18-22]中找到,但他们的计算平台并未采用虚拟化技术。
从上层管理角度出发,本文利用对称多处理虚拟机替代单核虚拟机,为HPC任务在虚拟化平台上的部署引入了一种基于布局的节能协同调度方法(Layout Based Power-efficient Co-scheduling Approach, LPC),以节省更多的带宽资源。仿真实验表明,该算法能够较大程度地避免物理节点间的通信,有效缓解了网络峰值问题,并缩短了计算任务的执行时间。
1节能协同调度算法
1.1理论基础
在节能调度的前期研究[23]中,针对如何将计算任务部署至虚拟化的物理节点上的问题,设置了3个标准,即请求响应时间、节约的能耗与负载均衡度,并给出了4个范式来评估部署的级别与优劣。
设有N个节点,每个节点能够承载最多M个虚拟机,它们共同构成全集U。其中,子集S由所有处于休眠状态的节点构成。此外,有两个标注节点状态的函数,其中,F(i)表示节点i上的负载规模,其值为整型,值域为[0,M];而Z(i)表示节点i的状态(即唤醒与休眠状态),其值为布尔型,用“0”表示工作状态,“1”表示休眠状态。对于节能与负载均衡间的协调,引入了4个范式来评估。
范式1全集U中的任意节点i均满足F(i)>0或Z(i)=1,即
(1)
(2)
(3)
由于虚拟机的封装性,可能存在工作负载的分布虽未达到完全均衡,但已不能再优化的情况,故将范式3的要求放宽,形成范式4。
(4)
此外,文献[23]中,针对虚拟机的部署问题,提出了一个复合的节能调度方案,它由预启动技术和最小负载优先放置算法构成。然而,该方案并不适用本文提出的问题,原因如下: ① 以独立的虚拟机为调度的基本单位,并未考虑虚拟机间的通信;② 调度优劣的衡量标准并未涉及网络拥塞状况。
1.2调度算法
在云计算的服务级别XaaS(X as a Service)中,对于日常应用,如虚拟桌面等,单个虚拟机(Unique Virtual Machine, UVM)足以满足用户需求;然而,对于分布式计算任务,如基于消息传递模型(Message Passing Interface, MPI)的HPC任务,UVM就难以胜任了。同时,多个虚拟机共同服务一个计算任务也并不仅仅是虚拟机的简单集成,更是多个虚拟机的协同调度与通信优化的问题。
在通信效率与网络负载方面,同一物理节点上的虚拟机通信与跨节点间的虚拟机通信之间,存在着显著差异[16]。为了有效地利用网络,本文深化了基于布局的方法,以虚拟小组为单位,实现了HPC任务在虚拟平台上的节能部署。
由于节点间的虚拟机通信会影响其上正在运行的其他虚拟机的效率,特别是交互性强的任务,如虚拟桌面类,故在实际工作中,需要尽量避免两种情况: ① 跨物理机部署的虚拟小组;② 非隶属于同一虚拟小组的虚拟机共享同一物理机。具体方案如下: ① 同虚拟小组内的所有虚拟机共享同一台物理机;② 开辟专用的节点区域专门服务特定的虚拟小组。
对于并行计算任务来讲,可以用单一的对称多处理虚拟机(Symmetric Virtual Machine, SVM)来代替多个独立的虚拟机。与UVM相比,SVM的作用在于突破了客机操作系统所形成的屏障,以类似物理机上进程的形式完成通信。对于负载均衡的指标,继续以最小负载优先算法来操作。考虑到完成HPC任务往往需要多个虚拟机协同配合才能完成,因此,预启动技术既不现实也不必要。面向节能调度的4个范式,HPC任务的节能调度算法如下。
部署n核HPC任务的算法描述(n≥M)如下:
2仿真实验
为了验证算法的有效性,本文搭建了测试平台进行了大量实验。仿真平台由4台PC机(HP Compad dc 7900)组成,每台皆为4核(Intel(R) Core(TM) 2 Quad CPU Q8400 2.66GHz),内存为4GB,硬盘为300GB,通过100Mbit/s以太网交换机实现互连,操作系统为Ubuntu Server 9.10 AMD64。选取1台PC机为控制节点,其他为计算节点(N=3)。云计算管理中间件采用Eucalyptus[25],网络流量监测通过Ntop来实现。虚拟机的类型有5种,如表1所示。
本文在算例方面生成了两个消息传递型并行任务(Message Passing Interface, MPI)A和B,其中,任务A由2个相互通信(100000次)的进程组成;而任务B需要实现6个进程之间的广播操作(15000次),由于6个进程需要同时运行,故必须部署到2个或更多的节点上。具体的拆分方式有4种,按每个节点上的核数排列为1-2-3、2-2-2、2-4、3-3。
表1 虚拟机类型及配置Tab.1 VM types and configuration
然后,利用轮盘赌、贪心算法与本文的LPC算法分别对算例进行调度。实验结果表明,轮盘赌、贪心算法的下一个部署决策受当前的虚拟机分布情况影响较大,而LPC较直接地搜索出当前拥有最小负载的子集,并将虚拟小组均衡地部署上去。因此,本文仅给出了UVM/SVM及其不同模式下的网络负载比较,如图1、2所示。
图1 网络负载Fig.1 Network load
由图1(a)可见,除了LPC(即SVM曲线),轮盘赌与贪心算法(合并为UVM曲线)都耗费了较多的带宽。以任务A为例,其网络峰值最高可达 3Mbit/s,而通过将这些任务限定于单一节点后,通信平稳,并未出现较大的波动,验证了节点间、节点内与进程间通信的较大差异。由图1(b)可见,对于不同的模式,承载的节点越少,其占用的带宽就越少,它们之间呈正相关,这是由于节点间通信流量小的结果;模式1-2-3、2-4与3-3较模式2-2-2更稳定,模式3-3是最稳定的。
由图2可知,在相同的部署模式下,SVM的网络峰值都要略高于UVM,这是由于进程在操作系统内部的通信更迅捷,故造成流量较虚拟机间的通信更大。然而,由于SVM的响应时间要比UVM的1/2还少(见表2),因此,整体而言,依然是SVM更优。
在执行时间方面,任务A和B的差距同样明显。在UVM下,对任务A的执行需要150.6s,而SVM只需0.14s。对于任务B,在不同模式下,SVM较UVM的执行时间平均下降了74.25%;由表2可见,除模式2-2-2外,模式承载的节点越少,所需时间也越少,这同样是由于网络峰值所致,而模式2-2-2需要3个节点,并不符合范式4的要求。
图2 任务B的网络负载Fig.2 Network load of Job B
模式执行时间/sUVMSVM下降率/%1-2-3469.82183.7460.92-2-2375.6584.5877.52-4727.87153.6778.93-3626.04127.0079.7
3结语
随着服务器虚拟化技术的广泛应用,如云数据中心,互联网服务商已经可以面向HPC任务提供请求即响应服务。但是,如何有能效地服务HPC用户依然是个问题。本文从管理角度入手,通过SVM的应用提出了一个节能协同调度算法。仿真实验显示,该算法能够避免大量的节点间通信,缓解了网络峰值问题,减少了HPC任务的运行时间。
参考文献
[1]范念飞,刘雨,李庆,等.联合模拟网络编码和压缩感知的数据传输方案[J].重庆邮电大学学报(自然科学版),2012,(5): 566-572.
[2]ORGERIE C,ASSUNCAO M D,LEFEVRE L.A survey on techniques for improving the energy efficiency of large scale distributed systems[J].ACM Computing Surveys,2014,46(4): 1-35.
[3]ARMBRUST M,FOX A,GRIFFITH R,et al. A view of cloud computing[J].Communications of the ACM,2010,53(4): 50-58.
[4]谭伟,董守斌,梁兴建.云计算环境下强竞争力制造资源构建及其云服务建模[J].小型微型计算机系统,2015,36(12): 2634-2638.
[5]BERL A,GELENBE E,GIROLAMO M D,et al. Energy-efficient cloud computing[J].Computer Journal,2010,53(7): 1045-1051.
[6]BOLLA R, BRUSCHI R,DAVOzLI F,et al. Energy efficiency in the future Internet: A survey of existing approaches and trends in energy-aware fixed network infrastructures[J].IEEE Communications Surveys and Tutorials,2011,13(2): 223-244.
[7]POPOUIC-GERBER J,OLIVER J A,CORDERO N,et al.Power electronics enabling efficient energy usage: Energy savings potential and technological challenges[J].IEEE Transactions on Power Electronics,2012,27(5): 2338-2353.
[8]ROBERTS L G.A radical new router[J].IEEE Spectrum,2009,46(7): 34-39.
[9]CHEN Yanpei,WANG T X.,KATZ R.H.Energy efficient Ethernet encodings[C]∥33rd IEEE Conference on Local Computer Networks.Montreal,QB,Canada: IEEE,2008: 122-129.
[10]BOLLA R,BRUSCHI R,DAVOLI F,et al.Performance constrained power consumption optimization in distributed network equipment[C]∥2009 IEEE International Conference on Communications Workshops.Dresden: IEEE,2009: 1-6.
[11]WIERMAN A,Andrew L H,Tang A O.Power-aware speed scaling in processor sharing systems[C]∥Proceedings of IEEE INFOCOM.[S.L.]: IEEE,2009: 2007-2015.
[12]NEDEVSCHI S,POPA L,IANNACCONE G,et al. Reducing network energy consumption via sleeping and rate-adaptation[C]∥Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation.Berkeley,CA,USA: USENIX,2008: 323-336.
[13]JIMENO M,CHRISTENSEN K,NORDMAN B.A network connection proxy to enable hosts to sleep and save energy[C]∥IEEE International Conference on Performance,Computing and Communications Conference.[S.L.]: IEEE,2008: 101-110.
[14]WANG Yi,KELLER E,BISKEBORN B,et al. Virtual routers on the move: live router migration as a network-management primitive[J].ACM SIGCOMM Computer Communication Review,2008,38(4): 231-242.
[15]MA Yan,GONG Bin,GUO Zhihong,et al. Energy-aware scheduling of parallel application in hybrid computing system[J].Chinese Journal of Electronics,2014,23(4): 688-694.
[16]VERMA A,AHUJA P,NEOGI A.Power-aware dynamic placement of HPC applications[C]∥Proceedings of the 22nd annual international conference on Supercomputing.New York,NY,USA: ACM,2008: 175-184.
[17]Bradley D,Harper R,Hunter S.Workload-based power management for parallel computer systems[J].IBM Journal of Research and Development,2003,47(5/6): 703-718.
[18]KANT K,MURUGAN M,DU D H C.Enhancing data center sustainability through energy adaptive computing[J].ACM Journal of Emerging Technologies in Computing Systems,2012,8(4): 1-20.
[19]SATOH F,YANAGISAWA H,TAKAHASHI H,et al. Total energy management system for cloud computing[C]∥2013 IEEE International Conference on Cloud Engineering(IC2E).Redwood City,CA: IEEE,2013: 233-240.
[20]PIGA L,BERGAMASCHI R A,BRETERNITZ M,et al.Adaptive global power optimization for web servers[J].Journal of Supercomputing,2014,68(3): 1088-1112.
[21]SHEIKH H F,Tan Hengxing,AHMAD I,et al.Energy- and performance-aware scheduling of tasks on parallel and distributed systems[J].ACM Journal of Emerging Technologies in Computing Systems,2012,8(4): 1-37.
[22]GARG S K,YEO C S,ANANDASIVAM A,et al.Environment-conscious scheduling of HPC applications on distributed cloud-oriented data centers[J].Journal of Parallel and Distributed Computing,2011,71(6): 732-749.
[23]LI Jiandun,PENG Junjie,ZHANG Wu.A scheduling algorithm for private clouds[J].Journal of Convergence Information Technology,2011,6(7): 1-9.
[24]SOUTHERN G,HWANG D,BARNES R.SMP virtualization performance evaluation[EB/OL].(2015-10-12).http:∥users.soe.ucsc.edu/~gsouther/papers/vpact09_gmu.pdf.
[25]NURMI D,WOLSKI R,GRZEGORCZYK C,et al.The eucalyptus open-source cloud-computing system[C]∥9th IEEE/ACM International Symposium on Cluster Computing and the Grid.Shanghai: IEEE,2009: 124-131.
收稿日期:2016-04-04
作者简介:李建敦(1982-),男,讲师,博士,主要研究方向为高性能计算与云计算,E-mail: lijd@sdju.edu.cn
文章编号2095-0020(2016)03-0164-06
中图分类号TP 393.01
文献标识码A
Power-Efficient Schedule of High Performance Computing Jobs on Virtualized Platforms
LIJiandun
(School of Electronic Information Engineering, Shanghai Dianji University, Shanghai 201306, China)
AbstractFor virtualized computing systems, e.g., infrastructure as a service of cloud computing, there is demand from on-demand users to run high performance computing (HPC) jobs using a virtual group (VG) besides providing simple single virtual machine (VM). In this case, network jam always occurs during communication peaks among VMs within a VG, especially when they are co-serving a HPC job. Thus, they are challenging problems to alleviate network peaks and to use the network efficiently in terms of power consumption. This paper introduces a layout-based power-efficient co-scheduling algorithm for HPC jobs hosted by virtualized platforms. In these platforms, symmetric multiprocessing virtual machine is recommended against unique processor virtual machine. Simulation indicates that the proposed algorithm out performs others in managing networking peaks of virtualized environment and shortening execution time of HPC jobs.
Keywordshigh performance computing job; cloud computing; virtualization; energy-saving scheduling
项目支持: 上海高校青年教师培养资助计划资助(14AZ23);上海电机学院科研启动金项目资助(13QD01);上海电机学院重点学科资助(13XKJ01)