[发明专利]任务处理方法、编译器、调度服务器和介质在审
申请号: | 201911223452.5 | 申请日: | 2019-12-03 |
公开(公告)号: | CN111061485A | 公开(公告)日: | 2020-04-24 |
发明(设计)人: | 徐鹏;董书言 | 申请(专利权)人: | 华控清交信息科技(北京)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京成创同维知识产权代理有限公司 11449 | 代理人: | 李镇江 |
地址: | 100084 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 处理 方法 编译器 调度 服务器 介质 | ||
本公开提供了一种任务处理方法、编译器、调度服务器和介质。该方法包括:从任务的指令中顺次取出待处理指令;确定所述待处理指令与之前取出且未处理的所述任务的指令是否有依赖关系;如果确定没有依赖关系,将所述待处理指令放到待处理队列中;如确定有依赖关系,将所述待处理队列中的指令并行执行,之后将所述待处理指令放到待处理队列中。本公开实施例提高了执行任务中的指令的执行效率,减少执行延时。
技术领域
本公开涉及安全计算领域,特别涉及一种任务处理方法、编译器、调度服务器和介质。
背景技术
多方安全计算是指,针对无可信第三方的情况下,在多个非互信数据库之间,在数据相互保密的前提下,实现数据的计算和融合。目前多方安全计算中,设置多个计算节点。计算节点从数据方获得隐私数据的密文,基于密文进行计算,计算结果的明文只能被结果方获取。由于计算节点获取的是隐私数据的密文,不知道真正的数据,实现了在数据保密的情况下数据的计算和融合。
在每个计算节点中有一个或多个指令计算单元。目前的多方安全计算系统中,在任务指令编译的过程中,将编译后的指令一条条放进指令计算单元的队列,由指令计算单元执行。目前,一个任务维持一个队列。只有当队列中前一个指令被取出执行后,后续指令才能被取出执行。这经常导致在一个指令计算单元处理一个任务的一条指令的时候,由于单任务队列的问题,其它指令计算单元无任务执行,处于等待状态,导致系统性能降低,增加总计算延时。另外,多个指令计算单元执行任务中的指令时的数据交互也引入较多延时。因为底层使用了gRPC的send以及recv机制,在recv的等待中,引入了处理、等待的模式。这样的模式,使数据层面以及程序层面,不能较好的并行处理。
发明内容
本公开的一个目的在于提高执行任务中的指令的执行效率,减少执行延时。
根据本公开的一个方面,提供了一种任务处理方法,包括:
从任务的指令中顺次取出待处理指令;
确定所述待处理指令与之前取出且未处理的所述任务的指令是否有依赖关系;
如果确定没有依赖关系,将所述待处理指令放到待处理队列中;
如果确定有依赖关系,将所述待处理队列中的指令并行执行,之后将所述待处理指令放到待处理队列中。
可选地,所述任务的指令中含有被赋值符号和被引用符号,预先设置第一集合。所述确定所述待处理指令与之前取出且未处理的所述任务的指令是否有依赖关系,包括:确定所述待处理指令中的被赋值符号和被引用符号中的至少一个是否在所述第一集合中,其中,如果是,则确定所述待处理指令与之前取出且未处理的所述任务的指令的有依赖关系;如果否,则确定所述待处理指令与之前取出且未处理的所述任务的指令没有依赖关系。
可选地,所述如果确定没有依赖关系,所述将所述待处理指令放到待处理队列中,包括:将所述待处理指令的被赋值符号放到所述第一集合中,且将所述待处理指令放到所述待处理队列中。
可选地,所述将所述待处理队列中的指令并行执行,之后将所述待处理指令放到待处理队列中,包括:
将所述待处理队列中的指令并行执行;
清空所述待处理队列;
清空所述第一集合;
将所述待处理指令放到所述清空后的待处理队列中;
将所述待处理指令的被赋值符号放到所述第一集合中。
可选地,所述将所述待处理队列中的指令并行执行,包括:
如果所述待处理队列中的待处理指令的数目M不大于指令计算单元的数目N,获取每个指令计算单元的处理负荷;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华控清交信息科技(北京)有限公司,未经华控清交信息科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911223452.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:便于转帖的PE保护膜及其转贴工艺
- 下一篇:一种工业以太网直连云装置