超级计算机系统虚拟化方法和装置转让专利

申请号 : CN202110536246.0

文献号 : CN113254151B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵文来黄震春杨广文

申请人 : 清华大学

摘要 :

本申请提出一种超级计算机系统虚拟化方法,涉及云计算领域,其中,超级计算机系统虚拟化方法包括:超算资源虚拟化,通过抽象描述方法将超级计算机中的部分资源抽象为虚拟化资源;普通用户根据实际需要在线申请虚拟化资源。采用上述方案的本申请解决了传统的超级计算机通常面向专业用户提供远程登录、远程桌面等方式使用超级计算机,在超算操作和编程等方面有很高的知识和技能要求,超算资源使用有一定门槛的问题,实现了结合超算应用的实际需求,通过虚拟化的手段将超算的各种能力从超算资源实体中抽象出来,以服务的形式提供给普通用户,达到降低超算使用门槛,支持超算平民化的目标。

权利要求 :

1.一种超级计算机系统虚拟化方法,其特征在于,包括超算资源虚拟化,通过下述步骤实现所述超算资源虚拟化:通过抽象描述方法将超级计算机中的部分资源抽象为虚拟化资源;

普通用户根据实际需要在线申请所述的虚拟化资源;

在所述对超级计算机中的部分资源进行虚拟化中,所述部分资源包括超级计算机中的队列、节点、核组、栈空间、堆空间、共享内存、共享/私有和近端/远端;其中,将所述超级计算机中的所述队列、所述节点和核组虚拟化为计算机节点;

将所述超级计算机中的所述栈空间、所述堆空间和共享内存虚拟化为内存资源;

将所述超级计算机中的所述共享/私有和所述近端/远端虚拟化为文件系统;

所述超级计算机系统虚拟化方法还包括超级管理虚拟化,通过下述方法实现所述超级管理虚拟化:第一云计算数据中心接收外网客户端发送的数据请求;

超云平台接收由所述第一云计算数据中心处理后的数据请求,其中,所述超云平台部署在第二云计算数据中心上;

超算中心接收由所述超云平台处理后的数据请求并将其处理为简化指令,并根据所述简化指令调用所述超算中心的资源进行计算处理;

第三云计算数据中心接收由所述超算中心的处理结果。

2.如权利要求1所述的超级计算机系统虚拟化方法,其特征在于,所述超级计算机系统虚拟化方法还包括将操作所述超级计算机的指令抽象为简单指令。

3.如权利要求1所述的超级计算机系统虚拟化方法,其特征在于,在所述超算中心接收由所述超云平台处理后的数据请求并将其处理为简化指令,并根据所述简化指令调用所述超算中心的资源进行计算处理中,所述超算中心包括内网服务器和超级计算机,其中,所述内网服务器将由所述超云平台处理后的数据请求处理简化指令,并将所述简化指令提交给所述超级计算机计算处理。

4.如权利要求3所述的超级计算机系统虚拟化方法,其特征在于,在根据所述简化指令调用所述超算中心的资源进行计算处理中,所述计算处理包括对作业的调用和监控,针对所述对作业的调用和监控,超级计算机包括作业监控接口和作业调用接口;其中,所述作业监控接口包括作业列表展示、作业状态查询、作业日志查询和节点资源查询,所述作业状态查询针对所述作业列表展示结果中的某一项作业进行查询。

5.如权利要求4所述的超级计算机系统虚拟化方法,其特征在于,所述作业调用接口包括数据上传、数据查看、作业提交和作业终止,其中,通过所述数据上传和所述数据的接口访问所述超级计算机上的资源;其中,在数据上传时,当上传文件大小大于100MB时,所述上传文件通过桌面工具上传到所述超级计算机的存储中,且当数据上传或者存储中已存在所述的上传文件时,进行作业提交;

当上传文件大小不大于100MB时,所述上传文件通过浏览器直接上传到所述超级计算机的存储中,且当数据上传或者存储中已存在所述的上传文件时,进行作业提交。

