掌桥专利:专业的专利平台
掌桥专利
首页

计算任务的恢复方法、装置、用户设备及存储介质

文献发布时间:2023-06-19 11:44:10


计算任务的恢复方法、装置、用户设备及存储介质

技术领域

本发明涉及超级计算技术领域,尤其涉及一种计算任务的恢复方法、装置、用户设备及存储介质。

背景技术

任务的迁移分为离线迁移(Offline Migration)和在线迁移(Live Migration)。离线迁移是指在迁移过程中,服务节点需要停机或者被挂起不再对外提供服务。在线迁移是指在迁移过程中,服务节点对外持续可用。

在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:

当前的迁移方案均无针对计算任务进行迁移的技术。当任务的计算量很大的时候,往往计算引擎需要执行较长的时间。在这个过程中,如果发生计划性下电、计算机硬件维护更换、计算任务迁移等操作的时候,无法保存现有的计算任务进度,前期的计算进度被丢弃掉了,任务中断后必须重头开始计算。

发明内容

本发明提供的计算任务的恢复方法、装置、用户设备及存储介质,能够实现计算任务被中断时,对已经进行的计算任务的进度的恢复。

第一方面,本发明提供一种计算任务的恢复方法,包括:

当系统的任务待中断时,暂停系统正在进行的任务,将所述任务的运行上下文信息保存到转储文件;

当所述任务待恢复时,从所述转储文件中解析所述任务的运行上下文信息,根据所述运行上下文信息,恢复所述任务;

对恢复后的所述任务继续计算。

可选的,所述将所述任务的运行上下文信息保存到转储文件的步骤包括:

暂停所述系统中运行在用户设备上的用户态计算进程的操作;

将所述系统中的计算引擎上的任务暂停,把暂停的所述任务的运行上下文信息保存到所述系统的内存的队列内存区中;

将所述系统中用户态进程状态信息保存到所述转储文件;

将所述系统中驱动态进程状态信息保存到所述转储文件中;

以进程为单位,将暂停的驱动态进程下的队列的信息保存到所述转储文件中。

可选的,所述驱动态进程状态信息包括:具有对应关系的进程ID、进程的控制信息、进程页表信息、进程分配的内存块信息和进程事件信息;所述进程分配的内存块信息包括:进程的用户数据;所述进程的控制信息包括:进程地址空间ID;

所述将所述系统中驱动态进程状态信息保存到所述转储文件中的步骤具体为:

以对应关系保存进程ID、进程的控制信息、进程页表信息、进程分配的内存块信息和进程事件信息。

可选的,所述队列的信息包括:队列ID、队列分配的环形缓冲区、队列读写指针和队列内存区信息;所述队列内存区信息包括:计算上下文切换缓冲区、控制栈缓冲区和内存队列描述符;所述队列读写指针包括:门铃寄存器的值;

所述以进程为单位,将暂停的驱动态进程下的队列的信息保存到所述转储文件中的步骤具体为:

以对应关系保存队列ID、队列分配的环形缓冲区、队列读写指针和队列内存区信息。

可选的,所述根据所述运行上下文信息,恢复所述任务的步骤具体包括:

从所述转储文件解析出所述用户态进程状态信息,根据所述用户态进程状态信息,恢复所述用户态进程;

从所述转储文件中解析出驱动态进程状态信息,根据所述驱动态进程状态,恢复所述驱动态进程;

从所述转储文件中解析出恢复的进程信息中的队列信息,根据所述队列信息,恢复所述队列;

从所述内存的队列内存区中,提取暂停的任务的运行上下文信息;根据所述任务的运行上下文信息,恢复所述队列的任务,载入所述任务到计算引擎;

发送运行信号,使得所述计算引擎和所述用户态进程同时进入运行状态。

可选的,所述从所述转储文件中解析出驱动态进程状态信息,根据所述驱动态进程状态,恢复所述驱动态进程的步骤包括:

根据保存的进程ID、进程控制信息、进程页表信息、进程分配的内存块和进程事件信息之间的对应关系,为所述驱动态进程分配内存块,将所述进程的用户数据复制到所述内存块,恢复所述进程页表;将进程地址空间ID、进程页表配置到计算引擎的寄存器中。

可选的,所述从所述转储文件中解析出恢复的进程信息中的队列信息,根据所述队列信息,恢复所述队列的步骤包括:

