[发明专利]虚拟机过度分配环境下的MPI消息接收方法无效
申请号: | 201010290600.8 | 申请日: | 2010-09-26 |
公开(公告)号: | CN101968749A | 公开(公告)日: | 2011-02-09 |
发明(设计)人: | 金海;邵志远;胡侃;王强;谢雪娇;李大江;周文博 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/455 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 过度 分配 环境 mpi 消息 接收 方法 | ||
技术领域
本发明属于虚拟机环境下的MPI(Message Passing Interface)通信技术领域,具体来说就是提出了一种改善MPI并行程序在虚拟机过度分配环境下的通信性能的方法。
背景技术
自从虚拟化技术复兴以后,基于其上的软件技术逐渐成为一个重要的研究领域。如今,利用虚拟化技术构建高性能计算应用所需的运行环境正成为一种流行趋势。在众多的虚拟化技术中,由于Xen允许多台虚拟处理器同时运行在一台物理处理器上且系统开销较小,因此应用较为广泛。本方法所采用的实验平台就是Xen。
同传统计算模式相比,虚拟化技术的出现带来了许多好处。比如资源聚合,降低能耗,处理机器失效,改善程序移植性,还可以协助调试复杂的程序代码等。在虚拟化技术中,为了更好的复用系统底层物理资源,物理处理器封装并虚拟出多个虚拟处理器,通过调用虚拟处理器到物理处理器上,Xen创造出一台物理机上共存多个操作系统的假象。
在虚拟机计算模式中,同时存在两种调度机制:在用户操作系统中,操作系统将应用进程调度到虚拟处理器上;在虚拟化层中,虚拟机管理器将虚拟处理器调度到物理处理器上运行。然而,在现今的虚拟机体系结构中,这两种调度机制是相互独立执行的。这在一定程度上影响了那些需要通过MPI进行通信的高性能计算负载的性能。这种负面影响在虚拟机过度分配(即一个物理处理器上分配了不止一个虚拟处理器)的情况下显得更为突出。
通过分析和实验得知, 在过度分配虚拟机环境下,通过MPI进行通信会带来一些性能损耗,这些损耗主要来自于MPI消息接收机制中的“忙等”现象。MPI的消息接收机制如下:对于阻塞式接收操作,MPI库会不断的轮询套接字文件描述符集或者共享内存直到接收到所需数据已到达的消息。在这个过程中,该消息接收机制并不会使持有阻塞式消息接收进程的虚拟处理器进入阻塞状态,相反它会使该虚拟处理器一直运行直到当前时间片结束,这样就产生了所谓的“忙等”现象,即该阻塞式消息接收进程一直等待接收所需数据已到达的消息。这种“忙等”现象会浪费较多的处理器资源。为了解决这个问题,MPI使用了一种基于阈值的高效机制,具体方法为若阻塞式消息接收进程在轮询预定义的次数后仍未接收到所需数据已到达的消息就得通过在用户操作系统中进行系统调用以放弃该进程所占用的处理器资源。根据实验我们发现,在过量分配虚拟处理器系统下,该机制并不能有效的改善高性能计算负载下的MPI通信性能。
发明内容
本发明的目的是提供一种虚拟机过度分配环境下的MPI消息接收方法。该方法独立于虚拟机层调度机制,通过修改MPI库中的消息接收机制,使虚拟机环境下两种调度机制即用户操作系统调度进程到虚拟处理器和虚拟机管理器调度虚拟处理器到物理处理器相互协作来提高系统性能。
本发明提供的一种虚拟机过度分配环境下的MPI消息接收方法包括下述步骤:
第1步 令t=0,t为轮询次数;
第2步 阻塞式消息接收进程轮询套接字文件描述符集或者共享内存,若接收到所需数据已到达的消息则转第10步,否则令t=t+1,然后进入第3步;
第3步 判断t≥T是否成立,T为预定义的最大轮询次数,如果成立,则令t=0后转第4步,否则转第2步;
第4步 所述接收进程调用sched_yield函数,释放该进程当前所占有的虚拟处理器资源,记录此时时间,记为t1;
第5步 所述虚拟处理器所属的虚拟机中的用户操作系统查询该虚拟处理器的运行队列,选择一个可以调度的进程调度运行;
第6步 所述接收进程再次被调度执行时,记录此时时间,记为t2;
第7步 判断t2与t1的差值是否小于预先设定的阈值,如果是,转第8步,否则转第2步;
第8步 所述接收进程通过超级调用hypercall通知虚拟机管理器,通知其执行虚拟处理器的重新调度操作;
第9步 虚拟机管理器执行虚拟处理器的重新调度操作;
第10步 所述阻塞接收进程处理接收到的消息。
本发明方法在虚拟机过度分配环境下利用了用户操作系统和虚拟化层中两种不同的调度机制相互合作提高了MPI通信性能。本发明通知适时将用户操作系统中的调度信息报告给虚拟机管理器以通知虚拟机管理器重新调度虚拟处理器的方法来减少因MPI库消息接收机制产生的“忙等”现象而引起的性能损耗。具体而言,本发明方法具有以下优点或用途:
(1)系统性能的提高
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010290600.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于FPGA的星载计算机自主切机系统
- 下一篇:基于闪存的磁带仿真方法