6.如权利要求1或2所述的超级计算机系统虚拟化方法,其特征在于,所述超级计算机系统虚拟化方法还包括超算应用服务虚拟化,通过面向服务的架构对所述超级计算机中的所述部分资源进行重构,形成面向普通用户的超算服务。

7.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1‑6中任一所述的方法。

8.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1‑6中任一所述的方法。

说明书 :

超级计算机系统虚拟化方法和装置

技术领域

[0001] 本申请涉及云计算技术领域,尤其涉及一种超级计算机系统虚拟化方法和计算机设备。

背景技术

[0002] 随着科技的发展,信息技术已融入到各个行业当中,且技术已经成熟,传统的计算方式在应用中已经难以满足现今的市场需求。云计算的出现促进了信息技术的发展,并且在信息领域占据着越来越重要的位置,正是目前的研究热点。现在是追求效率的时代,社会机构和经济主体正在逐步发展自己的云计算技术,进而不断提升自我经济效益,同时在一定程度上提升社会效益。
[0003] 狭义上讲,云计算是一种提供资源的网络,使用者可以随时获取“云”上的资源,按需求量使用,并且可以看成是无限扩展的,只要按使用量付费就可以。从广义上说,云计算是与信息技术、软件、互联网相关的一种服务,这种计算资源共享池叫做“云”,云计算把许多计算资源集合起来,通过软件实现自动化管理,只需要很少的人参与,就能让资源被快速提供。
[0004] 对于普通计算机组成的服务器集群的云计算技术已经普及度较高,如阿里云、腾讯云等等,针对超级计算机的云计算服务还处于初级阶段。
[0005] 我国在超级计算机研制方面处于世界领先水平,但在超算应用方面仍有巨大进步空间,主要原因是超级计算机的使用门槛较高,目前的用户以科研机构和学院科研人员为主,普通用户较少。传统的超级计算机通常面向专业用户提供远程登录、远程桌面等方式使用超级计算机,对用户在超算操作和编程等方面有很高的知识和技能要求。超算中心面临提高资源利用率、促进应用普及的挑战。

发明内容

