[发明专利]一种提高计算引擎缓存利用率的系统及方法在审
申请号: | 202211181441.7 | 申请日: | 2022-09-27 |
公开(公告)号: | CN115509747A | 公开(公告)日: | 2022-12-23 |
发明(设计)人: | 李树青;王江;孙华锦 | 申请(专利权)人: | 山东云海国创云计算装备产业创新中心有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/0866;G06F12/0806 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 陈黎明;马鹏林 |
地址: | 250000 山东省济南市中国(山东)自由贸*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 计算 引擎 缓存 利用率 系统 方法 | ||
本发明提供了一种提高计算引擎缓存利用率的系统及方法,该系统包括外部设备、外部设备控制器以及内联计算引擎。本发明引入超额分配的机制,可以实现比物理缓存更大的虚拟缓存,通过这部分虚拟缓存,内联计算引擎可以支持更多的外部设备的并发任务,提高缓存利用率和内联计算引擎的性能。通过当前外部设备和内存等参数动态调节虚拟缓存大小,可以避免芯片在设计时需要按最坏的情况实例化过大的物理缓存,可以实现在相同性能的前提下,仅用较小的物理缓存来适应各种不同的使用场景,可以有效降低芯片成本。
技术领域
本发明涉及芯片技术领域,具体涉及一种提高计算引擎缓存利用率的系统及方法。
背景技术
随着大数据和人工智能技术的发展,对计算机系统的计算能力提出了越来越高的要求,越来越多的计算机系统采用专用芯片进行计算加速。计算引擎座位计算加速芯片的核心,也在向更快的速度、更高的内存利用率上发展,而计算引擎中的缓存,往往是实现上述性能的核心。
其中,以一种新型的内联计算引擎为例,内联计算引擎是一种在数据流通路上位于数据源和存储器之间的计算引擎,相比于传统计算引擎,它可以减少对存储器的访问次数,有效节省对存储器带宽的需求。
图1是传统计算引擎的数据交互过程,用于计算的数据1存放于存储器中,数据2来自于外部设备。数据2先从外部设备写入内存,然后计算引擎再从内存中读取数据1和数据2,得到运算结果后再写回存储器。因此,上述最典型的任务下,存储器需要分别被读取和写入2次。
当使用了内联计算引擎后,数据流如图2所示。外部设备将数据2直接写入内联计算引擎,此时内联计算引擎再外部设备看来相当于一个存储器设备。内联计算引擎再收到外部设备数据2的同时,从存储器读取数据1,进行计算并得到结果,再将结果写入存储器。因此上述典型场景下,存储器只需要分别被读取和写入一次。
内联计算引擎的内部实现有多种方式,但无论其采用什么具体的实现方式,从抽象的角度看,场景上都有以下公共特征:
1、由于外部设备的数据获取都是有一定的延时的,即从向外部设备下发命令,到数据输出,有一定的时间差。在这个时间差内,系统处于对性能的要求,需要继续向该设备或者其他设备发送命令,而不能等待一个任务完成后再开始下一个任务。因此,内联计算模块需要支持多个并发的任务。
2、对于高性能的设备,任务与任务间的完成顺序往往支持乱序。特别是,当使用多个外部设备时,顺序更加难以保证。也就是说,任务完成的顺序往往不是任务下发的顺序。对于部分常见协议,如PCIe,还会出现一个任务中的多个数据块之间出现乱序。
因此,由于乱序和多任务的存在,内联计算引擎需要在收到外部设备写入的数据时,才能开始载入当前数据对应的任务信息,然后再从存储器中读取对应的数据1。内联计算无法预知下一个到来的数据的相关信息,这是内联计算引擎面对的核心问题之一。而在任务信息和对应数据被获取之前,从外部设备写入的数据需要被暂存在内联计算引擎的内部缓存中。
内联计算引擎部分关键数据流可以抽象为图3所示的方式。如前文所述,由于多任务和乱序,外部设备的数据在进入内联计算引擎后,需要暂时被保存在外设数据缓存中。在保存的同时,内联计算引擎的读取控制模块通过获取外部设备写入数据的信息,查询系统内存中另一个参与运算的数据的存放位置,然后从系统内存中读取另一个运算数。当系统内存将数据返回给内联计算引擎后,将被送入一个较小的内存数据缓存,然后与外设数据缓存的数据一起被送入运算单元。
由于外部设备写入数据的随机性,系统内存的数据无法被预先读取,因此外设数据缓存是内联计算引擎当中一个无法被省略的关键部件,它的使用效率也直接关系到内联计算引擎的成本和性能。
传统的缓存管理方法,需要在给外部设备下发数据读取命令前申请缓存空间,然后根据申请到的缓存大小,向外部设备下发不超过该大小的读取命令,以避免缓存的溢出。当内存中的待参与运算的数据被读入缓存,然后与外部数据缓存一起进入运算模块后,对应大小的外部数据缓存可以被回收并被分配给新的请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东云海国创云计算装备产业创新中心有限公司,未经山东云海国创云计算装备产业创新中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211181441.7/2.html,转载请声明来源钻瓜专利网。