CN104793924B - 计算任务的处理方法及装置 - Google Patents
计算任务的处理方法及装置 Download PDFInfo
- Publication number
- CN104793924B CN104793924B CN201410027640.1A CN201410027640A CN104793924B CN 104793924 B CN104793924 B CN 104793924B CN 201410027640 A CN201410027640 A CN 201410027640A CN 104793924 B CN104793924 B CN 104793924B
- Authority
- CN
- China
- Prior art keywords
- client
- many
- core
- virtual
- core resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种计算任务的处理方法及装置,在上述方法中,根据客户端经由虚拟通用计算API发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源;响应客户端经由虚拟通用计算API发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作;接收客户端经由虚拟通用计算API发送的计算任务,在经过初始化处理后的虚拟众核资源上对计算任务进行计算,并将计算结果反馈至客户端。根据本发明提供的技术方案,摆脱了对物理实体设备的依赖,实现了对众核设备的虚拟化,同时也为服务器端众核资源的维护提供了便利。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种计算任务的处理方法及装置。
背景技术
目前,随着众核硬件和高性能计算软件的不断发展,众核的强大计算能力在越来越多的领域中发挥着重要的作用,其需求也愈加广泛。众核高性能计算是一种中央处理器(CPU)+众核异构模式下的应用,相关技术中所采用的众核高性能计算的模式是由CPU准备数据、分配内存空间并向众核提交计算任务,然后在众核上进行计算,每当完成计算后,再将计算结果传递回CPU。这种异构模式决定了必须由本地CPU实际操作众核资源,众核则以协处理器的角色完成对并行计算的加速,从而提升系统的整体计算能力。图1是根据相关技术的CPU+众核异构模式的示意图。如图1所示,网络中除节点1之外的其余节点都不能直接利用节点1中的众核进行高性能计算,如果其它节点需要使用节点1中的众核,必须向节点1提供完整的计算实例和数据,或者,利用节点1上固有的计算实例对新数据进行计算。此外,其它节点提供的计算实例还必须能够兼容节点1的操作系统和众核设备。
开放运算语言(Open Computing Language,简称为OpenCL)是一个为异构平台编写程序的框架,在高性能计算中存在广泛的应用。OpenCL编程主要可以分为以下两个步骤:
第一步、OpenCL程序需要进行平台的初始化,其中,可以包括:众核平台的选择、众核设备的选择和上下文的初始化,OpenCL运行时模块是在上下文环境中运行的;
第二步、编写OpenCL运行时的模块代码,OpenCL运行时的模块可以包括:命令队列、程序对象、内核对象和内存对象的创建和初始化,其中,平台的初始化过程就是一个绑定众核设备资源的过程,而运行时模块则是在平台上进行通用计算实现的过程。通过对平台的抽象处理是可以独立于平台的。
相关技术中已经提出的技术方案是一种通过利用虚拟OpenCL设备作为与计算云的接口来加速OpenCL应用的方法和装置。该方法通过利用虚拟OpenCL设备作为与计算云的接口提供远程OpenCL设备的使用,该过程对用户是透明的。通过此方法用户不需要修改应用代码即可达到卸载OpenCL工作量到服务器的目的。这种方法虽然解决了利用远程众核设备进行高性能计算的问题,但仍然需要用户按照传统的OpenCL编程方式进行编程,而且还是建立在用户必须对众核设备可见的基础上进行的,其实际上没有真正做到对众核设备的虚拟化。
综上所述,相关技术中的计算实例必须依赖具体设备而无法实现对众核设备的虚拟化。
发明内容
本发明提供了一种计算任务的处理方法及装置,以至少解决相关技术中的计算实例必须依赖物理实体设备而无法实现对众核设备的虚拟化的问题。
根据本发明的一个方面,提供了一种计算任务的处理方法。
根据本发明实施例的计算任务的处理方法包括:根据客户端经由虚拟通用计算应用程序接口(API)发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源;响应客户端经由虚拟通用计算API发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作;接收客户端经由虚拟通用计算API发送的计算任务,在经过初始化处理后的虚拟众核资源上对计算任务进行计算,并将计算结果反馈至客户端。
优选地,根据客户端经由虚拟通用计算API发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源包括:接收来自于客户端的申请虚拟众核资源的注册请求消息,其中,注册请求消息中携带有待获取的虚拟众核资源的一项或多项性能指标;根据注册请求消息以及当前可供使用的全部虚拟众核资源的分配情况为客户端分配虚拟众核资源,并向客户端反馈应答消息,其中,应答消息中携带有与一项或多项性能指标相关的虚拟众核资源的属性信息。
优选地,响应客户端发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作包括:响应客户端经由虚拟通用计算API发送的对虚拟众核资源执行的初始化请求,其中,初始化请求是由客户端根据获取到的属性信息来决定的;将初始化请求分配至与虚拟众核资源对应的服务进程,由服务进程对初始化请求进行合法性检查,并在通过检查后对虚拟众核资源进行初始化。
优选地,接收计算任务,对计算任务进行计算包括:接收来自于客户端的计算请求,其中,计算请求中携带有计算任务;将接收到的计算请求分发至服务进程,并采用服务进程从计算请求中解析出计算任务;将计算任务提交至虚拟众核资源,对计算任务进行计算。
优选地,将计算结果反馈至客户端包括:接收客户端经由虚拟通用计算API发送的获取计算结果的请求消息;采用服务进程根据接收到的获取计算结果的请求消息将计算结果返回至客户端。
根据本发明的另一方面,提供了一种计算任务的处理装置。
根据本发明实施例的计算任务的处理装置包括:分配模块,用于根据客户端经由虚拟通用计算应用程序接口(API)发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源;初始化模块,用于响应客户端经由虚拟通用计算API发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作;计算模块,用于接收客户端经由虚拟通用计算API发送的计算任务,在虚拟众核资源上对计算任务进行计算,并将计算结果反馈至客户端。
优选地,分配模块包括:第一接收单元,用于接收来自于客户端的申请虚拟众核资源的注册请求消息,其中,注册请求消息中携带有待获取的虚拟众核资源的一项或多项性能指标;分配单元,用于根据注册请求消息以及当前可供使用的全部虚拟众核资源的分配情况为客户端分配虚拟众核资源,并向客户端反馈应答消息,其中,应答消息中携带有与一项或多项性能指标相关的虚拟众核资源的属性信息。
优选地,初始化模块包括:响应单元,用于响应客户端经由虚拟通用计算API发送的对虚拟众核资源执行的初始化请求,其中,初始化请求是由客户端根据获取到的属性信息来决定的;初始化单元,用于将初始化请求分配至与虚拟众核资源对应的服务进程,由服务进程对初始化请求进行合法性检查,并在通过检查后对虚拟众核资源进行初始化。
优选地,计算模块包括:第二接收单元,用于接收来自于客户端的计算请求,其中,计算请求中携带有计算任务;解析单元,用于将接收到的计算请求分发至服务进程,并采用服务进程从计算请求中解析出计算任务;计算单元,用于将计算任务提交至虚拟众核资源,对计算任务进行计算。
优选地,计算模块包括:第三接收单元,用于接收客户端经由虚拟通用计算API发送的获取计算结果的请求消息;反馈单元,用于采用服务进程根据接收到的获取计算结果的请求消息将计算结果返回至客户端。
通过本发明实施例,采用根据客户端经由虚拟通用计算API发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源;响应客户端经由虚拟通用计算API发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作;接收客户端经由虚拟通用计算API发送的计算任务,在经过初始化处理后的虚拟众核资源上对计算任务进行计算,并将计算结果反馈至客户端,即利用远程虚拟众核设备进行高性能计算的用户在客户端通过虚拟通用计算API向服务器端申请虚拟众核资源、实现高性能计算实例;服务器端则根据客户端的申请分配和调整众核资源,为用户分配虚拟众核资源,并执行客户端虚拟通用计算API相应的高性能计算API向众核设备提交计算任务进行计算;最终将计算结果反馈给用户,由此解决了相关技术中的计算实例必须依赖物理实体设备而无法实现对众核设备的虚拟化的问题,进而摆脱了对物理实体设备的依赖,实现了对众核设备的虚拟化,同时也为服务器端众核资源的维护提供了便利。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的CPU+众核异构模式的示意图;
图2是根据本发明实施例的计算任务的处理方法的流程图;
图3是根据本发明实施例的计算任务的处理装置的结构框图;
图4是根据本发明优选实施例的计算任务的处理装置的结构框图;
图5是根据本发明优选实施例的使用远程虚拟众核设备进行高性能计算的系统结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图2是根据本发明实施例的计算任务的处理方法的流程图。如图2所示,该方法可以包括以下处理步骤:
步骤S202:根据客户端经由虚拟通用计算API发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源;
步骤S204:响应客户端经由虚拟通用计算API发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作;
步骤S206:接收客户端经由虚拟通用计算API发送的计算任务,在经过初始化处理后的虚拟众核资源上对计算任务进行计算,并将计算结果反馈至客户端。
相关技术中的计算实例必须依赖物理实体设备而无法实现对众核设备的虚拟化。采用如图2所示的方法,利用远程虚拟众核设备进行高性能计算的用户在客户端通过虚拟通用计算API向服务器端申请虚拟众核资源、实现高性能计算实例;服务器端则根据客户端的申请分配和调整众核资源,为用户分配虚拟众核资源,并执行客户端虚拟通用计算API相应的高性能计算API向众核设备提交计算任务进行计算;最终将计算结果反馈给用户,由此解决了相关技术中的计算实例必须依赖物理实体设备而无法实现对众核设备的虚拟化的问题,进而摆脱了对物理实体设备的依赖,实现了对众核设备的虚拟化,同时也为服务器端众核资源的维护提供了便利。
需要说明的是,虚拟通用计算API不再向用户呈现物理信息,而只有性能参数差异,整个过程中用户只需要根据通过虚拟通用计算API获取的虚拟众核设备的性能参数进行用例实现,而众核设备相关的管理操作完全由服务器端屏蔽。
优选地,在步骤S202中,根据客户端经由虚拟通用计算API发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源可以包括以下操作:
步骤S1:接收来自于客户端的申请虚拟众核资源的注册请求消息,其中,注册请求消息中携带有待获取的虚拟众核资源的一项或多项性能指标;
步骤S2:根据注册请求消息以及当前可供使用的全部虚拟众核资源的分配情况为客户端分配虚拟众核资源,并向客户端反馈应答消息,其中,应答消息中携带有与一项或多项性能指标相关的虚拟众核资源的属性信息。
在优选实施例中,需要启动服务器端,同时启动众核设备,然后由服务器端对可供使用的众核资源进行统计。另外,还需要启动客户端,客户端应用通过虚拟通用计算API向服务器端申请虚拟计算资源(即向服务器端发起注册请求),其中,该申请虚拟计算资源的请求中携带有所需众核资源的性能指标,例如:是否需要支持双精度浮点计算、计算性能指标、工作项大小或者工作组大小等属性。服务器端接收到该客户端发送的注册请求消息,根据当前的众核资源分配情况确定为客户端分配的众核资源,然后向客户端返回应答消息,其中,该应答消息中携带有服务器端反馈的与所需众核资源的性能指标对应的虚拟众核属性信息。
优选地,在步骤S204中,响应客户端发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作可以包括以下步骤:
步骤S3:响应客户端经由虚拟通用计算API发送的对虚拟众核资源执行的初始化请求,其中,初始化请求是由客户端根据获取到的属性信息来决定的;
步骤S4:将初始化请求分配至与虚拟众核资源对应的服务进程,由服务进程对初始化请求进行合法性检查,并在通过检查后对虚拟众核资源进行初始化。
在优选实施例中,客户端应用通过虚拟通用计算API初始化虚拟众核计算平台,按照申请虚拟众核设备时获取到的虚拟众核设备的属性信息对相应的虚拟众核设备进行初始化,其中,初始化操作可以包括:需要初始化的虚拟众核设备以及该虚拟众核设备需要创建的队列数量以及队列属性等信息。服务器端接收到客户端发送的初始化请求消息,然后将客户请求分发至对应的服务进程进行处理。服务进程在对客户请求进行解析后,根据客户端申请成功的虚拟众核资源表进行相关操作的合法性检查。在检查通过后,执行对应的通用计算API,将客户请求分解后调用OpenCL API对指定的虚拟众核进行初始化,完成对实际的众核的平台层操作,并将操作结果返回给客户端,如果客户端相关操作的参数超出了所申请的资源,则返回客户端相关错误信息,不执行其所请求的操作。
优选地,在步骤S206中,接收计算任务,对计算任务进行计算可以包括以下操作:
步骤S5:接收来自于客户端的计算请求,其中,计算请求中携带有计算任务;
步骤S6:将接收到的计算请求分发至服务进程,并采用服务进程从计算请求中解析出计算任务;
步骤S7:将计算任务提交至虚拟众核资源,对计算任务进行计算。
在优选实施例中,在对虚拟众核设备初始化成功后,客户端应用调用通过虚拟通用计算API进行高性能计算的组织,例如:内存对象、程序对象、内核对象的创建工作以及向众核设备提交计算数据,并启动内核进行计算等操作。服务器端接收到客户端发送的计算请求,将该计算请求分发至对应的服务进程进行处理,服务进程在对计算请求进行解析后,执行对应的虚拟计算API,以完成相关操作。
优选地,在步骤S206中,将计算结果反馈至客户端可以包括以下步骤:
步骤S8:接收客户端经由虚拟通用计算API发送的获取计算结果的请求消息;
步骤S9:采用服务进程根据接收到的获取计算结果的请求消息将计算结果返回至客户端。
在优选实施例中,客户端可以通过虚拟通用计算API获取操作结果,服务器端的服务进程根据客户端的请求将计算结果返回至客户端。
图3是根据本发明实施例的计算任务的处理装置的结构框图。如图3所示,该计算任务的处理装置可以包括:分配模块10,用于根据客户端经由虚拟通用计算应用程序接口(API)发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源;初始化模块20,用于响应客户端经由虚拟通用计算API发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作;计算模块30,用于接收客户端经由虚拟通用计算API发送的计算任务,在虚拟众核资源上对计算任务进行计算,并将计算结果反馈至客户端。
采用如图3所示的装置,解决了相关技术中的计算实例必须依赖物理实体设备而无法实现对众核设备的虚拟化的问题,进而摆脱了对物理实体设备的依赖,实现了对众核设备的虚拟化,同时也为服务器端众核资源的维护提供了便利。
优选地,如图4所示,分配模块10可以包括:第一接收单元100,用于接收来自于客户端的申请虚拟众核资源的注册请求消息,其中,注册请求消息中携带有待获取的虚拟众核资源的一项或多项性能指标;分配单元102,用于根据注册请求消息以及当前可供使用的全部虚拟众核资源的分配情况为客户端分配虚拟众核资源,并向客户端反馈应答消息,其中,应答消息中携带有与一项或多项性能指标相关的虚拟众核资源的属性信息。
优选地,如图4所示,初始化模块20可以包括:响应单元200,用于响应客户端经由虚拟通用计算API发送的对虚拟众核资源执行的初始化请求,其中,初始化请求是由客户端根据获取到的属性信息来决定的;初始化单元202,用于将初始化请求分配至与虚拟众核资源对应的服务进程,由服务进程对初始化请求进行合法性检查,并在通过检查后对虚拟众核资源进行初始化。
优选地,如图4所示,计算模块30可以包括:第二接收单元300,用于接收来自于客户端的计算请求,其中,计算请求中携带有计算任务;解析单元302,用于将接收到的计算请求分发至服务进程,并采用服务进程从计算请求中解析出计算任务;计算单元304,用于将计算任务提交至虚拟众核资源,对计算任务进行计算。
优选地,如图4所示,计算模块30可以包括:第三接收单元306,用于接收客户端经由虚拟通用计算API发送的获取计算结果的请求消息;反馈单元308,用于采用服务进程根据接收到的获取计算结果的请求消息将计算结果返回至客户端。
下面将结合图5所示的优选实施方式对上述优选实施过程作进一步的描述。
图5是根据本发明优选实施例的使用远程虚拟众核设备进行高性能计算的系统结构示意图。如图5所示,该系统结构可以包括:(1)客户端应用模块、(2)客户端虚拟通用计算API模块、(3)服务器端计算资源管理模块、(4)服务器端通用计算API模块和(5)服务器端和客户端的网络服务模块。
(1)客户端应用模块:由用户根据需要使用虚拟通用计算API实现通用计算功能。
(2)客户端虚拟通用计算API模块:为用户提供虚拟通用计算API接口,并通过内嵌的网络服务与服务器端进行通信,从而为上层应用提供通用计算服务,该虚拟通用计算API屏蔽了平台层的差异,用户能够看到的只是虚拟的众核设备,只有性能指标的差异,而没有平台层的差异。
(3)服务器端计算资源管理模块(相当于上述分配模块),对服务器端的众核设备进行虚拟化管理,根据客户端的请求和服务器端众核资源的使用情况为客户分配众核资源,并对众核设备进行管理和维护,例如:主动关闭闲置的众核设备、对利用率低的众核设备进行降频降功耗处理,甚至还可以跨平台动态调整为客户端分配的物理众核资源。
(4)服务器端通用计算API模块(相当于上述初始化模块和计算模块):提供与客户端虚拟通用计算API相对应的通用计算API模块,服务器端根据客户端请求执行相应的操作,例如:初始化设备、向众核设备提交计算任务等,其是在OpenCL API的基础上进行二次开发的通用计算API模块。该API模块除了可以屏蔽平台层差异外,还可以对OpenCL进行时的API加以二次封装从而为用户提供更加便捷的开发环境。
(5)服务器端和客户端的网络服务模块:为客户端和服务器端提供可靠的网络通信服务,以确保客户端与服务器端之间的有序通信。
各个模块之间相互结合的工作方式如下:
第一步、启动服务器端,启动服务器端管理模块等模块,同时启动众核设备,然后对众核资源进行统计。
第二步、启动客户端,客户端应用通过虚拟通用计算API向服务器端申请虚拟计算资源,其中,该申请虚拟计算资源的请求中携带有所需众核资源的性能指标,例如:是否需要支持双精度浮点计算、计算性能指标、工作项大小或者工作组大小等属性。
第三步、服务器端接收到客户端发送的注册请求消息,并将该注册请求消息转发至服务器端的计算资源管理模块加以处理。服务器端计算资源管理模块根据当前的众核资源分配情况确定为客户端分配的众核资源,然后向客户端返回应答消息,其中,该应答消息中携带有反馈的虚拟众核属性,并在服务器端启动相应的服务进程用于执行此客户对应的后续操作。
第四步、客户端应用通过虚拟通用计算API初始化虚拟众核计算平台,按照申请虚拟众核设备时获取到的虚拟众核设备的属性信息对相应的虚拟众核设备进行初始化,其中,初始化操作可以包括:需要初始化的虚拟众核设备以及该虚拟众核设备需要创建的队列数量以及队列属性等信息。
第五步、服务器端接收到客户端发送的初始化请求消息,然后将客户请求分发至对应的服务进程进行处理。服务进程在对客户请求进行解析后,根据客户端申请成功的虚拟众核资源表进行相关操作的合法性检查。在检查通过后,执行对应的通用计算API,将客户请求分解后调用OpenCL API对指定的虚拟众核进行初始化,完成对实际的众核的平台层操作,并将操作结果返回给客户端,如果客户端相关操作的参数超出了所申请的资源,则返回客户端相关错误信息,不执行其所请求的操作。
第六步、在对虚拟众核设备初始化成功后,客户端应用调用通过虚拟通用计算API进行高性能计算的组织,例如:内存对象、程序对象、内核对象的创建工作以及向众核设备提交计算数据,并启动内核进行计算等操作。
第七步、服务器端接收到客户端发送的计算请求,将计算请求分发至对应的服务进程进行处理,服务进程在对计算请求进行解析后,执行对应的虚拟计算API,以完成相关操作,然后将操作结果返回给客户端。
第八步、最后,客户端可以通过虚拟通用计算API获取操作结果,服务器端的服务进程根据客户端的请求将计算结果返回至客户端。
从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些效果是某些优选实施例可以达到的效果):本发明实施例提供了一种全新的远程使用虚拟众核设备进行高性能计算的技术方案,通过服务器端对众核设备的虚拟化处理,用户只需要使用客户端虚拟计算API进行计算调用,面向通用的虚拟众核进行用例实现,而不再需要关心具体众核的平台层信息,且不再需要用户区分平台进行编程,从而使得用户实例更加通用化。其次,由于对用户屏蔽了众核的平台层信息,服务器端可以根据需要跨平台调整已经为客户端分配的众核资源。再次,与相关技术中的众核通用计算的使用模式相比,可以兼容不同的操作系统,即用户不需要关心客户端和服务器端操作系统的差异,用户通过调用客户端API将计算相关的参数、入参、GPU程序一次性传给服务器端即可,用户不再需要调用繁琐的OpenCL API组织计算,相关OpenCL的组织及GPU程序的编译加载等操作全部由服务器端来完成。最后,本发明所提供的技术方案可以根据客户对资源的需求和众核本身的性能定义出性能不超过物理众核本身的虚拟众核供用户使用,并在使用过程中可以根据用户申请的性能指标进行使用约束,如果是提供虚拟众核通用计算服务的商用系统,还可以根据用户申请的性能指标和用户的实际使用情况进行收费。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种计算任务的处理方法,其特征在于,包括:
根据客户端经由虚拟通用计算应用程序接口API发送的获取虚拟众核资源的请求为所述客户端分配所述虚拟众核资源;
响应所述客户端经由所述虚拟通用计算API发送的对所述虚拟众核资源进行初始化的请求,对所述虚拟众核资源执行初始化操作;
接收所述客户端经由所述虚拟通用计算API发送的计算任务,在经过初始化处理后的所述虚拟众核资源上对所述计算任务进行计算,并将计算结果反馈至所述客户端;
其中,根据所述客户端经由所述虚拟通用计算API发送的获取所述虚拟众核资源的请求为所述客户端分配所述虚拟众核资源包括:接收来自于所述客户端的申请所述虚拟众核资源的注册请求消息,其中,所述注册请求消息中携带有待获取的所述虚拟众核资源的一项或多项性能指标;根据所述注册请求消息以及当前可供使用的全部虚拟众核资源的分配情况为所述客户端分配所述虚拟众核资源,并向所述客户端反馈应答消息,其中,所述应答消息中携带有与所述一项或多项性能指标相关的所述虚拟众核资源的属性信息。
2.根据权利要求1所述的方法,其特征在于,响应所述客户端发送的对所述虚拟众核资源进行初始化的请求,对所述虚拟众核资源执行初始化操作包括:
响应所述客户端经由所述虚拟通用计算API发送的对所述虚拟众核资源执行的初始化请求,其中,所述初始化请求是由所述客户端根据获取到的所述属性信息来决定的;
将所述初始化请求分配至与所述虚拟众核资源对应的服务进程,由所述服务进程对所述初始化请求进行合法性检查,并在通过检查后对所述虚拟众核资源进行初始化。
3.根据权利要求2所述的方法,其特征在于,接收所述计算任务,对所述计算任务进行计算包括:
接收来自于所述客户端的计算请求,其中,所述计算请求中携带有所述计算任务;
将接收到的所述计算请求分发至所述服务进程,并采用所述服务进程从所述计算请求中解析出所述计算任务;
将所述计算任务提交至所述虚拟众核资源,对所述计算任务进行计算。
4.根据权利要求3所述的方法,其特征在于,将所述计算结果反馈至所述客户端包括:
接收所述客户端经由所述虚拟通用计算API发送的获取所述计算结果的请求消息;
采用所述服务进程根据接收到的获取所述计算结果的请求消息将所述计算结果返回至所述客户端。
5.一种计算任务的处理装置,其特征在于,包括:
分配模块,用于根据客户端经由虚拟通用计算应用程序接口API发送的获取虚拟众核资源的请求为所述客户端分配所述虚拟众核资源;
其中,所述分配模块包括:第一接收单元,用于接收来自于所述客户端的申请所述虚拟众核资源的注册请求消息,其中,所述注册请求消息中携带有待获取的所述虚拟众核资源的一项或多项性能指标;分配单元,用于根据所述注册请求消息以及当前可供使用的全部虚拟众核资源的分配情况为所述客户端分配所述虚拟众核资源,并向所述客户端反馈应答消息,其中,所述应答消息中携带有与所述一项或多项性能指标相关的所述虚拟众核资源的属性信息;
初始化模块,用于响应所述客户端经由所述虚拟通用计算API发送的对所述虚拟众核资源进行初始化的请求,对所述虚拟众核资源执行初始化操作;
计算模块,用于接收所述客户端经由所述虚拟通用计算API发送的计算任务,在所述虚拟众核资源上对所述计算任务进行计算,并将计算结果反馈至所述客户端。
6.根据权利要求5所述的装置,其特征在于,所述初始化模块包括:
响应单元,用于响应所述客户端经由所述虚拟通用计算API发送的对所述虚拟众核资源执行的初始化请求,其中,所述初始化请求是由所述客户端根据获取到的所述属性信息来决定的;
初始化单元,用于将所述初始化请求分配至与所述虚拟众核资源对应的服务进程,由所述服务进程对所述初始化请求进行合法性检查,并在通过检查后对所述虚拟众核资源进行初始化。
7.根据权利要求6所述的装置,其特征在于,所述计算模块包括:
第二接收单元,用于接收来自于所述客户端的计算请求,其中,所述计算请求中携带有所述计算任务;
解析单元,用于将接收到的所述计算请求分发至所述服务进程,并采用所述服务进程从所述计算请求中解析出所述计算任务;
计算单元,用于将所述计算任务提交至所述虚拟众核资源,对所述计算任务进行计算。
8.根据权利要求6所述的装置,其特征在于,所述计算模块包括:
第三接收单元,用于接收所述客户端经由所述虚拟通用计算API发送的获取所述计算结果的请求消息;
反馈单元,用于采用所述服务进程根据接收到的获取所述计算结果的请求消息将所述计算结果返回至所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410027640.1A CN104793924B (zh) | 2014-01-21 | 2014-01-21 | 计算任务的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410027640.1A CN104793924B (zh) | 2014-01-21 | 2014-01-21 | 计算任务的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104793924A CN104793924A (zh) | 2015-07-22 |
CN104793924B true CN104793924B (zh) | 2019-03-15 |
Family
ID=53558740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410027640.1A Active CN104793924B (zh) | 2014-01-21 | 2014-01-21 | 计算任务的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104793924B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729106B (zh) * | 2017-10-27 | 2021-07-16 | 伊姆西Ip控股有限责任公司 | 处理计算任务的方法、系统和计算机程序产品 |
CN110225530B (zh) * | 2018-03-02 | 2022-04-01 | 中国移动通信有限公司研究院 | 无线数据分析方法、装置及cuda实体 |
CN113568673A (zh) * | 2021-06-10 | 2021-10-29 | 北京旷视科技有限公司 | 初始化方法、装置、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727351A (zh) * | 2009-12-14 | 2010-06-09 | 北京航空航天大学 | 面向多核平台的虚拟机监控器非对称调度器及其调度方法 |
CN103150217A (zh) * | 2013-03-27 | 2013-06-12 | 无锡江南计算技术研究所 | 多核处理器操作系统设计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8683468B2 (en) * | 2011-05-16 | 2014-03-25 | Advanced Micro Devices, Inc. | Automatic kernel migration for heterogeneous cores |
-
2014
- 2014-01-21 CN CN201410027640.1A patent/CN104793924B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727351A (zh) * | 2009-12-14 | 2010-06-09 | 北京航空航天大学 | 面向多核平台的虚拟机监控器非对称调度器及其调度方法 |
CN103150217A (zh) * | 2013-03-27 | 2013-06-12 | 无锡江南计算技术研究所 | 多核处理器操作系统设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104793924A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104737133B (zh) | 使用服务组的分布式应用优化 | |
CN105074702B (zh) | 提供单租户和多租户环境的数据库系统 | |
Fakhfakh et al. | Simulation tools for cloud computing: A survey and comparative study | |
CN106199696B (zh) | 地震数据处理系统和方法 | |
US20120060167A1 (en) | Method and system of simulating a data center | |
CN106598735B (zh) | 一种分布式计算方法、主控节点和计算系统 | |
CN107133083B (zh) | 一种基于虚拟化技术的虚拟数据中心资源提供方法 | |
CN110661842B (zh) | 一种资源的调度管理方法、电子设备和存储介质 | |
CN108091384B (zh) | 一种基于微服务框架的医学影像处理系统 | |
CN103425536B (zh) | 一种面向分布式系统性能测试的测试资源管理方法 | |
CN108694077A (zh) | 基于改进二进制蝙蝠算法的分布式系统任务调度方法 | |
CN107370796A (zh) | 一种基于Hyper TF的智能学习系统 | |
CN106100880A (zh) | 一种云数据资源部署及可视化管理方法 | |
CN107370835A (zh) | 一种基于sdn和nfv技术的云计算中心网络架构 | |
CN109240814A (zh) | 一种基于TensorFlow的深度学习智能调度方法和系统 | |
CN104793924B (zh) | 计算任务的处理方法及装置 | |
CN110490416A (zh) | 任务管理方法及终端设备 | |
CN115686805A (zh) | Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置 | |
CN104376056B (zh) | 一种数据处理的方法和装置 | |
Rak | Performance modeling using queueing petri nets | |
Amoretti et al. | Efficient autonomic cloud computing using online discrete event simulation | |
CN106407007A (zh) | 面向弹性分析流程的云资源配置优化方法 | |
CN107919991A (zh) | 一种虚拟数据中心创建及配额配置方法和装置 | |
Chen et al. | Resource management framework for collaborative computing systems over multiple virtual machines | |
Su | Virtual machine allocation strategy based on cloudsim |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |