计算任务的处理方法及装置的制造方法

文档序号:8472761阅读:167来源:国知局
计算任务的处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种计算任务的处理方法及装置。
【背景技术】
[0002]目前,随着众核硬件和高性能计算软件的不断发展,众核的强大计算能力在越来越多的领域中发挥着重要的作用,其需求也愈加广泛。众核高性能计算是一种中央处理器(CPU)+众核异构模式下的应用,相关技术中所采用的众核高性能计算的模式是由CPU准备数据、分配内存空间并向众核提交计算任务,然后在众核上进行计算,每当完成计算后,再将计算结果传递回CPU。这种异构模式决定了必须由本地CPU实际操作众核资源,众核则以协处理器的角色完成对并行计算的加速,从而提升系统的整体计算能力。图1是根据相关技术的CPU+众核异构模式的示意图。如图1所示,网络中除节点I之外的其余节点都不能直接利用节点I中的众核进行高性能计算,如果其它节点需要使用节点I中的众核,必须向节点I提供完整的计算实例和数据,或者,利用节点I上固有的计算实例对新数据进行计算。此外,其它节点提供的计算实例还必须能够兼容节点I的操作系统和众核设备。
[0003]开放运算语言(Open Computing Language,简称为OpenCL)是一个为异构平台编写程序的框架,在高性能计算中存在广泛的应用。OpenCL编程主要可以分为以下两个步骤:
[0004]第一步、OpenCL程序需要进行平台的初始化,其中,可以包括:众核平台的选择、众核设备的选择和上下文的初始化,OpenCL运行时模块是在上下文环境中运行的;
[0005]第二步、编写OpenCL运行时的模块代码,OpenCL运行时的模块可以包括:命令队列、程序对象、内核对象和内存对象的创建和初始化,其中,平台的初始化过程就是一个绑定众核设备资源的过程,而运行时模块则是在平台上进行通用计算实现的过程。通过对平台的抽象处理是可以独立于平台的。
[0006]相关技术中已经提出的技术方案是一种通过利用虚拟OpenCL设备作为与计算云的接口来加速OpenCL应用的方法和装置。该方法通过利用虚拟OpenCL设备作为与计算云的接口提供远程OpenCL设备的使用,该过程对用户是透明的。通过此方法用户不需要修改应用代码即可达到卸载OpenCL工作量到服务器的目的。这种方法虽然解决了利用远程众核设备进行高性能计算的问题,但仍然需要用户按照传统的OpenCL编程方式进行编程,而且还是建立在用户必须对众核设备可见的基础上进行的,其实际上没有真正做到对众核设备的虚拟化。
[0007]综上所述,相关技术中的计算实例必须依赖具体设备而无法实现对众核设备的虚拟化。

【发明内容】

[0008]本发明提供了一种计算任务的处理方法及装置,以至少解决相关技术中的计算实例必须依赖物理实体设备而无法实现对众核设备的虚拟化的问题。
[0009]根据本发明的一个方面,提供了一种计算任务的处理方法。
[0010]根据本发明实施例的计算任务的处理方法包括:根据客户端经由虚拟通用计算应用程序接口(API)发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源;响应客户端经由虚拟通用计算API发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作;接收客户端经由虚拟通用计算API发送的计算任务,在经过初始化处理后的虚拟众核资源上对计算任务进行计算,并将计算结果反馈至客户端。
[0011]优选地,根据客户端经由虚拟通用计算API发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源包括:接收来自于客户端的申请虚拟众核资源的注册请求消息,其中,注册请求消息中携带有待获取的虚拟众核资源的一项或多项性能指标;根据注册请求消息以及当前可供使用的全部虚拟众核资源的分配情况为客户端分配虚拟众核资源,并向客户端反馈应答消息,其中,应答消息中携带有与一项或多项性能指标相关的虚拟众核资源的属性信息。
[0012]优选地,响应客户端发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作包括:响应客户端经由虚拟通用计算API发送的对虚拟众核资源执行的初始化请求,其中,初始化请求是由客户端根据获取到的属性信息来决定的;将初始化请求分配至与虚拟众核资源对应的服务进程,由服务进程对初始化请求进行合法性检查,并在通过检查后对虚拟众核资源进行初始化。
[0013]优选地,接收计算任务,对计算任务进行计算包括:接收来自于客户端的计算请求,其中,计算请求中携带有计算任务;将接收到的计算请求分发至服务进程,并采用服务进程从计算请求中解析出计算任务;将计算任务提交至虚拟众核资源,对计算任务进行计笪
ο
[0014]优选地,将计算结果反馈至客户端包括:接收客户端经由虚拟通用计算API发送的获取计算结果的请求消息;采用服务进程根据接收到的获取计算结果的请求消息将计算结果返回至客户端。
[0015]根据本发明的另一方面,提供了一种计算任务的处理装置。
[0016]根据本发明实施例的计算任务的处理装置包括:分配模块,用于根据客户端经由虚拟通用计算应用程序接口(API)发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源;初始化模块,用于响应客户端经由虚拟通用计算API发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作;计算模块,用于接收客户端经由虚拟通用计算API发送的计算任务,在虚拟众核资源上对计算任务进行计算,并将计算结果反馈至客户端。
[0017]优选地,分配模块包括:第一接收单元,用于接收来自于客户端的申请虚拟众核资源的注册请求消息,其中,注册请求消息中携带有待获取的虚拟众核资源的一项或多项性能指标;分配单元,用于根据注册请求消息以及当前可供使用的全部虚拟众核资源的分配情况为客户端分配虚拟众核资源,并向客户端反馈应答消息,其中,应答消息中携带有与一项或多项性能指标相关的虚拟众核资源的属性信息。
[0018]优选地,初始化模块包括:响应单元,用于响应客户端经由虚拟通用计算API发送的对虚拟众核资源执行的初始化请求,其中,初始化请求是由客户端根据获取到的属性信息来决定的;初始化单元,用于将初始化请求分配至与虚拟众核资源对应的服务进程,由服务进程对初始化请求进行合法性检查,并在通过检查后对虚拟众核资源进行初始化。
[0019]优选地,计算模块包括:第二接收单元,用于接收来自于客户端的计算请求,其中,计算请求中携带有计算任务;解析单元,用于将接收到的计算请求分发至服务进程,并采用服务进程从计算请求中解析出计算任务;计算单元,用于将计算任务提交至虚拟众核资源,对计算任务进行计算。
[0020]优选地,计算模块包括:第三接收单元,用于接收客户端经由虚拟通用计算API发送的获取计算结果的请求消息;反馈单元,用于采用服务进程根据接收到的获取计算结果的请求消息将计算结果返回至客户端。
[0021]通过本发明实施例,采用根据客户端经由虚拟通用计算API发送的获取虚拟众核资源的请求为客户端分配虚拟众核资源;响应客户端经由虚拟通用计算API发送的对虚拟众核资源进行初始化的请求,对虚拟众核资源执行初始化操作;接收客户端经由虚拟通用计算API发送的计算任务,在经过初始化处理后的虚拟众核资源上对计算任
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1