根据保存的队列ID、队列分配的环形缓冲区、队列读写指针、队列内存区信息之间的对应关系,恢复队列数据,将内存队列描述符配置到对应的硬件队列寄存器,将环形缓冲区、计算上下文切换缓冲区、控制栈缓冲区、队列读写指针和门铃寄存器值均配置到对应的硬件队列寄存器。

第二方面,本发明提供一种计算任务的恢复装置,包括:

保存单元,用于当系统的任务待中断时,暂停系统正在进行的任务,将所述任务的运行上下文信息保存到转储文件;

解析单元,用于当所述任务待恢复时,从所述转储文件中解析所述任务的运行上下文信息,根据所述运行上下文信息,恢复所述任务;

计算单元,用于对恢复后的所述任务继续计算。

可选的,所述保存单元包括:

第一暂停子单元,用于暂停所述系统中运行在用户设备上的用户态计算进程的操作;

第二暂停子单元,用于将所述系统中的计算引擎上的任务暂停,把暂停的所述任务的运行上下文信息保存到所述系统的内存的队列内存区中;

第一保存子单元,用于将所述系统中用户态进程状态信息保存到所述转储文件;

第二保存子单元,用于将所述系统中驱动态进程状态信息保存到所述转储文件中;

第三保存子单元,用于以进程为单位,将暂停的驱动态进程下的队列的信息保存到所述转储文件中。

可选的,所述驱动态进程状态信息包括:具有对应关系的进程ID、进程的控制信息、进程页表信息、进程分配的内存块信息和进程事件信息;所述进程分配的内存块信息包括:进程的用户数据;所述进程的控制信息包括:进程地址空间ID;

相应的,所述第二保存子单元具体为:

以对应关系保存进程ID、进程的控制信息、进程页表信息、进程分配的内存块信息和进程事件信息。

可选的,所述队列的信息包括:队列ID、队列分配的环形缓冲区、队列读写指针和队列内存区信息;所述队列内存区信息包括:计算上下文切换缓冲区、控制栈缓冲区和内存队列描述符;所述队列读写指针包括:门铃寄存器的值;

相应的,所述第三保存子单元具体为:

以对应关系保存队列ID、队列分配的环形缓冲区、队列读写指针、队列内存区信息。

可选的,所示解析单元具体包括:

第一恢复子单元,用于从所述转储文件解析出所述用户态进程状态信息,根据所述用户态进程状态信息,恢复所述用户态进程;

第二恢复子单元,用于从所述转储文件中解析出驱动态进程状态信息,根据所述驱动态进程状态,恢复所述驱动态进程;

第三恢复子单元,用于从所述转储文件中解析出恢复的进程信息中的队列信息,根据所述队列信息,恢复所述队列;

第四恢复子单元,用于从所述内存的队列内存区中,提取暂停的任务的运行上下文信息;根据所述任务的运行上下文信息,恢复所述队列的任务,载入所述任务到计算引擎;

发送子单元,用于发送运行信号,使得所述计算引擎和所述用户态进程同时进入运行状态。

可选的,所述第二恢复子单元具体为:根据保存的进程ID、进程控制信息、进程页表信息、进程分配的内存块、进程事件信息之间的对应关系,为所述驱动态进程分配内存块,将所述进程的用户数据复制到所述内存块,恢复所述进程页表;将进程地址空间ID、进程页表配置到计算引擎的寄存器中。

可选的,所述第三恢复子单元具体为:根据保存的队列ID、队列分配的环形缓冲区、队列读写指针、队列内存区信息之间的对应关系,恢复队列数据,将内存队列描述符配置到对应的硬件队列寄存器,将环形缓冲区、计算上下文切换缓冲区、控制栈缓冲区、队列读写指针和门铃寄存器值均配置到对应的硬件队列寄存器。

第三方面,本发明提供一种用户设备,所述用户设备包括上述计算任务的恢复装置。

第四方面,本发明提供一种计算任务的恢复装置,包括:

存储器;

以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行上述计算任务的恢复方法。

第五方面,本发明提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现所述的计算任务的恢复方法。

本发明实施例提供的计算任务的恢复方法、装置、用户设备及存储介质,当系统的任务待中断时,暂停系统正在进行的任务,将所述任务的运行上下文信息保存到转储文件;当所述任务待恢复时,从所述转储文件中解析所述任务的运行上下文信息,根据所述运行上下文信息,恢复所述任务,从而实现计算任务被中断时,对已经进行的计算任务的进度的恢复。

