CN104391679A - 一种非规则流中高维数据流的gpu处理方法 - Google Patents
一种非规则流中高维数据流的gpu处理方法 Download PDFInfo
- Publication number
- CN104391679A CN104391679A CN201410656028.0A CN201410656028A CN104391679A CN 104391679 A CN104391679 A CN 104391679A CN 201410656028 A CN201410656028 A CN 201410656028A CN 104391679 A CN104391679 A CN 104391679A
- Authority
- CN
- China
- Prior art keywords
- data
- stream
- gpu
- data stream
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种非规则流中高维数据流的GPU处理方法,属于高维数据流的处理方法,采用基于GPU的数据流并行计算模型对数据源的非规则流中高维数据流进行并行计算处理,处理后传给客户端;CPU主机是逻辑判断和控制的核心,并负责串行计算;概要数据结构的全部或者部分转移到GPU设备的显存中;当客户端提出查询请求时,CPU主机负责调用GPU设备的内核程序,在GPU设备显存中的概要数据结构上执行查询算法内核,并将查询结果返回CPU主机,最后再由CPU主机将结果转换为可读的最终查询结果返回给客户端。本发明能够在线精确地识别同步滑动窗口模式下高维数据流之间的相关性,具有显著的速度优势,很好地满足了高维数据流的实时性需求。
Description
技术领域
本发明涉及一种高维数据流的处理方法,具体地说是一种非规则流中高维数据流的GPU处理方法。
背景技术
GPU(Graphic
Processing Unit),中文翻译为“图形处理器”。GPU是显卡的“心脏”,也就相当于CPU在电脑中的作用。GPU具有相当高的内存带宽,以及大量的执行单元,它可帮助CPU进行一些复杂的计算工作,使显卡减少了对CPU的依赖。
传统上,GPU的应用被局限于处理图形渲染计算任务,无疑是对计算资源的极大浪费。随着GPU可编程性的不断提高,利用GPU完成通用计算的研究渐渐活跃起来。将GPU用于图形渲染以外领域的计算成为GPGPU(General-purpose
computing on graphics processing units,基于GPU的通用计算)。GPGPU计算通常采用CPU+GPU异构模式,由CPU负责执行复杂逻辑处理和事务管理等不适合数据并行的计算,由GPU负责计算密集型的大规模数据并行计算。这种利用GPU强大处理能力和高带宽弥补CPU性能不足的计算方式在发掘计算机潜在的性能,在成本和性价比方面有显著优势。但是传统的GPGPU受硬件可编程和开发方式的制约,应用领域受到了限制,开发难度也很大。
2007年,由NVIDIA推出的CUDA(Compute Unified Device Architecture,统一计算设备架构), 这一编程接口弥补了传统GPGPU的不足。利用CUDA编程接口, 可以用C语言直接调用GPU资源, 而无需将其映射到图形API, 为GPU的非图形编程普及消除了障碍。
CUDA模型将CPU作为主机(Host),GPU作为协处理器(co-processor)或设备(device).两者协同工作。CPU负责进行逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。CPU、GPU各自拥有相互独立的存储器地址空间:主机端内存和设备端显存。一旦确定了程序中的并行计算函数(kernel),就考虑把这部分计算交给GPU。
现实生活中,高速网络故障诊断,零售业务中的交易数据流、在线拍卖、交易日志、Web 跟踪和个性化、医学监测、通信领域中的电话记录数据流、网络监测中的数据包流、环境温度的监测数据以及卫星传回的图像数据流等形成了一种与传统数据库中静态数据不同的数据形态。数据流中的数据到达是快速、时变、不可预测和无限的数据流形式,不可能完全存储原始数据。而且这些数据流产生的数据量在多个应用领域中快速增长,而且产生数据流的应用通常要求在线实时处理。如何及时有效地处理数据流,从中挖掘出有用的知识,将对多个应用领域产生重大意义。
(数据流的定义)数据流实际上就是连续移动的元素队伍,其中的元素是由相关数据的集合组成。令t表示任一时间戳,at表示在该时间戳到达的数据,流数据可以表示成{…,at−1,at,at+1,…}.区别于传统应用模型,流数据模型具有以下4点共性:(1)、数据实时到达;(2)、数据到达次序独立,不受应用系统所控制;(3)、数据规模宏大且不能预知其最大值;(4)、数据一经处理,除非特意保存,否则不能被再次取出处理,或者再次提取数据代价昂贵
同时,流是以双重身份出现的:(1)、作为一个软件可见的程序变量存在。(2)、作为一个硬件可见的管理单位存在。实际应用中流往往具有很多属性,当流被映射到硬件中时,这些属性仍然被保持或者变个形式被硬件所见。
一维顺序访问的定长流称为规则流,除此之外的流称为非规则流。
无论单维数据流还是多维数据流,数据流应遵循的约束包括:(1)、数据流始终是大量数据聚合成的一维连续数据结构,其访问的索引可以不连续,但流中的数据始终是连续成批组织的。(2)、流具有方向性。在对流的一次引用期间,对流不能既作为输入流又作为输出流。(3)、流作为一个完整的整体,在生命周期内是不可以切割或者合并的,但可以允许派生和复制,派生流和复制的流与原来的流是不同的流。(4)、流具有唯一标志。(5)、流具有长度属性,长度属性有两个含义,一个是其初始长度,一个是其当前访问长度,但无论如何对流元素的任何访问包括索引访问不能越界。(6)、流本身具有类型属性,流体系结构以及流处理模块都能识别流的类型,并根据类型做出不同的反应。
非规则流则部分的松弛了这些约束。(1)、非规则流中元素的访问序列可能是间断的、跳跃或重复的。(2)、非规则流中元素的访问序列可能是动态产生的,还可能依据条件取舍。(3)、由于非规则流中元素的访问序列的不确定性,使得其实际长度和访问长度并无特殊关系,且两者都有可能是不确定的。(4)、非规则流中元素的结构可能是多种多样的,不同元素所占的存储空间可以不一样。(5)、规则流中,对流中每个元素上的计算是相同的,而非规则流中,可以针对各个流元素的位置、值的不同的计算处理。
传统的数据处理技术将所有数据存放到数据库或者数据仓库中;系统响应用户提交的DML语句,搜索数据存储媒介,返回查询结果。当数据规模很大时,数据往往以磁盘或者磁带为介质,因而执行查询操作需要大量的I/O 交换,效率低下,不能适应实时系统的需求。
由于数据流本身不断变化且难以预测的特点,以及数据流突发(Burst)的产生对数据流负载能力提出了更高的要求,同时数据流处理的串行精确算法因为时间开销过大而难以满足实时性需求,因此研究和利用高速的流处理器提高数据流处理吞吐量成为数据流处理研究领域的热点问题之一。
发明内容
本发明的技术任务是提供一种能够在线精确地识别同步滑动窗口模式下高维数据流之间的相关性,具有显著的速度优势,很好地满足了高维数据流的实时性需求,可以作为通用的分析方法广泛应用于高维数据流挖掘领域的一种非规则流中高维数据流的GPU处理方法。
本发明的技术任务是按以下方式实现的,
一种非规则流中高维数据流的GPU处理方法,采用基于GPU的数据流并行计算模型对数据源的非规则流中高维数据流进行并行计算处理,处理后传给客户端;基于GPU的数据流并行计算模型包括CPU主机和GPU设备,CPU主机是逻辑判断和控制的核心,并负责串行计算;计算密集和数据密集的部分转移到GPU设备上计算,将概要数据结构的全部或者部分转移到GPU设备的显存中;
CPU主机负责从流数据源端获取数据,对数据进行流速率调节,属性包装和数据过滤,进而进行缓冲,根据流速率调节后的情况,CPU主机调度将负责负载平衡和决定何时启动GPU设备;
在GPU设备上,负责存储数据流的概要数据结构,并不断将数据流转换为概要数据结构,实时处理新流入的数据流,过期的数据流将在GPU设备的显存上直接抛弃;
当客户端提出查询请求时,CPU主机负责调用GPU设备的内核程序,在GPU设备显存中的概要数据结构上执行查询算法内核,并将查询结果返回CPU主机,最后再由CPU主机将结果转换为可读的最终查询结果返回给客户端。
基于GPU的数据流并行计算模型包括六层架构:
(1)、时序数据处理层:时序数据处理层中的数据是符合非规则流的一些约束的含高维属性的元组,该层的任务是由CPU主机进行处理的,对原数据流分三次处理:流速率调节、属性包装和数据过滤;
(2)数据映射层:对于图像相关的数据流,将CPU主机内的数组结构映射为GPU设备的纹理结构,事先建立对应表达式C(x)=G(y),通过数据C(x)属性和纹理数据属性G(y)建立映射关系,找出CPU主机和GPU设备内两类数据的一一对应关系,利用通用计算数据结构对应纹理在GPU存放纹理各个属性的方式;
(3)数据缓冲层:包含两级数据缓冲池,维护如下几类数据缓冲的存储:注册的查询计划缓冲、同步数据查询操作工作区缓冲、数据流历史概要缓冲、数据流缓冲;数据缓冲借助两种类型的队列实现传感器数据操作(推式队列)和传统关系数据操作(拖式队列),减少CPU主机和GPU设备间的数据交换频率,提高高维数据流并行计算的密集程度;数据缓冲层是图形处理器对高维数据流并行处理的基本单位;经过数据清理以及映射处理的缓冲窗口作为普通的子窗口更新到滑动窗口中;
(4)滑动窗口层:矩阵流以队列的方式实现,队列中存放数据流的高维属性,进入滑动窗口;更新矩阵流时(即时间窗前滚),用新元组替换掉最旧的元组,实现同步高维数据流概要数据结构增量归一化;
(5)概要数据抽取层:生成高维数据流的概要数据结构,存放概要数据的层次;实际上,高维数据流最便于用二维矩阵表示,每行或每列表示一条数据流,每个元素表示各个维度的属性;对于高维数据流此层分三个区域,根据高维数据流的特点分别采用不等概行向兼列向采样技术、小波技术、数据立方技术进行概要数据抽取;
(6)查询分析处理层: 完成各种基本查询和复杂分析;基本查询处理操作完成一般的选择、连接、投影和聚集连续查询请求;复杂分析处理操作则是在信息提取层生成的概要信息基础上,进一步研究数据流中各种因素的性质和相互之间的关系,基本查询操作既可以直接在预处理过的数据流上执行,也可以在概要上执行。
时序数据处理层中,对原数据流的处理如下:
流速率调节负责负载平衡和决定何时启动GPU设备的内核;当数据流的流量达到一定规模时,可以启动GPU设备的内核对数据流进行处理,作为一种提高数据流处理性能的手段;如果启动GPU设备的内核协处理数据流,CPU主机每次以较大的分块将数据交换到GPU设备,利用GPU设备的图形处理器密集的数据计算能力和高内存带宽的特性对数据流进行高速处理;
属性包装和数据过滤负责对数据流进行加工以改善数据流的质量,为数据流的连续查询和复杂分析打下基础,对数据流进行加工包括对数据流进行去噪、压缩编码、修正以减少存储空间和传输时间;在整个时序数据处理层中元组按时间t有序,如果任一高维数据流在时刻t未接收到元组,则以全0的元组代替,即允许稀疏数据流矩阵存在。
GPU设备中包括增量维护缓冲及滑动窗口内核、统一化内核、近似降维处理内核、挖掘类内核;增量维护缓冲及滑动窗口内核特别适合高维流的处理,与高维数据流模式的定义十分吻合,负责生成和增量维护缓冲窗口和滑动窗口摘要信息;统一化内核负责执行调整高维数据流格式任务;近似降维处理内核是在滑动窗口的模式下进行概要结构生成,完成低阶近似降维处理;挖掘类内核以摘要二维概要矩阵为输入执行多数据流挖掘算法。
滑动窗口层的数据流采用数据流立方结构,将n条高维数据流组织成一个数据流立方结构,为了分析n条数据流中任意两条中任意维度上的相关性,每层代表一条高维数据流,每一层上的分块代表各维度上的属性,若某条数据流的某维属性为空,则数据立方中对应的分块置为0。
将数据流立方结构抽象到一个计算网格上,并通过线程块索引(blockIdx)访问滑动窗口中的二维概要数据矩阵;每条数据流对应一个窗口,每个窗口上映射为一个二维矩阵,在该矩阵上进行不等概行向兼列向采样,得到标有矩阵行和列的重要测度。
本发明的一种非规则流中高维数据流的GPU处理方法具有以下优点:
1、能够在线精确地识别同步滑动窗口模式下高维数据流之间的相关性,具有显著的速度优势,很好地满足了高维数据流的实时性需求,可以作为通用的分析方法广泛应用于高维数据流挖掘领域;
2、适合于图形处理器并行计算的数据流管理模型,选取适合图形处理器并行计算的数据概要结构和相应模型,从而形成一个扩展性好,具有通用意义的数据流实时处理的计算模型;
3、由于基于GPU的数据流并行计算模型使用二维概要数据矩阵对多条高维数据流进行密集组织和统一索引,使得该框架同时适合对多数据流其他的并行计算要求,具有较强通用性;
4、采用数据流立方结构,在计算的时候,单维数据流那样组织成n阶矩阵,而实际上只需要计算该矩阵的上三角或者下三角即可,从而造成了存储器空间的浪费,而本数据流立方,可以每层代表的是不同的数据流,所以节省了存储空间;
5、数据流处理算法具有数据密集,计算耗时,应用于每一个数据的算法一致这三个特点,完全可以映射到SIMT模型中编写并行程序,具有图像处理器并行计算的优势。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种非规则流中高维数据流的GPU处理方法的基于GPU的数据流并行计算模型的框架图;
附图2为一种非规则流中高维数据流的GPU处理方法的GPU设备中高维数据流的框架图;
附图3为一种非规则流中高维数据流的GPU处理方法的数据流立方结构的框架图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种非规则流中高维数据流的GPU处理方法作以下详细地说明。
实施例1:
本发明的一种非规则流中高维数据流的GPU处理方法,采用基于GPU的数据流并行计算模型对数据源的非规则流中高维数据流进行并行计算处理,处理后传给客户端;基于GPU的数据流并行计算模型包括CPU主机和GPU设备,CPU主机是逻辑判断和控制的核心,并负责串行计算;计算密集和数据密集的部分转移到GPU设备上计算,将概要数据结构的全部或者部分转移到GPU设备的显存中;
CPU主机负责从流数据源端获取数据,对数据进行流速率调节,属性包装和数据过滤,进而进行缓冲,根据流速率调节后的情况,CPU主机调度将负责负载平衡和决定何时启动GPU设备;
在GPU设备上,负责存储数据流的概要数据结构,并不断将数据流转换为概要数据结构,实时处理新流入的数据流,过期的数据流将在GPU设备的显存上直接抛弃;
当客户端提出查询请求时,CPU主机负责调用GPU设备的内核程序,在GPU设备显存中的概要数据结构上执行查询算法内核,并将查询结果返回CPU主机,最后再由CPU主机将结果转换为可读的最终查询结果返回给客户端。
基于GPU的数据流并行计算模型包括六层架构:
(1)、时序数据处理层:时序数据处理层中的数据是符合非规则流的一些约束的含高维属性的元组,该层的任务是由CPU主机进行处理的,对原数据流分三次处理:流速率调节、属性包装和数据过滤;
(2)数据映射层:对于图像相关的数据流,将CPU主机内的数组结构映射为GPU设备的纹理结构,事先建立对应表达式C(x)=G(y),通过数据C(x)属性和纹理数据属性G(y)建立映射关系,找出CPU主机和GPU设备内两类数据的一一对应关系,利用通用计算数据结构对应纹理在GPU存放纹理各个属性的方式;
(3)数据缓冲层:包含两级数据缓冲池,维护如下几类数据缓冲的存储:注册的查询计划缓冲、同步数据查询操作工作区缓冲、数据流历史概要缓冲、数据流缓冲;数据缓冲借助两种类型的队列实现传感器数据操作(推式队列)和传统关系数据操作(拖式队列),减少CPU主机和GPU设备间的数据交换频率,提高高维数据流并行计算的密集程度;数据缓冲层是图形处理器对高维数据流并行处理的基本单位;经过数据清理以及映射处理的缓冲窗口作为普通的子窗口更新到滑动窗口中;
(4)滑动窗口层:矩阵流以队列的方式实现,队列中存放数据流的高维属性,进入滑动窗口;更新矩阵流时(即时间窗前滚),用新元组替换掉最旧的元组,实现同步高维数据流概要数据结构增量归一化;
(5)概要数据抽取层:生成高维数据流的概要数据结构,存放概要数据的层次;实际上,高维数据流最便于用二维矩阵表示,每行或每列表示一条数据流,每个元素表示各个维度的属性;对于高维数据流此层分三个区域,根据高维数据流的特点分别采用不等概行向兼列向采样技术、小波技术、数据立方技术进行概要数据抽取;
(6)查询分析处理层: 完成各种基本查询和复杂分析;基本查询处理操作完成一般的选择、连接、投影和聚集连续查询请求;复杂分析处理操作则是在信息提取层生成的概要信息基础上,进一步研究数据流中各种因素的性质和相互之间的关系,基本查询操作既可以直接在预处理过的数据流上执行,也可以在概要上执行。
实施例2:
本发明的一种非规则流中高维数据流的GPU处理方法,采用基于GPU的数据流并行计算模型对数据源的非规则流中高维数据流进行并行计算处理,处理后传给客户端;基于GPU的数据流并行计算模型包括CPU主机和GPU设备,CPU主机是逻辑判断和控制的核心,并负责串行计算;计算密集和数据密集的部分转移到GPU设备上计算,将概要数据结构的全部或者部分转移到GPU设备的显存中;
CPU主机负责从流数据源端获取数据,对数据进行流速率调节,属性包装和数据过滤,进而进行缓冲,根据流速率调节后的情况,CPU主机调度将负责负载平衡和决定何时启动GPU设备;
在GPU设备上,负责存储数据流的概要数据结构,并不断将数据流转换为概要数据结构,实时处理新流入的数据流,过期的数据流将在GPU设备的显存上直接抛弃;
当客户端提出查询请求时,CPU主机负责调用GPU设备的内核程序,在GPU设备显存中的概要数据结构上执行查询算法内核,并将查询结果返回CPU主机,最后再由CPU主机将结果转换为可读的最终查询结果返回给客户端。
基于GPU的数据流并行计算模型包括六层架构:
(1)、时序数据处理层:时序数据处理层中的数据是符合非规则流的一些约束的含高维属性的元组,该层的任务是由CPU主机进行处理的,对原数据流分三次处理:流速率调节、属性包装和数据过滤;
(2)数据映射层:对于图像相关的数据流,将CPU主机内的数组结构映射为GPU设备的纹理结构,事先建立对应表达式C(x)=G(y),通过数据C(x)属性和纹理数据属性G(y)建立映射关系,找出CPU主机和GPU设备内两类数据的一一对应关系,利用通用计算数据结构对应纹理在GPU存放纹理各个属性的方式;
(3)数据缓冲层:包含两级数据缓冲池,维护如下几类数据缓冲的存储:注册的查询计划缓冲、同步数据查询操作工作区缓冲、数据流历史概要缓冲、数据流缓冲;数据缓冲借助两种类型的队列实现传感器数据操作(推式队列)和传统关系数据操作(拖式队列),减少CPU主机和GPU设备间的数据交换频率,提高高维数据流并行计算的密集程度;数据缓冲层是图形处理器对高维数据流并行处理的基本单位;经过数据清理以及映射处理的缓冲窗口作为普通的子窗口更新到滑动窗口中;
(4)滑动窗口层:矩阵流以队列的方式实现,队列中存放数据流的高维属性,进入滑动窗口;更新矩阵流时(即时间窗前滚),用新元组替换掉最旧的元组,实现同步高维数据流概要数据结构增量归一化;
(5)概要数据抽取层:生成高维数据流的概要数据结构,存放概要数据的层次;实际上,高维数据流最便于用二维矩阵表示,每行或每列表示一条数据流,每个元素表示各个维度的属性;对于高维数据流此层分三个区域,根据高维数据流的特点分别采用不等概行向兼列向采样技术、小波技术、数据立方技术进行概要数据抽取;
(6)查询分析处理层: 完成各种基本查询和复杂分析;基本查询处理操作完成一般的选择、连接、投影和聚集连续查询请求;复杂分析处理操作则是在信息提取层生成的概要信息基础上,进一步研究数据流中各种因素的性质和相互之间的关系,基本查询操作既可以直接在预处理过的数据流上执行,也可以在概要上执行。
时序数据处理层中,对原数据流的处理如下:
流速率调节负责负载平衡和决定何时启动GPU设备的内核;当数据流的流量达到一定规模时,可以启动GPU设备的内核对数据流进行处理,作为一种提高数据流处理性能的手段;如果启动GPU设备的内核协处理数据流,CPU主机每次以较大的分块将数据交换到GPU设备,利用GPU设备的图形处理器密集的数据计算能力和高内存带宽的特性对数据流进行高速处理;
属性包装和数据过滤负责对数据流进行加工以改善数据流的质量,为数据流的连续查询和复杂分析打下基础,对数据流进行加工包括对数据流进行去噪、压缩编码、修正以减少存储空间和传输时间;在整个时序数据处理层中元组按时间t有序,如果任一高维数据流在时刻t未接收到元组,则以全0的元组代替,即允许稀疏数据流矩阵存在。
GPU设备中包括增量维护缓冲及滑动窗口内核、统一化内核、近似降维处理内核、挖掘类内核;增量维护缓冲及滑动窗口内核特别适合高维流的处理,与高维数据流模式的定义十分吻合,负责生成和增量维护缓冲窗口和滑动窗口摘要信息;统一化内核负责执行调整高维数据流格式任务;近似降维处理内核是在滑动窗口的模式下进行概要结构生成,完成低阶近似降维处理;挖掘类内核以摘要二维概要矩阵为输入执行多数据流挖掘算法。
滑动窗口层的数据流采用数据流立方结构,将n条高维数据流组织成一个数据流立方结构,为了分析n条数据流中任意两条中任意维度上的相关性,每层代表一条高维数据流,每一层上的分块代表各维度上的属性,若某条数据流的某维属性为空,则数据立方中对应的分块置为0。
将数据流立方结构抽象到一个计算网格上,并通过线程块索引(blockIdx)访问滑动窗口中的二维概要数据矩阵;每条数据流对应一个窗口,每个窗口上映射为一个二维矩阵,在该矩阵上进行不等概行向兼列向采样,得到标有矩阵行和列的重要测度。如图3中,利用线程块计算S3和S1的某一维度属性的相关性,通过线程块索引到窗口3和窗口1上概要矩阵上,进行处理;在计算网格中的每一个线程块中,利用块内的512个线程,每次并行增量更新的方式维护两个数据流样本矩阵的协差阵S21,S22和各自的方差阵S11,S12;然后对高维的矩阵进行列向和行向上的采样实现维数约简,最后并行计算特征值及其特征向量,得到最终结果;如果线程块的行索引小于或等于列索引,则说明该线程块不在下数据流立方内,直接返回。
以上说明仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权力要求书的保护范围为准。
Claims (6)
1.一种非规则流中高维数据流的GPU处理方法,其特征在于采用基于GPU的数据流并行计算模型对数据源的非规则流中高维数据流进行并行计算处理,处理后传给客户端;基于GPU的数据流并行计算模型包括CPU主机和GPU设备,CPU主机是逻辑判断和控制的核心,并负责串行计算;计算密集和数据密集的部分转移到GPU设备上计算,将概要数据结构的全部或者部分转移到GPU设备的显存中;
CPU主机负责从流数据源端获取数据,对数据进行流速率调节,属性包装和数据过滤,进而进行缓冲,根据流速率调节后的情况,CPU主机调度将负责负载平衡和决定何时启动GPU设备;
在GPU设备上,负责存储数据流的概要数据结构,并不断将数据流转换为概要数据结构,实时处理新流入的数据流,过期的数据流将在GPU设备的显存上直接抛弃;
当客户端提出查询请求时,CPU主机负责调用GPU设备的内核程序,在GPU设备显存中的概要数据结构上执行查询算法内核,并将查询结果返回CPU主机,最后再由CPU主机将结果转换为可读的最终查询结果返回给客户端。
2.根据权利要求1所述的一种非规则流中高维数据流的GPU处理方法,其特征在于基于GPU的数据流并行计算模型包括六层架构:
(1)、时序数据处理层:时序数据处理层中的数据是符合非规则流的一些约束的含高维属性的元组,该层的任务是由CPU主机进行处理的,对原数据流分三次处理:流速率调节、属性包装和数据过滤;
(2)数据映射层:对于图像相关的数据流,将CPU主机内的数组结构映射为GPU设备的纹理结构,事先建立对应表达式,通过数据属性和纹理数据属性建立映射关系,找出CPU主机和GPU设备内两类数据的一一对应关系;
(3)数据缓冲层:包含两级数据缓冲池,维护如下几类数据缓冲的存储:注册的查询计划缓冲、同步数据查询操作工作区缓冲、数据流历史概要缓冲、数据流缓冲;经过数据清理以及映射处理的缓冲窗口作为普通的子窗口更新到滑动窗口中;
(4)滑动窗口层:矩阵流以队列的方式实现,队列中存放数据流的高维属性,进入滑动窗口;更新矩阵流时,用新元组替换掉最旧的元组;
(5)概要数据抽取层:生成高维数据流的概要数据结构,存放概要数据的层次;对于高维数据流此层分三个区域,根据高维数据流的特点分别采用不等概行向兼列向采样技术、小波技术、数据立方技术进行概要数据抽取;
(6)查询分析处理层: 完成各种基本查询和复杂分析;基本查询处理操作完成一般的选择、连接、投影和聚集连续查询请求;复杂分析处理操作则是在信息提取层生成的概要信息基础上,进一步研究数据流中各种因素的性质和相互之间的关系,基本查询操作既可以直接在预处理过的数据流上执行,也可以在概要上执行。
3.根据权利要求2所述的一种非规则流中高维数据流的GPU处理方法,其特征在于时序数据处理层中,对原数据流的处理如下:
流速率调节负责负载平衡和决定何时启动GPU设备的内核;如果启动GPU设备的内核协处理数据流,CPU主机每次以较大的分块将数据交换到GPU设备,利用GPU设备的图形处理器密集的数据计算能力和高内存带宽的特性对数据流进行高速处理;
属性包装和数据过滤负责对数据流进行加工以改善数据流的质量,对数据流进行加工包括对数据流进行去噪、压缩编码、修正以减少存储空间和传输时间。
4.根据权利要求2所述的一种非规则流中高维数据流的GPU处理方法,其特征在于GPU设备中包括增量维护缓冲及滑动窗口内核、统一化内核、近似降维处理内核、挖掘类内核;增量维护缓冲及滑动窗口内核负责生成和增量维护缓冲窗口和滑动窗口摘要信息;统一化内核负责执行调整高维数据流格式任务;近似降维处理内核是在滑动窗口的模式下进行概要结构生成,完成低阶近似降维处理;挖掘类内核以摘要二维概要矩阵为输入执行多数据流挖掘算法。
5.根据权利要求2所述的一种非规则流中高维数据流的GPU处理方法,其特征在于滑动窗口层的数据流采用数据流立方结构,将n条高维数据流组织成一个数据流立方结构,每层代表一条高维数据流,每一层上的分块代表各维度上的属性,若某条数据流的某维属性为空,则数据立方中对应的分块置为0。
6.根据权利要求5所述的一种非规则流中高维数据流的GPU处理方法,其特征在于将数据流立方结构抽象到一个计算网格上,并通过线程块索引访问滑动窗口中的二维概要数据矩阵;每条数据流对应一个窗口,每个窗口上映射为一个二维矩阵,在该矩阵上进行不等概行向兼列向采样,得到标有矩阵行和列的重要测度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410656028.0A CN104391679A (zh) | 2014-11-18 | 2014-11-18 | 一种非规则流中高维数据流的gpu处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410656028.0A CN104391679A (zh) | 2014-11-18 | 2014-11-18 | 一种非规则流中高维数据流的gpu处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104391679A true CN104391679A (zh) | 2015-03-04 |
Family
ID=52609587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410656028.0A Pending CN104391679A (zh) | 2014-11-18 | 2014-11-18 | 一种非规则流中高维数据流的gpu处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104391679A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045806A (zh) * | 2015-06-04 | 2015-11-11 | 中国科学院信息工程研究所 | 一种面向分位数查询的概要数据动态分裂与维护方法 |
CN105426163A (zh) * | 2015-10-27 | 2016-03-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于mic协处理器的单数据流分位数处理方法 |
CN105955713A (zh) * | 2016-05-10 | 2016-09-21 | 河北省科学院应用数学研究所 | 基于样条插值与数据并行的数据处理方法 |
CN106909639A (zh) * | 2017-02-16 | 2017-06-30 | 东北大学 | 一种基于Spark的链式多路空间连接查询处理算法 |
CN107066378A (zh) * | 2017-01-24 | 2017-08-18 | 成都皓图智能科技有限责任公司 | 一种实时在线gpu通用计算模拟及调试方法 |
CN107508909A (zh) * | 2017-09-15 | 2017-12-22 | 无锡南理工科技发展有限公司 | 多流实时管理无线中间件的处理方法 |
CN107844405A (zh) * | 2017-10-12 | 2018-03-27 | 华为技术有限公司 | 日志处理方法及装置、服务器 |
CN108351788A (zh) * | 2015-11-18 | 2018-07-31 | 华为技术有限公司 | 提供对数据流的访问的数据处理设备 |
CN109213793A (zh) * | 2018-08-07 | 2019-01-15 | 泾县麦蓝网络技术服务有限公司 | 一种流式数据处理方法和系统 |
CN109687875A (zh) * | 2018-11-20 | 2019-04-26 | 成都四方伟业软件股份有限公司 | 一种时序数据处理方法 |
CN109783520A (zh) * | 2018-12-26 | 2019-05-21 | 东华大学 | 基于滑动窗口的可伸缩的大规模流数据顺序特征维持方法 |
CN110600108A (zh) * | 2019-09-01 | 2019-12-20 | 厦门影诺医疗科技有限公司 | 一种胶囊内镜的冗余图像处理方法 |
CN111158898A (zh) * | 2019-11-25 | 2020-05-15 | 国网浙江省电力有限公司建设分公司 | 针对输变电工程场地布置标准化的bim数据处理方法及装置 |
CN112116017A (zh) * | 2020-09-25 | 2020-12-22 | 西安电子科技大学 | 基于核保持的数据降维方法 |
WO2021008258A1 (zh) * | 2019-07-15 | 2021-01-21 | 北京一流科技有限公司 | 协处理器的数据处理路径中的数据流动加速构件及其方法 |
CN113360189A (zh) * | 2021-06-04 | 2021-09-07 | 上海天旦网络科技发展有限公司 | 适用于流处理的异步优化方法、系统、装置和可读介质 |
-
2014
- 2014-11-18 CN CN201410656028.0A patent/CN104391679A/zh active Pending
Non-Patent Citations (1)
Title |
---|
周勇等: "非规则流中高维数据流典型相关性分析并行计算方法", 《软件学报》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045806A (zh) * | 2015-06-04 | 2015-11-11 | 中国科学院信息工程研究所 | 一种面向分位数查询的概要数据动态分裂与维护方法 |
CN105045806B (zh) * | 2015-06-04 | 2019-04-09 | 中国科学院信息工程研究所 | 一种面向分位数查询的概要数据动态分裂与维护方法 |
CN105426163A (zh) * | 2015-10-27 | 2016-03-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于mic协处理器的单数据流分位数处理方法 |
CN108351788A (zh) * | 2015-11-18 | 2018-07-31 | 华为技术有限公司 | 提供对数据流的访问的数据处理设备 |
US11016777B2 (en) | 2015-11-18 | 2021-05-25 | Huawei Technologies Co., Ltd. | Data processing device for providing access to a data stream |
CN105955713A (zh) * | 2016-05-10 | 2016-09-21 | 河北省科学院应用数学研究所 | 基于样条插值与数据并行的数据处理方法 |
CN105955713B (zh) * | 2016-05-10 | 2018-04-03 | 河北省科学院应用数学研究所 | 基于样条插值与数据并行的数据处理方法 |
CN107066378A (zh) * | 2017-01-24 | 2017-08-18 | 成都皓图智能科技有限责任公司 | 一种实时在线gpu通用计算模拟及调试方法 |
CN106909639B (zh) * | 2017-02-16 | 2020-09-29 | 东北大学 | 一种基于Spark的链式多路空间连接查询处理方法 |
CN106909639A (zh) * | 2017-02-16 | 2017-06-30 | 东北大学 | 一种基于Spark的链式多路空间连接查询处理算法 |
CN107508909A (zh) * | 2017-09-15 | 2017-12-22 | 无锡南理工科技发展有限公司 | 多流实时管理无线中间件的处理方法 |
CN107844405A (zh) * | 2017-10-12 | 2018-03-27 | 华为技术有限公司 | 日志处理方法及装置、服务器 |
CN107844405B (zh) * | 2017-10-12 | 2021-11-19 | 华为技术有限公司 | 日志处理方法及装置、服务器 |
CN109213793A (zh) * | 2018-08-07 | 2019-01-15 | 泾县麦蓝网络技术服务有限公司 | 一种流式数据处理方法和系统 |
CN109687875A (zh) * | 2018-11-20 | 2019-04-26 | 成都四方伟业软件股份有限公司 | 一种时序数据处理方法 |
CN109783520A (zh) * | 2018-12-26 | 2019-05-21 | 东华大学 | 基于滑动窗口的可伸缩的大规模流数据顺序特征维持方法 |
WO2021008258A1 (zh) * | 2019-07-15 | 2021-01-21 | 北京一流科技有限公司 | 协处理器的数据处理路径中的数据流动加速构件及其方法 |
CN110600108A (zh) * | 2019-09-01 | 2019-12-20 | 厦门影诺医疗科技有限公司 | 一种胶囊内镜的冗余图像处理方法 |
CN111158898A (zh) * | 2019-11-25 | 2020-05-15 | 国网浙江省电力有限公司建设分公司 | 针对输变电工程场地布置标准化的bim数据处理方法及装置 |
CN111158898B (zh) * | 2019-11-25 | 2022-07-15 | 国网浙江省电力有限公司建设分公司 | 针对输变电工程场地布置标准化的bim数据处理方法及装置 |
CN112116017A (zh) * | 2020-09-25 | 2020-12-22 | 西安电子科技大学 | 基于核保持的数据降维方法 |
CN112116017B (zh) * | 2020-09-25 | 2024-02-13 | 西安电子科技大学 | 基于核保持的图像数据降维方法 |
CN113360189A (zh) * | 2021-06-04 | 2021-09-07 | 上海天旦网络科技发展有限公司 | 适用于流处理的异步优化方法、系统、装置和可读介质 |
CN113360189B (zh) * | 2021-06-04 | 2022-09-30 | 上海天旦网络科技发展有限公司 | 适用于流处理的异步优化方法、系统、装置和可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391679A (zh) | 一种非规则流中高维数据流的gpu处理方法 | |
Schaa et al. | Exploring the multiple-GPU design space | |
Guo et al. | Coupled ensemble flow line advection and analysis | |
Shook et al. | A communication-aware framework for parallel spatially explicit agent-based models | |
CN103761215B (zh) | 基于图形处理器的矩阵转置优化方法 | |
Yu et al. | A parallel visualization pipeline for terascale earthquake simulations | |
Jain et al. | Input/output in parallel and distributed computer systems | |
CN104317751A (zh) | 一种gpu上数据流处理系统及其数据流处理方法 | |
Richmond et al. | Template-driven agent-based modeling and simulation with CUDA | |
D'Amore et al. | Towards a parallel component in a GPU–CUDA environment: a case study with the L-BFGS Harwell routine | |
Lee et al. | Optimization of GPU-based sparse matrix multiplication for large sparse networks | |
Cassell et al. | EGTAOnline: An experiment manager for simulation-based game studies | |
Chen et al. | clmf: A fine-grained and portable alternating least squares algorithm for parallel matrix factorization | |
CN111639054B (zh) | 一种海洋模式与资料同化的数据耦合方法、系统及介质 | |
Egloff | Pricing financial derivatives with high performance finite difference solvers on GPUs | |
Zhu et al. | Analysis of stock market based on visibility graph and structure entropy | |
Gunarathne et al. | Optimizing opencl kernels for iterative statistical applications on gpus | |
Nai et al. | Exploring big graph computing—An empirical study from architectural perspective | |
Cardoen et al. | A PDEVS simulator supporting multiple synchronization protocols: implementation and performance analysis | |
Moreira et al. | SurvivalBIV: estimation of the bivariate distribution function for sequentially ordered events under univariate censoring | |
Dai et al. | Parallel option pricing with BSDE method on GPU | |
Adiletta et al. | Characterizing the Scalability of Graph Convolutional Networks on Intel® PIUMA | |
CN105204822A (zh) | 一种基于mic协处理器的多数据流处理方法 | |
Li et al. | A GPU-based parallel algorithm for large scale linear programming problem | |
He et al. | An optimal parallel implementation of Markov Clustering based on the coordination of CPU and GPU |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150304 |