[0006] 本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
[0007] 为此,本申请的第一个目的在于提出一种超级计算机系统虚拟化方法,解决了传统的超级计算机通常面向专业用户提供远程登录、远程桌面等方式使用超级计算机,用户需要通过编写命令和程序来使用超算的各种资源和功能,在超算操作和编程等方面有很高的知识和技能要求,超算资源使用有一定门槛的问题,同时解决了我国在超级计算机研制方面处于世界领先水平,但在超算应用方面仍有巨大进步空间的问题,实现了效仿普通云空间的虚拟云存储、云服务,基于当前虚拟计算和服务计算的研究成果,结合超算应用的实际需求,通过虚拟化的手段将超算的各种能力从超算资源实体中抽象出来,并以服务的形式提供给普通用户,从而达到降低超算使用门槛,支持超算平民化的目标。
[0008] 本申请的第二个目的在于提出一种计算机设备。
[0009] 本申请的第三个目的在于提出一种非临时性计算机可读存储介质。
[0010] 为达上述目的,本申请第一方面实施例提出了一种超级计算机系统虚拟化方法,包括:超算资源虚拟化,通过抽象描述方法将超级计算机中的部分资源抽象为虚拟化资源;普通用户根据实际需要在线申请虚拟化资源。
[0011] 可选地,在本申请的一个实施例中,超级计算机系统虚拟化方法还包括将操作超级计算机的指令抽象为简单指令。
[0012] 可选地,在本申请的一个实施例中,在对超级计算机中的部分资源进行虚拟化中,部分资源包括超级计算机中的队列、节点、核组、栈空间、堆空间、共享内存、共享/私有和近端/远端;其中,
[0013] 将超级计算机中的队列、节点和核组虚拟化为计算机节点;
[0014] 将超级计算机中的栈空间、堆空间和共享内存虚拟化为内存资源;
[0015] 将超级计算机中的共享/私有和近端/远端虚拟化为文件系统。
[0016] 可选地,在本申请的一个实施例中,超级计算机系统虚拟化方法还包括超级管理虚拟化,通过下述方法实现超级管理虚拟化:
[0017] 第一云计算数据中心接收外网客户端发送的数据请求;
[0018] 超云平台接收由第一云计算数据中心处理后的数据请求,其中,超云平台部署在第二云计算数据中心上;
[0019] 超算中心接收由超云平台处理后的数据请求并将其处理为简化指令,并根据简化指令调用超算中心的资源进行计算处理;
[0020] 第三云计算数据中心接收由超算中心的处理结果。
[0021] 可选地,在本申请的一个实施例中,在超算中心接收由超云平台处理后的数据请求并将其处理为简化指令,并根据简化指令调用超算中心的资源进行计算处理中,超算中心包括内网服务器和超级计算机,其中,
[0022] 内网服务器将由超云平台处理后的数据请求处理简化指令,并将简化指令提交给超级计算机计算处理。
[0023] 可选地,在本申请的一个实施例中,在根据简化指令调用超算中心的资源进行计算处理中,计算处理包括对作业的调用和监控,针对对作业的调用和监控,超级计算机包括作业监控接口和作业调用接口;其中,
[0024] 作业监控接口包括作业列表展示、作业状态查询、作业日志查询和节点资源查询,作业状态查询针对作业列表展示结果中的某一项作业进行查询。
[0025] 可选地,在本申请的一个实施例中,作业调用接口包括数据上传、数据查看、作业提交和作业终止,其中,通过数据上传和数据的接口访问超级计算机上的资源;其中,[0026] 在数据上传时,当上传文件大小大于100MB时,上传文件通过桌面工具上传到超级计算机的存储中,且当数据上传或者存储中已存在的上传文件时,进行作业提交;
[0027] 当上传文件大小不大于100MB时,上传文件通过浏览器直接上传到超级计算机的存储中,且当数据上传或者存储中已存在的上传文件时,进行作业提交。
[0028] 可选地,在本申请的一个实施例中,超级计算机系统虚拟化方法还包括超算应用服务虚拟化,通过面向服务的架构对超级计算机中的部分资源进行重构,形成面向普通用户的超算服务。
[0029] 为达上述目的,本发明第二方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述超级计算机系统虚拟化方法。
[0030] 为了实现上述目的,本发明第三方面实施例提出了一种非临时性计算机可读存储介质,当存储介质中的指令由处理器被执行时,能够执行超级计算机系统虚拟化方法。
[0031] 本申请实施例的超级计算机系统虚拟化方法、计算机设备和非临时性计算机可读存储介质,解决了传统的超级计算机通常面向专业用户提供远程登录、远程桌面等方式使用超级计算机,用户需要通过编写命令和程序来使用超算的各种资源和功能,在超算操作和编程等方面有很高的知识和技能要求,超算资源使用有一定门槛的问题,同时解决了我国在超级计算机研制方面处于世界领先水平,但在超算应用方面仍有巨大进步空间的问题,实现了效仿普通云空间的虚拟云存储、云服务,基于当前虚拟计算和服务计算的研究成果,结合超算应用的实际需求,通过虚拟化的手段将超算的各种能力从超算资源实体中抽象出来,并以服务的形式提供给普通用户,从而达到降低超算使用门槛,支持超算平民化的目标。
[0032] 本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

[0033] 本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0034] 图1为本申请实施例一所提供的一种超级计算机系统虚拟化方法的流程图;
[0035] 图2是本申请实施例的超级计算机系统虚拟化方法的超算资源虚拟化图。

具体实施方式