附图说明

图1为本发明一实施例所述的计算任务的恢复方法的流程图;

图2为本发明应用场景中将所述任务的运行上下文信息保存到转储文件的步骤的流程示意图;

图3为本发明应用场景中计据所述运行上下文信息,恢复所述任务的步骤的流程示意图;

图4为本发明应用场景中计算进程、驱动软件、计算硬件的层次结构示意图;

图5为本发明应用场景中计算设备的任务迁移模块结构图;

图6为本发明应用场景中任务上下文保存时的时序图;

图7为本发明应用场景中任务上下文恢复时的时序图;

图8为本发明一实施例所述的计算任务的恢复装置的连接示意图;

图9为本发明一实施例所述的计算任务的恢复装置的连接示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为便于理解,先对本发明中的涉及的几个专有名词进行解释。

任务的运行上下文信息,包括任务在计算引擎上运行的寄存器数据、堆栈数据、计算的中间数据、执行的kernel对核程序等信息;

进程的用户数据:为用户提供用于计算的数据。

本发明实施例提供一种计算任务的恢复方法,如图1所示,所述方法包括:

步骤1,当系统的任务待中断时,暂停系统正在进行的任务,将所述任务的运行上下文信息保存到转储文件;

步骤2,当所述任务待恢复时,从所述转储文件中解析所述任务的运行上下文信息,根据所述运行上下文信息,恢复所述任务;

步骤3,对恢复后的所述任务继续计算。

通过上述的操作,可以使得暂停的计算任务恢复后继续运行。

本发明实施例计算任务的恢复方法,可以用于计算任务迁移场景、硬件维护等场景下,具体包括:

1、在云计算场景,虚拟机保存运行状态进行迁移并部署到其他节点,运用本发明的技术,可以同步将计算引擎(图形处理器/深度计算处理器等)上的计算任务也同步迁移,在新节点计算任务按迁移前的状态重新运行;

2、在分布式负载均衡场景,分布式计算过程中某个节点运作负载过重,需要将计算任务迁移,应用本发明的技术,可以将计算任务迁移到其他空闲节点,并接着迁移前的状态运行;

3、在计算节点维护(或计划性下电)场景,运用本发明的技术,保存计算任务上下文,将计算任务暂停,然后下电执行换卡、扩充内存等维护操作,上电后恢复暂停的计算任务继续运行。

当用于第1、2种场景时,在步骤1之后,执行以下步骤:将所述任务的运行上下文信息复制到待迁移的节点,然后在迁移后的节点执行步骤2;其中,步骤1中的当所述任务待恢复时具体为:检测到需要迁移的条件发生;步骤3中的当所述任务待恢复具体为:检测到所述任务的运行上下文信息复制到待迁移的节点完成后。

当应用于第3种场景时,则步骤1中的当系统的任务待中断具体为:检测到用户的暂停计算任务的指令等;步骤3中的当所述任务待恢复具体为:检测到用户的恢复计算任务的指令。

可选的,如图2所示,所述将所述任务的运行上下文信息保存到转储文件的步骤包括:

步骤11,暂停所述系统中运行在用户设备上的用户态计算进程的操作;

步骤12,将所述系统中的计算引擎上的任务暂停,把暂停的所述任务的运行上下文信息保存到所述系统的内存的队列内存区中;

步骤13,将所述系统中用户态进程状态信息保存到所述转储文件;

步骤14,将所述系统中驱动态进程状态信息保存到所述转储文件中;所述驱动态进程状态信息包括:具有对应关系的进程ID、进程的控制信息、进程页表信息、进程分配的内存块信息、进程事件信息;所述进程分配的内存块信息包括:进程的用户数据;所述进程的控制信息包括:进程地址空间ID;该步骤具体为:以对应关系保存进程ID、进程的控制信息、进程页表信息、进程分配的内存块信息、进程事件信息。

其中,驱动态进程状态信息如表1所示:

表1

步骤15,以进程为单位,将暂停的驱动态进程下的队列的信息保存到所述转储文件中。所述队列的信息包括:队列ID、队列分配的环形缓冲区、队列读写指针、队列内存区信息;所述队列内存区信息包括:计算上下文切换缓冲区、控制栈缓冲区、内存队列描述符;所述队列读写指针包括:门铃寄存器的值;该步骤具体为:以对应关系保存队列ID、队列分配的环形缓冲区、队列读写指针、队列内存区信息。

