CN108958910B - 一种基于异构环境下的任务调度方法及终端 - Google Patents

一种基于异构环境下的任务调度方法及终端 Download PDF

Info

Publication number
CN108958910B
CN108958910B CN201810486145.5A CN201810486145A CN108958910B CN 108958910 B CN108958910 B CN 108958910B CN 201810486145 A CN201810486145 A CN 201810486145A CN 108958910 B CN108958910 B CN 108958910B
Authority
CN
China
Prior art keywords
data
docker container
nvidia
node
docker
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
Application number
CN201810486145.5A
Other languages
English (en)
Other versions
CN108958910A (zh
Inventor
潘仰明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Digital Fujian Cloud Computing Operation Co ltd
Original Assignee
Fujian Digital Fujian Cloud Computing Operation Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Digital Fujian Cloud Computing Operation Co ltd filed Critical Fujian Digital Fujian Cloud Computing Operation Co ltd
Priority to CN201810486145.5A priority Critical patent/CN108958910B/zh
Publication of CN108958910A publication Critical patent/CN108958910A/zh
Application granted granted Critical
Publication of CN108958910B publication Critical patent/CN108958910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供的一种基于异构环境下的任务调度方法及终端,在处理计算任务前,先安装docker容器和nvidia‑docker容器;将计算任务请求对应的请求包的第一串行数据写入docker容器,同时将请求包的第一并行数据写入nvidia‑docker容器;获取满足预设条件的第一节点,使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia‑docker容器的第一并行数据,并将处理后的数据写入对应的容器,使得第一终端从容器中读取相应的数据后,销毁docker容器和nvidia‑docker容器,本发明通过解决了传统计算机通过CPU处理计算任务效率低下的问题。

Description

一种基于异构环境下的任务调度方法及终端
技术领域
本发明涉任务调度技术领域,尤其涉及一种基于异构环境下的任务调度方法及终端。
背景技术
随着网络的迅速发展,互联网上的资源和信息量剧增,数据计算需要急剧膨胀,数据中心对计算任务的需求迅猛上涨,传统计算机的CPU已经不足满庞大数据处理的需要,如何提高计算任务处理的效率已成为当代学术界研究的热点。
发明内容
有鉴于此,本发明的目的在于提供一种基于异构环境下的任务调度方法及终端,解决了传统计算机通过CPU处理计算任务效率低下的问题。
为了实现上述目的,本发明采用的技术方案为:
本发明提供了一种基于异构环境下的任务调度方法,包括以下步骤:
S1:接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据和并行数据;
S2:根据所述请求包,得到第一串行数据和第一并行数据;
S3:安装docker容器和nvidia-docker容器;
S4:将所述第一串行数据写入docker容器的同时,将所述第一并行数据写入nvidia-docker容器;
S5:获取能够满足预设条件的第一节点,以使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;
S6:将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据;将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据;
S7:销毁docker容器和nvidia-docker容器。
本发明还提供了一种基于异构环境下的任务调度终端,包括存储器和处理器及存储于存储器并可在处理器上运行的计算机程序,所述处理器在执行所述计算机程序时实现以下步骤:
S1:接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据和并行数据;
S2:根据所述请求包,得到第一串行数据和第一并行数据;
S3:安装docker容器和nvidia-docker容器;
S4:将所述第一串行数据写入docker容器的同时,将所述第一并行数据写入nvidia-docker容器;
S5:获取能够满足预设条件的第一节点,以使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;
S6:将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据;将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据;
S7:销毁docker容器和nvidia-docker容器。
上述技术方案的有益效果是:
本发明提供的一种基于异构环境下的任务调度方法及终端,在处理计算任务前,先安装docker容器和nvidia-docker容器;将计算任务请求对应的请求包的第一串行数据写入docker容器,同时将请求包的第一并行数据写入nvidia-docker容器;获取满足预设条件的第一节点,使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,并将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从docker容器和nvidia-docker容器中读取处理后的相应数据后,销毁docker容器和nvidia-docker容器,释放资源,提高资源利用率;本发明通过docker容器及nvidia-docker容器完成对数据的写入和读取,可实现数据隔离,防止读取过程中数据被篡改的问题,提高数据处理过程中的安全性;通过CPU处理第一串行数据,以及通过GPU处理第一并行数据,解决了传统CPU计算性能瓶颈的问题,提高计算任务的计算效率。
附图说明
图1所示为本发明一种基于异构环境下的任务调度方法的主要步骤示意图;
图2所示为本发明一种基于异构环境下的任务调度终端的结构示意图;
附图标号说明:
1、存储器;2、处理器。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的说明如下:
如图1所示,本发明提供的一种基于异构环境下的任务调度方法,包括以下步骤:
S1:接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据和并行数据;
S2:根据所述请求包,得到第一串行数据和第一并行数据;
S3:安装docker容器和nvidia-docker容器;
S4:将所述第一串行数据写入docker容器的同时,将所述第一并行数据写入nvidia-docker容器;
S5:获取能够满足预设条件的第一节点,以使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;
S6:将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据;将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据;
S7:销毁docker容器和nvidia-docker容器;
其中,docker容器为一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化;nvidia-docker容器为可使用GPU的Docker容器。
从上述描述可知,本发明提供的一种基于异构环境下的任务调度方法及终端,在处理计算任务前,先安装docker容器和nvidia-docker容器;将计算任务请求对应的请求包的第一串行数据写入docker容器,同时将请求包的第一并行数据写入nvidia-docker容器;获取满足预设条件的第一节点,使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,并将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从docker容器和nvidia-docker容器中读取处理后的相应数据后,销毁docker容器和nvidia-docker容器,释放资源,提高资源利用率;本发明通过docker容器及nvidia-docker容器完成对数据的写入和读取,可实现数据隔离,防止读取过程中数据被篡改的问题,提高数据处理过程中的安全性;通过CPU处理第一串行数据,以及通过GPU处理第一并行数据,解决了传统CPU计算性能瓶颈的问题,提高计算任务的计算效率。
进一步的,所述S3和S4之间还包括:
运行docker容器和nvidia-docker容器。
从上述描述可知,在写入数据前,需要运行docker容器和nvidia-docker容器,防止数据被篡改。
进一步的,所述S3之前还包括:
存储Docker镜像和nvidia-docker镜像。
从上述描述可知,通过存储的Docker镜像和nvidia-docker镜像,便于在响应计算任务请求后,安装docker容器和nvidia-docker容器,而每次处理计算任务请求后可销毁docker容器和nvidia-docker容器,提高了系统资源的利用率。
进一步的,所述S5具体为:
所述请求包包括完成计算任务请求所需的第一进程数;
获取当前能够新建所述第一进程数的节点,得到第一节点,以使第一节点的CPU读取docker容器的第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据。
从上述描述可知,获取能够满足预设条件的第一节点具体为,获取能够新建所述第一进程数据的节点,通过上述方法, 能够快速寻找得到满足要求的节点,实现计算任务的快速调度。
进一步的,所述S1具体为:
接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据、并行数据和加密哈希值数据,所述加密哈希值数据为第一加密哈希值数据通过预设的私钥进行加密得到的加密数据,所述第一加密哈希值数据为第一哈希值通过第一密钥加密得到的加密数据,所述第一哈希值为所述串行数据和并行数据通过哈希运算得到的哈希值,所述第一密钥为第一标识值和第二标识值通过DUKPT算法得到的加密密钥,所述第一标识值包含于所述串行数据中,所述第二标识值包含于所述并行数据中。
从上述描述可知,通过上述双重加密方式,可提高计算任务请求的安全性,防止该请求包的内容被篡改,提高系统数据运算的稳定性。
进一步的,所述S2具体为:
根据接收到的请求包,得到第一串行数据、第一并行数据和第二加密哈希值数据;
根据所述第一串行数据,得到第三标识值;
根据所述第一并行数据,得到第四标识值;
将所述第三标识值和第四标识值通过DUKPT算法,得到第二密钥;
通过预存的公钥将所述第二加密哈希值数据进行解密,得到第三加密哈希值数据;
将所述第三加密哈希值数据通过所述第二密钥进行解密,得到第二哈希值;
将所述第一串行数据和第一并行数据通过哈希运算,得到第三哈希值;
若所述第二哈希值与第三哈希值不相同,则判断所述请求包为非法数据,删除所述请求包,并结束任务调度;否则,则执行S3。
从上述描述可知,通过上述方法,能够快速对请求包的安全性进行验证,保证后续处理的计算任务的请求包是安全有效的。
进一步的,将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据,具体为:
S61:判断是否接收到第一节点发送的CPU对第一串行数据处理后得到的第一数据;
S62:若接收到,则将第一数据写入所述docker容器中,跳转步骤S64;所述第一数据包括所述第一标识值;
S63:若未接收到,则发送第一串行数据处理情况的查询请求信息至第一节点;判断是否在预设第一时间内接收到第一节点响应所述查询请求信息回发的查询反馈信息;若接收到查询反馈信息,且查询反馈信息包括正在处理所述第一串行数据,则等待预设第二时间后执行S61;否则,使第一节点的另一CPU读取docker容器的第一串行数据,并对第一串行数据进行处理,重复执行步骤S61-S63;
S64:控制第一终端根据第一标识值,从docker容器中读取第一数据。
从上述描述可知,通过上述方法,能够防止第一节点的一CPU处理第一串行数据失败后,导致第一串行数据无法处理的问题,能够有效保证计算任务对应的串行数据均被处理。
进一步的,将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据,具体为:
S65:判断是否接收到第一节点发送的GPU对第一并行数据处理后得到的第二数据;
S66:若接收,则将第二数据写入所述nvidia-docker容器中,跳转步骤S68;所述第二数据包括所述第二标识值;
S67:若未接收到,则发送第一并行数据处理情况的查询请求信息至第一节点;判断是否在预设第一时间内接收到第一节点响应所述查询请求信息回发的查询反馈信息;
若接收到查询反馈信息,且查询反馈信息包括正在处理所述第一并行数据,则等待预设第二时间后执行S65;否则,使第一节点的另一GPU读取docker容器的第一并行数据,并对第一并行数据进行数理,重复执行步骤S65-S67;
S68:控制第一终端根据第二标识值,从nvidia-docker容器中读取第二数据。
从上述描述可知,通过上述方法,能够防止第一节点的一GPU处理第一并行数据失败后,导致第一并行数据无法处理的问题,能够有效保证计算任务对应的并行数据均被处理。
请参照图2,本发明提供了一种基于异构环境下的任务调度终端,包括存储器1和处理器2及存储于存储器1并可在处理器上运行的计算机程序,所述处理器2在执行所述计算机程序时实现以下步骤:
S1:接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据和并行数据;
S2:根据所述请求包,得到第一串行数据和第一并行数据;
S3:安装docker容器和nvidia-docker容器;
S4:将所述第一串行数据写入docker容器的同时,将所述第一并行数据写入nvidia-docker容器;
S5:获取能够满足预设条件的第一节点,以使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;
S6:将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据;将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据;
S7:销毁docker容器和nvidia-docker容器。
进一步的,所述的一种基于异构环境下的任务调度终端,所述S3和S4之间还包括:
运行docker容器和nvidia-docker容器。
进一步的,所述的一种基于异构环境下的任务调度终端,所述S3之前还包括:
存储Docker镜像和nvidia-docker镜像。
进一步的,所述的一种基于异构环境下的任务调度终端,所述S5具体为:
所述请求包包括完成计算任务请求所需的第一进程数;
获取当前能够新建所述第一进程数的节点,得到第一节点,以使第一节点的CPU读取docker容器的第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据。
进一步的,所述的一种基于异构环境下的任务调度终端,所述S1具体为:
接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据、并行数据和加密哈希值数据,所述加密哈希值数据为第一加密哈希值数据通过预设的私钥进行加密得到的加密数据,所述第一加密哈希值数据为第一哈希值通过第一密钥加密得到的加密数据,所述第一哈希值为所述串行数据和并行数据通过哈希运算得到的哈希值,所述第一密钥为第一标识值和第二标识值通过DUKPT算法得到的加密密钥,所述第一标识值包含于所述串行数据中,所述第二标识值包含于所述并行数据中。
进一步的,所述的一种基于异构环境下的任务调度终端,所述S2具体为:
根据接收到的请求包,得到第一串行数据、第一并行数据和第二加密哈希值数据;
根据所述第一串行数据,得到第三标识值;
根据所述第一并行数据,得到第四标识值;
将所述第三标识值和第四标识值通过DUKPT算法,得到第二密钥;
通过预存的公钥将所述第二加密哈希值数据进行解密,得到第三加密哈希值数据;
将所述第三加密哈希值数据通过所述第二密钥进行解密,得到第二哈希值;
将所述第一串行数据和第一并行数据通过哈希运算,得到第三哈希值;
若所述第二哈希值与第三哈希值不相同,则判断所述请求包为非法数据,删除所述请求包,并结束任务调度;否则,则执行S3。
进一步的,所述的一种基于异构环境下的任务调度终端,将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据,具体为:
S61:判断是否接收到第一节点发送的CPU对第一串行数据处理后得到的第一数据;
S62:若接收到,则将第一数据写入所述docker容器中,跳转步骤S64;所述第一数据包括所述第一标识值;
S63:若未接收到,则发送第一串行数据处理情况的查询请求信息至第一节点;判断是否在预设第一时间内接收到第一节点响应所述查询请求信息回发的查询反馈信息;若接收到查询反馈信息,且查询反馈信息包括正在处理所述第一串行数据,则等待预设第二时间后执行S61;否则,使第一节点的另一CPU读取docker容器的第一串行数据,并对第一串行数据进行处理,重复执行步骤S61-S63;
S64:控制第一终端根据第一标识值,从docker容器中读取第一数据。
进一步的,所述的一种基于异构环境下的任务调度终端,将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据,具体为:
S65:判断是否接收到第一节点发送的GPU对第一并行数据处理后得到的第二数据;
S66:若接收,则将第二数据写入所述nvidia-docker容器中,跳转步骤S68;所述第二数据包括所述第二标识值;
S67:若未接收到,则发送第一并行数据处理情况的查询请求信息至第一节点;判断是否在预设第一时间内接收到第一节点响应所述查询请求信息回发的查询反馈信息;
若接收到查询反馈信息,且查询反馈信息包括正在处理所述第一并行数据,则等待预设第二时间后执行S65;否则,使第一节点的另一GPU读取docker容器的第一并行数据,并对第一并行数据进行数理,重复执行步骤S65-S67;
S68:控制第一终端根据第二标识值,从nvidia-docker容器中读取第二数据。
以下再列举出几个优选实施例或应用实施例,以帮助本领域技术人员更好的理解本发明的技术内容以及本发明相对于现有技术所做出的技术贡献:
优选实施例一(或应用实施例一)为:
本发明提供的一种基于异构环境下的任务调度方法,包括以下步骤:
S0:存储Docker镜像和nvidia-docker镜像;
S1:接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据和并行数据;
其中,所述S1具体为:
接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据、并行数据和加密哈希值数据,所述加密哈希值数据为第一加密哈希值数据通过预设的私钥进行加密得到的加密数据,所述第一加密哈希值数据为第一哈希值通过第一密钥加密得到的加密数据,所述第一哈希值为所述串行数据和并行数据通过哈希运算得到的哈希值,所述第一密钥为第一标识值和第二标识值通过DUKPT算法得到的加密密钥,所述第一标识值包含于所述串行数据中,所述第二标识值包含于所述并行数据中;
S2:根据所述请求包,得到第一串行数据和第一并行数据;
其中,所述S2具体为:
根据接收到的请求包,得到第一串行数据、第一并行数据和第二加密哈希值数据;
根据所述第一串行数据,得到第三标识值;
根据所述第一并行数据,得到第四标识值;
将所述第三标识值和第四标识值通过DUKPT算法,得到第二密钥;
通过预存的公钥将所述第二加密哈希值数据进行解密,得到第三加密哈希值数据;
将所述第三加密哈希值数据通过所述第二密钥进行解密,得到第二哈希值;
将所述第一串行数据和第一并行数据通过哈希运算,得到第三哈希值;
若所述第二哈希值与第三哈希值不相同,则判断所述请求包为非法数据,删除所述请求包,并结束任务调度;否则,则执行S3;
S3:安装docker容器和nvidia-docker容器;
其中,所述S3具体为:
根据存储的Docker镜像,安装得到docker容器;
根据存储的nvidia-docker镜像,安装得到nvidia-docker容器;
S305:运行docker容器和nvidia-docker容器;
S4:将所述第一串行数据写入docker容器的同时,将所述第一并行数据写入nvidia-docker容器;
S5:获取能够满足预设条件的第一节点,以使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;
其中,所述S5具体为:
所述请求包包括完成计算任务请求所需的第一进程数;
获取当前能够新建所述第一进程数的节点,得到第一节点,以使第一节点的CPU读取docker容器的第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;
进一步的,获取当前能够新建所述第一进程数的节点,得到第一节点,具体为:
根据节点当前所运行的进程数及能够运行的总进程数,获取当前能够新建第一进程数的节点;即当前进程数与第一进程数之和不能大于节点允许的总进程数;
S6:将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据;将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据;
其中,将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据,具体为:
S61:判断是否接收到第一节点发送的CPU对第一串行数据处理后得到的第一数据;
S62:若接收到,则将第一数据写入所述docker容器中,跳转步骤S64;所述第一数据包括所述第一标识值;
S63:若未接收到,则发送第一串行数据处理情况的查询请求信息至第一节点;判断是否在预设第一时间内接收到第一节点响应所述查询请求信息回发的查询反馈信息;若接收到查询反馈信息,且查询反馈信息包括正在处理所述第一串行数据,则等待预设第二时间后执行S61;否则,使第一节点的另一CPU读取docker容器的第一串行数据,并对第一串行数据进行处理,重复执行步骤S61-S63;
其中,所述第一时间为0-0.5秒;所述第二时间为0-0.2秒;
优先的,所述第一时间为100毫秒,所述第二时间为100毫秒;
S64:控制第一终端根据第一标识值,从docker容器中读取第一数据;
其中,将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据,具体为:
S65:判断是否接收到第一节点发送的GPU对第一并行数据处理后得到的第二数据;
S66:若接收,则将第二数据写入所述nvidia-docker容器中,跳转步骤S68;所述第二数据包括所述第二标识值;
S67:若未接收到,则发送第一并行数据处理情况的查询请求信息至第一节点;判断是否在所述第一时间内接收到第一节点响应所述查询请求信息回发的查询反馈信息;
若接收到查询反馈信息,且查询反馈信息包括正在处理所述第一并行数据,则等待所述第二时间后执行S65;否则,使第一节点的另一GPU读取docker容器的第一并行数据,并对第一并行数据进行数理,重复执行步骤S65-S67;
S68:控制第一终端根据第二标识值,从nvidia-docker容器中读取第二数据;
S7:销毁docker容器和nvidia-docker容器。
优选实施例二(或应用实施例二)为:
本发明提供了一种基于异构环境下的任务调度终端,包括存储器1和处理器2及存储于存储器1并可在处理器2上运行的计算机程序,所述处理器2在执行所述计算机程序时实现优选实施一或优先实施二的所有步骤。
本发明已由上述相关实施例和附图加以描述,然而上述实施例仅为实施本发明的范例。必须指出的是,已揭露的实施例并未限制本发明的范围。相反地,包括于权利要求的精神及范围的修改及均等设置均包括于本发明的范围内。

Claims (9)

1.一种基于异构环境下的任务调度方法,其特征在于,包括以下步骤:
S1:接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据和并行数据;
S2:根据所述请求包,得到第一串行数据和第一并行数据;
S3:安装docker容器和nvidia-docker容器;
S4:将所述第一串行数据写入docker容器的同时,将所述第一并行数据写入nvidia-docker容器;
S5:获取能够满足预设条件的第一节点,以使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;
S6:将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据;将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据;
S7:销毁docker容器和nvidia-docker容器;
所述S5具体为:
所述请求包包括完成计算任务请求所需的第一进程数;
获取当前能够新建所述第一进程数的节点,得到第一节点,以使第一节点的CPU读取docker容器的第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据。
2.根据权利要求1所述的一种基于异构环境下的任务调度方法,其特征在于,所述S3和S4之间还包括:
运行docker容器和nvidia-docker容器。
3.根据权利要求1所述的一种基于异构环境下的任务调度方法,其特征在于,所述S3之前还包括:
存储Docker镜像和nvidia-docker镜像。
4.根据权利要求1所述的一种基于异构环境下的任务调度方法,其特征在于,所述S1具体为:
接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据、并行数据和加密哈希值数据,所述加密哈希值数据为第一加密哈希值数据通过预设的私钥进行加密得到的加密数据,所述第一加密哈希值数据为第一哈希值通过第一密钥加密得到的加密数据,所述第一哈希值为所述串行数据和并行数据通过哈希运算得到的哈希值,所述第一密钥为第一标识值和第二标识值通过DUKPT算法得到的加密密钥,所述第一标识值包含于所述串行数据中,所述第二标识值包含于所述并行数据中。
5.根据权利要求4所述的一种基于异构环境下的任务调度方法,其特征在于,所述S2具体为:
根据接收到的请求包,得到第一串行数据、第一并行数据和第二加密哈希值数据;
根据所述第一串行数据,得到第三标识值;
根据所述第一并行数据,得到第四标识值;
将所述第三标识值和第四标识值通过DUKPT算法,得到第二密钥;
通过预存的公钥将所述第二加密哈希值数据进行解密,得到第三加密哈希值数据;
将所述第三加密哈希值数据通过所述第二密钥进行解密,得到第二哈希值;
将所述第一串行数据和第一并行数据通过哈希运算,得到第三哈希值;
若所述第二哈希值与第三哈希值不相同,则判断所述请求包为非法数据,删除所述请求包,并结束任务调度;否则,则执行S3。
6.根据权利要求4所述的一种基于异构环境下的任务调度方法,其特征在于,将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据,具体为:
S61:判断是否接收到第一节点发送的CPU对第一串行数据处理后得到的第一数据;
S62:若接收到,则将第一数据写入所述docker容器中,跳转步骤S64;所述第一数据包括所述第一标识值;
S63:若未接收到,则发送第一串行数据处理情况的查询请求信息至第一节点;判断是否在预设第一时间内接收到第一节点响应所述查询请求信息回发的查询反馈信息;若接收到查询反馈信息,且查询反馈信息包括正在处理所述第一串行数据,则等待预设第二时间后执行S61;否则,使第一节点的另一CPU读取docker容器的第一串行数据,并对第一串行数据进行处理,重复执行步骤S61-S63;
S64:控制第一终端根据第一标识值,从docker容器中读取第一数据。
7.根据权利要求4所述的一种基于异构环境下的任务调度方法,其特征在于,将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据,具体为:
S65:判断是否接收到第一节点发送的GPU对第一并行数据处理后得到的第二数据;
S66:若接收,则将第二数据写入所述nvidia-docker容器中,跳转步骤S68;所述第二数据包括所述第二标识值;
S67:若未接收到,则发送第一并行数据处理情况的查询请求信息至第一节点;判断是否在预设第一时间内接收到第一节点响应所述查询请求信息回发的查询反馈信息;
若接收到查询反馈信息,且查询反馈信息包括正在处理所述第一并行数据,则等待预设第二时间后执行S65;否则,使第一节点的另一GPU读取docker容器的第一并行数据,并对第一并行数据进行数理,重复执行步骤S65-S67;
S68:控制第一终端根据第二标识值,从nvidia-docker容器中读取第二数据。
8.一种基于异构环境下的任务调度终端,包括存储器和处理器及存储于存储器并可在处理器上运行的计算机程序,其特征在于,所述处理器在执行所述计算机程序时实现以下步骤:
S1:接收第一终端发送的计算任务请求对应的请求包,所述请求包包括串行数据和并行数据;
S2:根据所述请求包,得到第一串行数据和第一并行数据;
S3:安装docker容器和nvidia-docker容器;
S4:将所述第一串行数据写入docker容器的同时,将所述第一并行数据写入nvidia-docker容器;
S5:获取能够满足预设条件的第一节点,以使第一节点的CPU读取docker容器中第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据;
S6:将CPU对第一串行数据处理后得到的第一数据写入所述docker容器,以使得第一终端从docker容器中读取第一数据;将GPU对第一并行数据处理后得到的第二数据写入所述nvidia-docker容器,以使得第一终端从nvidia-docker容器读取第二数据;
S7:销毁docker容器和nvidia-docker容器;
所述S5具体为:
所述请求包包括完成计算任务请求所需的第一进程数;
获取当前能够新建所述第一进程数的节点,得到第一节点,以使第一节点的CPU读取docker容器的第一串行数据的同时,第一节点的GPU读取nvidia-docker容器的第一并行数据。
9.根据权利要求8所述的一种基于异构环境下的任务调度终端,其特征在于,所述S3和S4之间还包括:
运行docker容器和nvidia-docker容器。
CN201810486145.5A 2018-05-21 2018-05-21 一种基于异构环境下的任务调度方法及终端 Active CN108958910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810486145.5A CN108958910B (zh) 2018-05-21 2018-05-21 一种基于异构环境下的任务调度方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810486145.5A CN108958910B (zh) 2018-05-21 2018-05-21 一种基于异构环境下的任务调度方法及终端

Publications (2)

Publication Number Publication Date
CN108958910A CN108958910A (zh) 2018-12-07
CN108958910B true CN108958910B (zh) 2020-12-18

Family

ID=64499296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810486145.5A Active CN108958910B (zh) 2018-05-21 2018-05-21 一种基于异构环境下的任务调度方法及终端

Country Status (1)

Country Link
CN (1) CN108958910B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489239A (zh) * 2019-08-22 2019-11-22 中国工商银行股份有限公司 一种容器管理方法、装置及设备
CN110888743B (zh) * 2019-11-27 2022-12-20 中科曙光国际信息产业有限公司 一种gpu资源使用方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677479A (zh) * 2015-12-30 2016-06-15 北京奇艺世纪科技有限公司 并行运行gpu运算程序的实现方法及装置
CN106027643A (zh) * 2016-05-18 2016-10-12 无锡华云数据技术服务有限公司 一种基于Kubernetes容器集群管理系统的资源调度方法
WO2017029826A1 (ja) * 2015-08-18 2017-02-23 日本電信電話株式会社 リソース構成システム、リソース構成方法及びリソース構成プログラム
CN106528224A (zh) * 2016-11-03 2017-03-22 腾讯科技(深圳)有限公司 一种Docker容器的内容更新方法、服务器及系统
CN107766157A (zh) * 2017-11-02 2018-03-06 山东浪潮云服务信息科技有限公司 基于国产cpu和os的分布式容器集群框架实现方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017029826A1 (ja) * 2015-08-18 2017-02-23 日本電信電話株式会社 リソース構成システム、リソース構成方法及びリソース構成プログラム
CN107924340A (zh) * 2015-08-18 2018-04-17 日本电信电话株式会社 资源配置系统、资源配置方法以及资源配置程序
CN105677479A (zh) * 2015-12-30 2016-06-15 北京奇艺世纪科技有限公司 并行运行gpu运算程序的实现方法及装置
CN106027643A (zh) * 2016-05-18 2016-10-12 无锡华云数据技术服务有限公司 一种基于Kubernetes容器集群管理系统的资源调度方法
CN106528224A (zh) * 2016-11-03 2017-03-22 腾讯科技(深圳)有限公司 一种Docker容器的内容更新方法、服务器及系统
CN107766157A (zh) * 2017-11-02 2018-03-06 山东浪潮云服务信息科技有限公司 基于国产cpu和os的分布式容器集群框架实现方法

Also Published As

Publication number Publication date
CN108958910A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
EP3937424B1 (en) Blockchain data processing methods and apparatuses based on cloud computing
CN105700945B (zh) 一种基于净室环境的虚拟机安全迁移方法
CN111885050B (zh) 基于区块链网络的数据存储方法、装置、相关设备及介质
US20240143802A1 (en) Protection of communications between trusted execution environment and hardware accelerator utilizing enhanced end-to-end encryption and inter-context security
CN111931251A (zh) 一种基于区块链的可信计算芯片
CN110414217B (zh) 应用程序的安全运行方法、装置、电子设备和存储介质
JP6859518B2 (ja) サーバへの攻撃を防ぐ方法及びデバイス
CN108958910B (zh) 一种基于异构环境下的任务调度方法及终端
US11089081B1 (en) Inter-process rendering pipeline for shared process remote web content rendering
EP3923535B1 (en) Method for data protection in a data processing cluster with policy-based partition
BR112014031586B1 (pt) Sistema para emular um ambiente de execução confiável e midia de armazenamento de computador
KR20180018673A (ko) 애플리케이션 다운로드 방법 및 디바이스
CN116980230A (zh) 一种信息安全保护方法及装置
CN107835185B (zh) 一种基于ARM TrustZone的移动终端安全服务方法及装置
CN111597537B (zh) 基于区块链网络的证书签发方法、相关设备及介质
WO2021057273A1 (zh) 在fpga上实现高效合约调用的方法及装置
CN115048679B (zh) 一种融合片内安全防护功能的多业务分区隔离芯片
Jiang et al. An effective authentication for client application using ARM trustzone
WO2018028359A1 (zh) 业务处理方法、装置、存储介质及电子装置
CN212966171U (zh) 一种基于区块链的可信计算芯片
US11816205B2 (en) Detecting and handling attacks on processes executing within a trusted execution environment
CN105205031A (zh) 分布式运算系统和分布式系统的运算方法
CN112307481B (zh) 一种系统可信启动方法、电子设备及计算机可读存储介质
CN113434887A (zh) App业务数据处理方法及装置
CN109688158A (zh) 金融执行链认证方法、电子装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant