【技术实现步骤摘要】
【国外来华专利技术】使用系统调用拦截的计算任务输出的存储和重新使用
专利
[0001]本专利技术总体上涉及计算系统,并且特别地涉及用于存储和重新使用计算任务的输出的方法和系统。
[0002]专利技术背景
[0003]各种类型的计算任务进行结果的缓存以供后续重新使用。例如,Matev的一篇题为“Fast distributed compilation and testing of large C++projects”的文章(第24届高能与核物理计算国际会议(24
th International Conference on Computing in High Energy and Nuclear Physics),2019年11月)描述了一种分布式编译服务器,该服务器执行预处理并缓存编译结果,以便更快地重建。Kirillov在“Faster builds with the new Caching Shader Preprocessor(Experimental)”(Unity Blog,2020年5月)中描述了另一个示例预处理和缓存方案。
[0004]专利技术概述
[0005]本文描述的本专利技术的实施例提供了一种包括存储器和一个或更多个处理器的装置。该一个或更多个处理器被配置成:接收用于执行的第一计算任务,并且在该第一计算任务的执行期间(i)监视由第一计算任务发出的操作系统(OS)调用,(ii)基于所监视的OS调用来识别由第一计算任务产生的一个或更多个输出,以及(iii)将第一计算任务的一个或更多个输出存储在存储器 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种装置,包括:存储器;以及一个或更多个处理器,所述一个或更多个处理器被配置成:接收用于执行的第一计算任务;在所述第一计算任务的执行期间:(i)监视由所述第一计算任务发出的操作系统(OS)调用,(ii)基于监视的OS调用识别由所述第一计算任务产生的一个或更多个输出,以及(iii)将所述第一计算任务的所述一个或更多个输出存储在所述存储器中;接收用于执行的第二计算任务;以及在确定所述第二计算任务将产生与所述第一计算任务的存储的输出相同的至少一个输出时,重新使用所述第一计算任务的存储的输出作为所述第二计算任务的输出。2.根据权利要求1所述的装置,其中,所述一个或更多个处理器被配置成通过以下操作确定所述第二计算任务的至少一个输出将与所述第一计算任务的存储的输出相同:基于在所述第一计算任务的执行期间监视的所述OS调用,识别由所述第一计算任务获取的一个或更多个输入;以及确定(i)所述一个或更多个输入的当前版本与由所述第一计算任务获取的一个或更多个对应输入相同,以及(ii)从所述一个或更多个输入产生所述至少一个输出的至少一个操作在所述第一计算任务和所述第二计算任务中相同。3.根据权利要求2所述的装置,其中,所述一个或更多个处理器被配置成在以下项之间进行比较,以便确定所述当前版本与由所述第一计算任务获取的输入相同:(i)在所述一个或更多个输入的当前版本上计算的一个或更多个第一签名,以及(ii)在由所述第一计算任务获取的一个或更多个对应输入上计算的一个或更多个第二签名。4.根据权利要求2所述的装置,其中,所述一个或更多个处理器被配置成仅识别影响所述第一计算任务的输出中的一个或更多个输出的所述第一计算任务的输入。5.根据权利要求2所述的装置,其中,所述一个或更多个处理器被配置成在发现所述至少一个操作在所述第二计算任务和所述第一计算任务之间不同,或者发现所述一个或更多个输入的当前版本不同于由所述第一计算任务获取的一个或更多个对应输入时,执行所述第二计算任务。6.根据权利要求2所述的装置,其中,所述第一计算任务包括多个软件进程的层次结构,并且其中,所述一个或更多个处理器被配置成识别所述多个进程的所述层次结构,并累积由所述多个进程获取的输入中的至少一些。7.根据权利要求2所述的装置,其中,所述第一计算任务包括一个或更多个软件进程,并且其中,所述一个或更多个处理器被配置成通过监视由所述进程向OS发出的所述OS调用来识别由所述第一计算任务获取的输入。8.根据权利要求2所述的装置,其中,所述第二计算任务包括一个或更多个软件进程,所述一个或更多个软件进程包括给定进程,在所述给定进程中,给定输入仅在执行期间变得可用,并且其中,所述一个或更多个处理器被配置成运行所述给定进程至少直到所述给定输入可用,然后基于所述给定输入决定是否中止所述给定进程并重新使用来自所述第一计算任务的存储的输出。9.根据权利要求1
‑
8中任一项所述的装置,其中,所述一个或更多个处理器被配置成通
过将程序代码注入到所述第一计算任务中来监视所述OS调用,所述程序代码拦截由所述第一计算任务向OS发出的所述OS调用。10.根据权利要求9所述的装置,其中,所述第一计算任务包括多个软件进程的层次结构,并且其中,所述一个或更多个处理器被配置成将拦截所述OS调用的所述程序代码注入到所述多个软件进程中。11.根据权利要求1
‑
8中任一项所述的装置,其中,所述一个或更多个处理器被配置成通过比较在所述第一计算任务和所述第二计算任务的至少相应命令行上计算的第一签名和第二签名,确定所述第二计算任务将产生与所述第一计算任务的存储的输出相同的至少一个输出。12.根据权利要求1
‑
8中任一项所述的装置,其中,除了重新使用所述第一计算任务的存储的输出,所述一个或更多个处理器还被配置成重构目标进程随后使用所述第二计算任务的输出所需的附加数据。13.根据权利要求12所述的装置,其中,所述一个或更多个处理器被配置成向所...
【专利技术属性】
技术研发人员:维克多,
申请(专利权)人:快编大师软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。