其中,队列的信息如表2所示:

表2

可选的,如图3所示,所述根据所述运行上下文信息,恢复所述任务的步骤具体包括:

步骤21,从所述转储文件解析出所述用户态进程状态信息,根据所述用户态进程状态信息,恢复所述用户态进程;

步骤22,从所述转储文件中解析出驱动态进程状态信息,根据所述驱动态进程状态,恢复所述驱动态进程;该步骤具体包括:根据保存的进程ID、进程控制信息、进程页表、进程分配的内存块、进程事件信息之间的对应关系,为所述驱动态进程分配内存块,将所述进程的用户数据复制到所述内存块,恢复所述进程页表;将所述进程地址空间ID、进程页表配置到计算引擎的寄存器中。

所述驱动态进程状态信息包括:具有对应关系的进程ID、进程的控制信息、进程页表信息、进程分配的内存块信息和进程事件信息;所述进程分配的内存块信息包括:进程的用户数据;所述进程的控制信息包括:进程地址空间ID。

步骤23,从所述转储文件中解析出恢复的进程信息中的队列信息,根据所述队列信息,恢复所述队列;该步骤具体包括:根据保存的队列ID、队列分配的环形缓冲区、队列读写指针、队列内存区信息之间的对应关系,恢复队列数据,将内存队列描述符配置到对应的硬件队列寄存器,将环形缓冲区、计算上下文切换缓冲区、控制栈缓冲区、队列读写指针和门铃寄存器值都配置到对应的硬件队列寄存器。其中,驱动软件请参见图4所述的系统架构图中三层结构中的中间一层。

所述队列的信息包括:队列ID、队列分配的环形缓冲区、队列读写指针、队列内存区信息;所述队列内存区信息包括:计算上下文切换缓冲区、控制栈缓冲区、内存队列描述符;所述队列读写指针包括:门铃寄存器的值。

步骤24,从所述队列内存区,提取暂停的任务的运行上下文信息;根据所述任务的运行上下文信息,恢复所述队列的任务,载入所述任务到计算引擎;

步骤25,发送运行信号,使得所述计算引擎和所述用户态进程同时进入运行状态。

以下描述本发明的应用场景。本发明涉及超级计算任务的离线迁移,支持多进程多任务计算,自上而下分为用户进程、驱动软件、计算硬件三层结构;图4为系统的计算进程、驱动软件、计算硬件的结构图;用户进程通过计算队列,推送计算任务到计算引擎,执行计算任务;计算引擎完成计算任务后,将计算结果写入应用进程指定的内存区中,通知上层计算进程,任务完成。

本发明实施例提供的计算任务的恢复方法,任务迁移分为2个步骤:计算任务上下文的保存和恢复;保存当前计算任务时,首先暂停正在进行的计算任务的时候,将计算任务运行上下文保存到转储文件中;当需要恢复计算任务的时候,解析转储文件,从文件中将计算任务恢复至保存前的状态,计算设备将接着之前保存的进度继续计算。

实现计算任务迁移的4个模块结构图如图5所示。在应用层、驱动层、微码层新增4个模块来完成,分别是UMS(user migration slave,用户迁移从模块)、MM(migrationmaster,迁移主模块)、DMS(driver migration slave,驱动迁移从模块)、CMS(ucodemigration slave,微码迁移从模块):

1)UMS模块:基于现有的检查点/恢复技术实现,例如CRIU(Checkpoint/RestoreIn Userspace,用户空间检查点/恢复)、BLCR(Berkeley Lab Checkpoint/Restart,伯克利实验室检查点/重新启动)技术,接收来自MM模块的指令,将用户态进程保存到转储文件中;

2)MM模块:任务迁移的控制模块,由该模块给各个从模块(包括图5的UMS、DMS、CMS模块)发送信息,控制各个从模块对计算任务上下文保存和恢复的时序;

3)DMS模块:接收来自MM模块的命令,执行驱动层资源的保存和恢复任务。

4)CMS模块:接收来自MM模块的命令,CMS模块负责执行计算设备硬件上下文资源的保存和恢复工作。

一、如图6所示,计算任务上下文保存步骤如下:

步骤1:MM模块向UMS发送暂停(冻结)命令,UMS执行暂停运行在该卡上的所有用户态计算进程的操作,UMS完成后向MM模块回复完成消息;用户态进程冻结完成后,就没有新的计算任务推向计算引擎了,接下来进入步骤2冻结计算引擎并保存计算任务上下文内容。

