一种数据处理的方法及装置制造方法及图纸

技术编号:21363903 阅读:22 留言:0更新日期:2019-06-15 09:51
本发明专利技术提供了一种数据处理的方法及装置,用于解决现有技术中数据传输效率较低且存储空间开销较大的问题。包括:从磁盘中获取第一数据集合到主存;控制所述CPU根据第一解压算法对所述第一数据集合进行第一次解压,确定所述第一次解压后的第二数据集合,其中,所述第一解压算法为不支持随机访问的压缩方法对应的解压算法;从主存中获取所述第二数据集合到图像处理器GPU的显存;控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压,其中,所述第二解压算法为随机访问解压算法。

A Data Processing Method and Device

The invention provides a data processing method and device for solving the problems of low data transmission efficiency and large storage space overhead in the prior art. It includes: obtaining the first data set from disk to main memory; controlling the CPU to decompress the first data set according to the first decompression algorithm, and determining the second data set after the first decompression, in which the first decompression algorithm is the decompression algorithm corresponding to the compression method that does not support random access; and obtaining the second data set from main memory to image. The memory of the processor GPU; controls at least one processing core of the GPU to perform a second decompression of the second data set according to the second decompression algorithm, in which the second decompression algorithm is a random access decompression algorithm.

【技术实现步骤摘要】
一种数据处理的方法及装置
本专利技术涉及计算机
,尤其涉及一种数据处理的方法及装置。
技术介绍
图形处理器(GraphicsProcessingUnit,GPU)是计算机中包括的一种硬件,GPU可以利用内部众多的处理核心协助计算机的中央处理器(CentralProcessingUnit,CPU)对多种类型计算任务进行并行加速,图1为一台包括GPU的计算机的计算和存储框架示意图,具体的,当需要使用GPU对数据进行处理时,首先需要将被处理数据从计算机的磁盘导入主存,然后从主存传输到GPU的显存中,然后GPU中处理核心从所述显存中获取被处理数据进行处理。在上述过程中,当被处理数据的数据量较大时,被处理数据从磁盘导入主存的传输开销较大且主存中需要较大的存储空间,当被处理数据的数据量大于GPU的显存时,在数量处理的过程中需要在计算机的主存和GPU的显存之间进行大量的数据倒换,进一步增加了传输开销,影响传输效率。现有技术中,为了减小传输开销,在被处理数据存入磁盘之前采用基于熵的压缩方法对被处理数据进行压缩,当磁盘中存储的压缩后的被处理数据需要进行解压时,将磁盘中存储的压缩后的被处理数据导入主存,再将主存压缩后的被处理数据发送至显存,由于被处理数据被压缩,因此减小了传输开销,提高了传输效率,但是存入显存的压缩后的被处理数据在进行处理之前需要进行解压,由于基于熵的压缩方法在解压过程中的串行特性,无法通过GPU的内部众多处理核心并行处理,导致解压效率低,解压时间长,导致数据处理效率低,并且,在解压过程中压缩后的被处理数据和解压后被处理数据都需要驻留在GPU显存中,增加了对GPU存储空间的需求,减少了GPU单批次能够处理的数据量,增加了存储空间的开销。综上所述,如何在提高数据传输效率的同时减小存储空间的开销是目前需要解决的问题。
技术实现思路
有鉴于此,本专利技术提供了一种数据处理的方法及装置,用于解决现有技术中数据传输效率较低且存储空间开销较大的问题。根据本专利技术实施例的第一个方面,提供了一种数据处理的方法,包括:从磁盘中获取第一数据集合到主存;控制中央处理器CPU根据第一解压算法对所述第一数据集合进行第一次解压,确定所述第一次解压后的第二数据集合,其中,所述第一解压算法为不支持随机访问的压缩方法对应的解压算法;从主存中获取所述第二数据集合到图像处理器GPU的显存;控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压,其中,所述第二解压算法为随机访问解压算法。在一个实施例中,所述控制所述CPU根据第一解压算法对所述第一数据集合进行第一次解压,确定所述第一次解压后的第二数据集合之后,该方法还包括:将所述第二数据集合写入主存的一次压缩数据缓冲区。在一个实施例中,所述从主存中获取所述第二数据集合到图像处理器GPU的显存,具体包括:从主存的一次压缩数据缓冲区中获取所述第二数据集合到图像处理器GPU的显存的显存数据缓冲区。在一个实施例中,所述控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压之后,该方法包括:将所述GPU的显存的显存数据缓冲区中的第二数据集合移除。在一个实施例中,所述控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压,具体包括:控制所述GPU的多个核以并行方式对所述第二数据集合进行第二次解压,确定解压后的第一原始数据集合,将所述第一原始数据集合写入所述GPU的显存。在一个实施例中,所述控制所述GPU的多个核以并行方式对所述第二数据集合进行第二次解压,确定解压后的第一原始数据集合,将所述第一原始数据集合写入所述GPU的显存,具体包括:控制所述多个处理核从所述GPU的显存中的所述第一原始数据集合中获取数据进行处理。在一个实施例中,所述控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压,具体包括:控制所述GPU的多个处理核对所述第二数据集合进行第二次解压,将解压后的数据写入所述多个处理核分别对应的寄存器中。在一个实施例中,所述控制所述GPU的多个处理核对所述第二数据集合进行第二次解压,将解压后的数据写入所述多个处理核分别对应的寄存器中之后,该方法还包括:控制所述多个处理核分别从对应的寄存器中获取解压后的数据进行处理。根据本专利技术实施例的第二个方面,提供了一种数据压缩的方法,包括:控制中央处理器CPU将第二原始数据集合按照设定值进行分片,确定分片后的至少一个第一原始数据集合;控制所述CPU或图像处理器GPU对所述第一原始数据集合进行第一次压缩,确定第一次压缩后的数据集合;控制所述CPU对所述第一次压缩后的数据集合进行第二次压缩,确定压缩后的第一数据集合;将所述压缩后的第一数据集合发送到磁盘。在一个实施例中,所述第一次压缩采用随机访问压缩算法进行压缩,第二次压缩采用不可随机访问的压缩算法进行压缩。根据本专利技术实施例的第三个方面,提供了一种数据处理的装置,包括:第一获取单元,用于从磁盘中获取第一数据集合到主存;第一解压单元,用于控制中央处理器CPU根据第一解压算法对所述第一数据集合进行第一次解压,确定所述第一次解压后的第二数据集合,其中,所述第一解压算法为不支持随机访问的压缩方法对应的解压算法;第二获取单元,用于从主存中获取所述第二数据集合到图像处理器GPU的显存;第二解压单元,用于控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压,其中,所述第二解压算法为随机访问解压算法。在一个实施例中,该装置还包括:写入单元,用于将所述第二数据集合写入主存的一次压缩数据缓冲区。在一个实施例中,所述第二获取单元具体用于:从主存的一次压缩数据缓冲区中获取所述第二数据集合到图像处理器GPU的显存的显存数据缓冲区。在一个实施例中,该装置还包括:移除单元,用于将所述GPU的显存的显存数据缓冲区中的第二数据集合移除。在一个实施例中,所述第二解压单元具体用于:控制所述GPU的多个核以并行方式对所述第二数据集合进行第二次解压,确定解压后的第一原始数据集合,将所述第一原始数据集合写入所述GPU的显存。在一个实施例中,所述第二解压单元具体用于:控制所述多个处理核从所述GPU的显存中的所述第一原始数据集合中获取数据进行处理。在一个实施例中,所述第二解压单元具体用于:控制所述GPU的多个处理核对所述第二数据集合进行第二次解压,将解压后的数据写入所述多个处理核分别对应的寄存器中。在一个实施例中,所述第二解压单元具体用于:控制所述多个处理核分别从对应的寄存器中获取解压后的数据进行处理。根据本专利技术实施例的第四个方面,提供了一种数据处理的装置,包括:分片单元,用于控制CPU将第二原始数据集合按照设定值进行分片,确定分片后的至少一个第一原始数据集合;第一压缩单元,用于控制所述CPU或图像处理器GPU对所述第一原始数据集合进行第一次压缩,确定第一次压缩后的数据集合;第二压缩单元,用于控制所述CPU对所述第一次压缩后的数据集合进行第二次压缩,确定压缩后的第一数据集合;发送单元,用于将所述压缩后的第一数据集合发送到磁盘。在一个实施例中,所述第一次压缩采用随机访问压缩算法进行压缩,第二次压缩采用不可随机访问的压缩算法进行压缩。根据本文档来自技高网
...