[0036] 下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0037] 下面参考附图描述本申请实施例的超级计算机系统虚拟化方法和装置。
[0038] 图1为本申请实施例一所提供的一种超级计算机系统虚拟化方法的流程图。
[0039] 如图1所示,该超级计算机系统虚拟化方法,包括以下步骤:超算资源虚拟化,[0040] 步骤101,通过抽象描述方法将超级计算机中的部分资源抽象为虚拟化资源;
[0041] 步骤102,普通用户根据实际需要在线申请虚拟化资源。
[0042] 本申请实施例的超级计算机系统虚拟化方法,包括:超算资源虚拟化,通过抽象描述方法将超级计算机中的部分资源抽象为虚拟化资源;普通用户根据实际需要在线申请虚拟化资源。由此,本申请能够解决传统的超级计算机通常面向专业用户提供远程登录、远程桌面等方式使用超级计算机,用户需要通过编写命令和程序来使用超算的各种资源和功能,在超算操作和编程等方面有很高的知识和技能要求,超算资源使用有一定门槛的问题,同时解决了我国在超级计算机研制方面处于世界领先水平,但在超算应用方面仍有巨大进步空间的问题。本申请通过效仿普通云空间的虚拟云存储、云服务,基于当前虚拟计算和服务计算的研究成果,结合超算应用的实际需求,通过虚拟化的手段将超算的各种能力从超算资源实体中抽象出来,将超级计算机的计算、存储、软件等资源虚拟化后,用户只需要了解云计算的基本知识,就可以根据需要在线申请超级计算机的计算资源,同时操作超级计算机的指令也被进行了相应的抽象简化,方便了超级计算机应用开发人员,也使得习惯于使用命令行操作的普通用户也只需要通过简单的指令输入,就可以进行作业提交,从而达到降低超算使用门槛,实现“超算平民化”的目标。
[0043] 进一步地,在本申请实施例中,超级计算机系统虚拟化方法还包括将操作超级计算机的指令抽象为简单指令。
[0044] 将超级计算机的计算、存储、软件等资源虚拟化后,操作超级计算机的指令也被进行了相应的抽象简化。如表一所示,根据超级计算机实际资源的抽象描述,作业提交指令也作出相应的抽象。虚拟化指令减少了部分非必需参数,合并了部分被抽象的资源访问参数,达到了简化指令的效果。
[0045]
[0046] 表一
[0047] 进一步地,在本申请实施例中,在对超级计算机中的部分资源进行虚拟化中,部分资源包括超级计算机中的队列、节点、核组、栈空间、堆空间、共享内存、共享/私有和近端/远端;其中,
[0048] 将超级计算机中的队列、节点和核组虚拟化为计算机节点;
[0049] 将超级计算机中的栈空间、堆空间和共享内存虚拟化为内存资源;
[0050] 将超级计算机中的共享/私有和近端/远端虚拟化为文件系统。
[0051] 根据其可共享性的差别,超算资源可以被分成两类:独占性的资源和共享性的资源,两类不同的资源在虚拟化的方法和技术上有着截然不同的特点。超算的大部分硬件资源,如处理器、内存、互连网络、存储空间等在同一个时刻只能为一个用户服务,是一种独占性的资源;超算的软件资源,如超算的管理软件和应用软件,可以同时为多个用户提供服务,是一种共享性的资源。针对两类不同的资源,提出不同的抽象描述方法,以描述用户对这些资源的需求和超算提供这些资源的服务能力。在不同的抽象描述方法基础之上,将针对这两类不同的超算资源,研究和提出了相应的管理策略和调度方法,解决虚拟资源使用过程中的关键问题。如独占性资源管理的关键问题是将用户的虚拟资源需求和系统的实际资源供给在时间轴上予以适配,从而提高超算系统的整体效率和对用户需求的适配程度。最后需要将这些管理策略和调度方法在现有的超算系统上予以实现,从而达到超算资源虚拟化的目的。
[0052] 进一步地,在本申请实施例中,超级计算机系统虚拟化方法还包括超级管理虚拟化,通过下述方法实现超级管理虚拟化:
[0053] 第一云计算数据中心接收外网客户端发送的数据请求;
[0054] 超云平台接收由第一云计算数据中心处理后的数据请求,其中,超云平台部署在第二云计算数据中心上;
[0055] 超算中心接收由超云平台处理后的数据请求并将其处理为简化指令,并根据简化指令调用超算中心的资源进行计算处理;
[0056] 第三云计算数据中心接收由超算中心的处理结果。
[0057] 超算管理虚拟化主要体现为超级计算机对外接口的虚拟化,用户可以通过HTTP请求将数据及任务描述提交给数据中心及超云平台,经过处理后的数据提交给超算中心内部服务器,最后提交相应指令给超级计算机,调用超算资源进行计算,操作简单便捷。
[0058] 进一步地,在本申请实施例中,在超算中心接收由超云平台处理后的数据请求并将其处理为简化指令,并根据简化指令调用超算中心的资源进行计算处理中,超算中心包括内网服务器和超级计算机,其中,
[0059] 内网服务器将由超云平台处理后的数据请求处理简化指令,并将简化指令提交给超级计算机计算处理。
[0060] 进一步地,在本申请实施例中,在根据简化指令调用超算中心的资源进行计算处理中,计算处理包括对作业的调用和监控,针对对作业的调用和监控,超级计算机包括作业监控接口和作业调用接口;其中,
[0061] 作业监控接口包括作业列表展示、作业状态查询、作业日志查询和节点资源查询,作业状态查询针对所述作业列表展示结果中的某一项作业进行查询。
[0062] 进一步地,在本申请实施例中,作业调用接口包括数据上传、数据查看、作业提交和作业终止,其中,通过数据上传和数据的接口访问超级计算机上的资源;其中,[0063] 在数据上传时,当上传文件大小大于100MB时,上传文件通过桌面工具上传到超级计算机的存储中,且当数据上传或者存储中已存在的上传文件时,进行作业提交;
[0064] 当上传文件大小不大于100MB时,上传文件通过浏览器直接上传到超级计算机的存储中,且当数据上传或者存储中已存在的上传文件时,进行作业提交。
[0065] 进一步地,在本申请实施例中,超级计算机系统虚拟化方法还包括超算应用服务虚拟化,通过面向服务的架构对超级计算机中的部分资源进行重构,形成面向普通用户的超算服务。
[0066] 超算应用服务虚拟化主要表现为使用“面向服务的架构”对各种超算资源进行重构,形成面向普通用户的超算服务,使得各种超算资源能够以服务的方式被使用,从而达到简单、易用、用户友好的目标。
[0067] 对超算资源和超算服务进行分类,需要针对不同类型的超算服务制定资源服务的使用规范和访问标准。对于虚拟化的超算系统来讲,资源与服务是紧密相连的两个概念,资源是服务得以实现的物质基础,而服务则是资源对用户的表现形式。在构建的虚拟化超算系统中,一切服务均基于超算系统中的各种超算资源所提供,而超算系统的各种资源都必须通过超算服务来访问。因此,超算的服务化与超算资源的分类和描述息息相关,对于不同种类的超算资源,有着不同的服务化方法。如对于硬件资源的服务化,通常是通过对作业管理、任务调度、状态监控等超级计算机管理功能的服务化来实现的;而软件资源的服务化,则通常通过对软硬件资源的打包形成“软件即服务”的服务结构来实现。
[0068] 图2是本申请实施例的超级计算机系统虚拟化方法的超算资源虚拟化图。
[0069] 如图2所示,在超级计算机系统虚拟化方法中,超级计算机中的队列、节点、核组实际资源虚拟化为计算节点,用户在申请超级计算机资源时不需要阅读复杂的资源描述文档,只需要根据自己项目所需的并行数选择对应的计算节点。超级计算机中的栈空间、堆空间和共享内存统一虚拟为内存资源,同时不再区分共享和私有,近端和远端,访问统一的文件系统可获取到相应的资源。
[0070] 为了实现上述实施例,本发明还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述施例的超级计算机系统虚拟化方法。
[0071] 为了实现上述实施例,本发明还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例的超级计算机系统虚拟化方法。
[0072] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0073] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0074] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
[0075] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0076] 应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0077] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0078] 此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0079] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。