步骤2:MM模块向CMS模块发送暂停命令,CMS模块配置计算引擎的控制寄存器发送HALT命令,暂停引擎上所有的计算任务;然后向计算引擎队列的控制寄存器写入SAVE保存命令,触发计算引擎发生任务保存操作,计算引擎把计算任务运行上下文信息内容保存到驱动软件提供的计算上下文切换缓冲区中,将计算引擎控制信息保存到驱动软件提供的控制栈缓冲区中,将队列硬件寄存器信息保存到驱动软件提供的内存队列描述符区;CMS模块等待计算引擎完成后向MM模块回复完成消息;计算引擎冻结并保存完成后,整个软硬件系统全都处于冻结状态,依次进入保存用户态进程和驱动软件资源步骤。

步骤3:MM模块向UMS发送保存命令,UMS模块将所有用户态计算进程状态保存到转储文件,这一步可以基于现有Checkpoint检测点/Restore恢复技术实现;UMS模块完成操作后向MM回复完成消息。

步骤4:MM模块向DMS模块发送保存命令,DMS模块以进程(process)为单位,将进程信息、进程页表、进程分配的内存块(包括分配的主机内存、图形处理器内存)里面的关键计算数据,按表1的格式保存到转储文件。队列和进程存在归属关系,进程信息保存后,接下来保存该进程下的所有队列信息,进入步骤5。步骤5:DMS模块以进程(process)为单位,将进程下的所有队列的信息保存,队列信息包括:队列描述符、环形缓冲区、队列读写指针、队列内存区信息等,按表2的格式保存到转储文件中;完成后向MM模块完成消息。步骤6,完成以上步骤计算任务上下文保存完成,计算引擎可以随时终止。

二、如图7所示,计算任务上下文恢复步骤如下:

步骤1、MM模块向UMS模块发送恢复消息,UMS模块从转储文件恢复用户态进程,用户态进程恢复完成处于暂停状态(基于现有CRIU或BLCR技术实现);恢复完成后回复消息到MM模块。

步骤2、MM模块向DMS模块发送恢复消息,DMS模块从转储文件中恢复驱动中的进程信息,分配内存块并填充恢复内存块关键数据,恢复进程页表;进程信息恢复过程为保存过程的逆过程(见计算任务保存步骤4),数据格式见下表:

从表1恢复计算进程关键数据结构,完成后将进程地址空间ID、进程页表地址配置到计算引擎的寄存器中。进程信息恢复后接下来恢复该进程下的全部队列信息,进入步骤3。步骤3、DMS模块以进程为单位从转储文件恢复归属于该进程下的所有队列信息,包括队列描述符、环形缓冲区、门铃寄存器、队列读写指针、队列内存区信息等;队列恢复过程为保存过程的逆过程(见计算任务保存步骤5),数据格式入表2:

队列关键数据结构恢复后,驱动软件内存队列描述符区中的数据配置到对应的硬件队列寄存器,将环形缓冲区、上下文切换缓冲区、控制栈缓冲区、队列读写指针和门铃寄存器值都配置到对应的硬件队列寄存器。完成进程和队列信息恢复后,恢复计算引擎所必需的软件资源已经准备好,此时向MM回复完成消息,接下来进入步骤4,恢复计算引擎。步骤4、MM模块发送恢复消息到CMS模块,CMS模块根据队列描述符区域、计算上下文切换缓冲区、控制栈缓冲区资源,配置计算引擎寄存器,载入计算任务到计算引擎,载入完成后计算任务的进度处于保存时的状态,具接着计算之前中断任务的能力,但计算任务都还处于冻结状态;操作完成后向MM回复消息。

步骤5、MM模块向CMS模块和UMS模块发出运行信号,CMS模块向计算引擎的控制寄存器写入恢复命令,计算任务将接着保存之前的任务进度开始计算;UMS模块向用户态进程发送继续(SIGCONT)信号,用户态进程进入运行状态,可以继续往计算引擎推送计算任务。

步骤6、经过以上步骤,整个软硬件系统全都恢复完成。

本发明计算任务的保存和恢复方案可以用于计算任务迁移场景、硬件维护等场景下,具体包括:

1、在云计算场景,虚拟机保存运行状态进行迁移并部署到其他节点,运用本发明的技术,可以同步将计算引擎(图形处理器/深度计算处理器等)上的计算任务也同步迁移,在新节点计算任务按迁移前的状态重新运行;