【技术保护点】
1.一种数据处理的方法,其特征在于,包括:从磁盘中获取第一数据集合到主存;控制中央处理器CPU根据第一解压算法对所述第一数据集合进行第一次解压,确定所述第一次解压后的第二数据集合,其中,所述第一解压算法为不支持随机访问的压缩方法对应的解压算法;从主存中获取所述第二数据集合到图像处理器GPU的显存;控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压,其中,所述第二解压算法为随机访问解压算法。

【技术特征摘要】
1.一种数据处理的方法,其特征在于,包括:从磁盘中获取第一数据集合到主存;控制中央处理器CPU根据第一解压算法对所述第一数据集合进行第一次解压,确定所述第一次解压后的第二数据集合,其中,所述第一解压算法为不支持随机访问的压缩方法对应的解压算法;从主存中获取所述第二数据集合到图像处理器GPU的显存;控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压,其中,所述第二解压算法为随机访问解压算法。2.如权利要求1所述的方法,其特征在于,所述控制所述CPU根据第一解压算法对所述第一数据集合进行第一次解压,确定所述第一次解压后的第二数据集合之后,该方法还包括:将所述第二数据集合写入主存的一次压缩数据缓冲区。3.如权利要求2所述的方法,其特征在于,所述从主存中获取所述第二数据集合到图像处理器GPU的显存,具体包括:从主存的一次压缩数据缓冲区中获取所述第二数据集合到图像处理器GPU的显存的显存数据缓冲区。4.如权利要求3所述的方法,其特征在于,所述控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压之后,该方法包括:将所述GPU的显存的显存数据缓冲区中的第二数据集合移除。5.如权利要求1所述的方法,其特征在于,所述控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压,具体包括:控制所述GPU的多个核以并行方式对所述第二数据集合进行第二次解压,确定解压后的第一原始数据集合,将所述第一原始数据集合写入所述GPU的显存。6.如权利要求5所述的方法,其特征在于,所述控制所述GPU的多个核以并行方式对所述第二数据集合进行第二次解压,确定解压后的第一原始数据集合,将所述第一原始数据集合写入所述GPU的显存,具体包括:控制所述多个处理核从所述GPU的显存中的所述第一原始数据集合中获取数据进行处理。7.如权利要求1所述的方法,其特征在于,所述控制所述GPU的至少一个处理核心根据第二解压算法对所述第二数据集合进行第二次解压,具体包括:控制所述GPU的多个处理核对所述第二数据集合进行第二次解压,将解压后的数据写入所述多...

【专利技术属性】
技术研发人员:谢超郭人通易小萌
申请(专利权)人:上海赜睿信息科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1