[发明专利]一种多核并行计算的快速核间数据同步方法有效
申请号: | 202010324853.6 | 申请日: | 2020-04-22 |
公开(公告)号: | CN111459872B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 王旭;陈南希;张晓林 | 申请(专利权)人: | 中国科学院上海微系统与信息技术研究所 |
主分类号: | G06F15/167 | 分类号: | G06F15/167;G06F15/177 |
代理公司: | 上海智信专利代理有限公司 31002 | 代理人: | 邓琪 |
地址: | 200050 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 并行 计算 快速 数据 同步 方法 | ||
本发明提供一种多核并行计算的快速核间数据同步方法,包括:为每两个直接相连的核之间配置缓冲区和缓冲区数据结构,在每个缓冲区数据结构中设置缓冲区写入指示器和缓冲区读取指示器;初始化缓冲区写入指示器和缓冲区读取指示器;所有核同时执行读取核间数据和写入核间数据的步骤;重复进行读取核间数据和写入核间数据的步骤。本发明的方法同时配置了缓冲区写入指示器和缓冲区读取指示器,可以减少对预取器和数据缓存进行操作的次数,从而在保证数据正确传递的同时,提高了多核并行计算调度方法的效率。
技术领域
本发明属于并行计算领域,具体涉及一种多核并行计算的快速核间数据同步方法。
背景技术
DSP(数字信号处理器)由于具有强大的计算能力,在图像处理、消费电子、仪器仪表、工业控制、汽车、医疗等领域得到了广泛的应用。为了提高性能,DSP往往具有多个处理器核心,如美国TI公司(德州仪器)的C66x系列DSP,可以配置多达8个核心。为了充分发挥多核DSP的性能,需要将计算任务分配到多个处理器核心上进行并行计算。目前最为流行的DSP多核并行计算方法是TI公司的SYS/BIOS操作系统。这个操作系统根据DSP的硬件结构特性做了大量的适配和封装,使得用户可以较为容易的将单核运行的程序转化为多核运行的程序。
一些应用领域对处理数据所用的时间很敏感,因而对系统的时延有着苛刻的要求。操作系统由于有多个线程在同时运行,所以很难精确控制计算任务在DSP上的运行时间。
在多核并行计算中,可能会将一个计算任务的不同步骤分配给不同的处理器核。此时,一个核的输出是另一个核的输入。为了将数据从前一个核传递给后一个核,需要在内存中开辟一块缓冲区(buffer)。前一个核将初步处理后的数据写入缓冲区,后一个核再将数据取走并进行下一步的处理。在C66x系列DSP中,每个核都有自己的数据缓存(datacache)和预取器(prefetch)。这里首先简单的介绍一下数据缓存和预取器。DSP核的运行速度通常比内存的速度快得多。因此在DSP核内部设计了一块高速的数据缓存,将DSP核经常使用的数据就近放在数据缓存里。例如,在从内存读取数据时,数据在加载进DSP核的同时,在数据缓存里也存了一份。如果不久之后DSP核再次读取这个数据,就没必要从慢速的内存中读取,可以直接从数据缓存中读取。往内存中写数据时,缓存的情况也类似。预取器在数据缓存的基础上更进了一步。每个DSP核都有自己单独的预取器,DSP核在读取一个数据之后,预取器会预测下一步还会读取哪些内存区域的数据,并提前把这些数据读进来。如果预测正确,那么DSP核就不必到慢速的内存中读取数据。如果预测错误,则直接丢弃预取的数据即可。
DSP核的数据缓存和预取器导致DSP核读写数据时会产生数据一致性的问题,即,数据缓存和预取器加快了DSP核从内存中读写数据的速度,但同时也造成内存中的数据与DSP核中的数据(即位于数据缓存或预取器中的数据)不一致,从而使内存中的数据不能及时更新,有可能造成数据无法正确的从一个核传递到另一个核。这里的“不能及时更新”的意思有两重:1)在DSP核从内存中读取数据的情况下,有可能出现内存中的数据已经更新,而DSP核并不知道,仍然使用数据缓存或预取器中的数据,这是内存中数据不能及时更新到DSP核,即当后一个核从内存读数据时,部分数据有可能是从数据缓存或者预取器中读到的,而不是从内存读到的;2)在DSP核将数据写到内存的过程中,有可能出现DSP中的计算结果只写到了数据缓存,而没有写到内存的情况,这是DSP核中的数据不能及时更新到内存,即前一个核往内存写数据时,部分数据有可能只是写到了数据缓存中,而没有真正写到内存。在有数据缓存的情况下,数据缓存的硬件特征导致数据有可能只是从DSP核的计算结果存到了数据缓存,而没有进一步存到内存。这个特性是由数据缓存的硬件结构所决定的,并不受DSP核的指令的控制。这些情况都会导致前一个核的数据没有正确的传递到后一个核。
单核运行的程序不需要考虑核间数据一致性问题,所以核间数据同步是多核并行计算所特有的问题,其所消耗的计算资源也是由于多核并行计算所带来的额外开销。这些开销会降低并行计算调度方法的运行效率,从而影响多核并行计算的性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院上海微系统与信息技术研究所,未经中国科学院上海微系统与信息技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010324853.6/2.html,转载请声明来源钻瓜专利网。