2、在分布式负载均衡场景,分布式计算过程中某个节点运作负载过重,需要将计算任务迁移,应用本发明的技术,可以将计算任务迁移到其他空闲节点,并接着迁移前的状态运行;

3、在计算节点维护(或计划性下电)场景,运用本发明的技术,保存计算任务上下文,将计算任务暂停,然后下电执行换卡、扩充内存等维护操作,上电后恢复暂停的计算任务继续运行。

本发明实施例还提供一种计算任务的恢复装置,如图8所示,上述装置包括:

保存单元,用于检测到任务中断指令,暂停系统正在进行的任务,将所述任务的运行上下文信息保存到转储文件;

解析单元,用于获取任务恢复指令,从所述转储文件中解析所述任务的运行上下文信息,根据所述运行上下文信息,恢复所述任务;

计算单元,用于对恢复后的所述任务继续计算。

可选的,所述保存单元包括:

第一暂停子单元,用于暂停所述系统中运行在用户设备上的用户态计算进程的操作;

第二暂停子单元,用于将所述系统中的计算引擎上的任务暂停,把暂停的所述任务的运行上下文信息保存到所述系统的内存的队列内存区中;

第一保存子单元,用于将所述系统中用户态进程状态信息保存到所述转储文件;

第二保存子单元,用于将所述系统中驱动态进程状态信息保存到所述转储文件中;

第三保存子单元,用于以进程为单位,将暂停的驱动态进程下的队列的信息保存到所述转储文件中。

可选的,所述驱动态进程状态信息包括:具有对应关系的进程ID、进程的控制信息、进程页表信息、进程分配的内存块信息和进程事件信息;所述进程分配的内存块信息包括:进程的用户数据;所述进程的控制信息包括:进程地址空间ID;

相应的,所述第二保存子单元具体为:

以对应关系保存进程ID、进程的控制信息、进程页表信息、进程分配的内存块信息和进程事件信息。

可选的,所述队列的信息包括:队列ID、队列分配的环形缓冲区、队列读写指针和队列内存区信息;所述队列内存区信息包括:计算上下文切换缓冲区、控制栈缓冲区和内存队列描述符;所述队列读写指针包括:门铃寄存器的值;

相应的,所述第三保存子单元具体为:

以对应关系保存队列ID、队列分配的环形缓冲区、队列读写指针、队列内存区信息。

可选的,所示解析单元具体包括:

第一恢复子单元,用于从所述转储文件解析出所述用户态进程状态信息,根据所述用户态进程状态信息,恢复所述用户态进程;

第二恢复子单元,用于从所述转储文件中解析出驱动态进程状态信息,根据所述驱动态进程状态,恢复所述驱动态进程;

第三恢复子单元,用于从所述转储文件中解析出恢复的进程信息中的队列信息,根据所述队列信息,恢复所述队列;

第四恢复子单元,用于从所述内存的队列内存区中,提取暂停的任务的运行上下文信息;根据所述任务的运行上下文信息,恢复所述队列的任务,载入所述任务到计算引擎;

发送子单元,从发送运行信号,使得所述计算引擎和所述用户态进程同时进入运行状态。

可选的,所述第二恢复子单元具体为:根据保存的进程ID、进程控制信息、进程页表信息、进程分配的内存块、进程事件信息之间的对应关系,为所述驱动态进程分配内存块,将所述进程的用户数据复制到所述内存块,恢复所述进程页表;将进程地址空间ID、进程页表配置到计算引擎的寄存器中。

可选的,所述第三恢复子单元具体为:根据保存的队列ID、队列分配的环形缓冲区、队列读写指针、队列内存区信息之间的对应关系,恢复队列数据,将内存队列描述符配置到对应的硬件队列寄存器,将环形缓冲区、计算上下文切换缓冲区、控制栈缓冲区、队列读写指针和门铃寄存器值均配置到对应的硬件队列寄存器。

本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本发明实施例还提供一种用户设备,所述用户设备包括上述计算任务的恢复装置。

本发明实施例还提供一种计算任务的恢复装置,如图9所示,上述装置包括:

存储器;

以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行所述的计算任务的恢复方法。

本发明实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现所述的计算任务的恢复方法。

本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

相关技术
  • 计算任务的恢复方法、装置、用户设备及存储介质
  • 工作流任务状态的恢复方法及装置、存储介质、计算设备
技术分类

06120113034563