CN105426163A - 一种基于mic协处理器的单数据流分位数处理方法 - Google Patents
一种基于mic协处理器的单数据流分位数处理方法 Download PDFInfo
- Publication number
- CN105426163A CN105426163A CN201510708031.7A CN201510708031A CN105426163A CN 105426163 A CN105426163 A CN 105426163A CN 201510708031 A CN201510708031 A CN 201510708031A CN 105426163 A CN105426163 A CN 105426163A
- Authority
- CN
- China
- Prior art keywords
- data
- mic
- mic coprocessor
- coprocessor
- data stream
- 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
- 238000003672 processing method Methods 0.000 title abstract 3
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 18
- 238000010845 search algorithm Methods 0.000 claims description 15
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 11
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于MIC协处理器的单数据流分位数处理方法,该方法包括:处理器CPU从单数据流中获取数据,将数据子集交换到MIC协处理器;MIC协处理器利用MIC协处理器的内核对单数据流进行处理得到概要数据结构,并将概要数据结构的动态更新到MIC协处理器的内存中;MIC协处理器接收到实时查询请求后,以当前滑动模块窗口的全部数据作为查询算法的数据源,执行数据流分位数查询算法,构建概要数据直方图。该方法实现提高单数据流处理的高效性和实时性。
Description
技术领域
本发明涉及大数据高性能计算的技术领域,特别是涉及一种基于MIC协处理器的单数据流分位数处理方法。
背景技术
现实生活中,高速网络故障诊断,零售业务中的交易数据流、在线拍卖、交易日志、Web跟踪和个性化、医学监测、通信领域中的电话记录数据流、网络监测中的数据包流、环境温度的监测数据以及卫星传回的图像数据流等形成了一种与传统数据库中静态数据不同的数据形态。数据流中的数据到达是快速、时变、不可预测和无限的数据流形式,不可能完全存储原始数据。而且这些数据流产生的数据量在多个应用领域中快速增长,而且产生数据流的应用通常要求在线实时处理。
对于传统的单数据流处理基本模型,传统的单数据流处理技术将所有数据存放到数据库或者数据仓库中;系统响应用户提交的DML语句,搜索数据存储媒介,返回查询结果。当数据规模很大时,数据往往以磁盘或者磁带为介质,因而执行查询操作需要大量的I/O交换,效率低下,不能适应实时系统的需求。由于单数据流本身不断变化且难以预测的特点,以及单数据流突发的产生对单数据流负载能力提出了更高的要求,同时单数据流处理因为时间开销过大而难以满足实时性需求,所以单数据流处理的高效性和实时性很低。
发明内容
本发明的目的是提供一种基于MIC协处理器的单数据流分位数处理方法,以实现提高单数据流处理的高效性和实时性。
为解决上述技术问题,本发明提供基于MIC协处理器的单数据流处理方法,该方法包括:
处理器CPU从单数据流中获取数据,将数据子集交换到MIC协处理器;
MIC协处理器利用所述MIC协处理器的内核对单数据流进行处理得到概要数据结构,并将所述概要数据结构的动态更新到所述MIC协处理器的内存中;
所述MIC协处理器接收到实时查询请求后,以当前滑动模块窗口的全部数据作为查询算法的数据源,执行数据流分位数查询算法,构建概要数据直方图。
优选的,所述MIC协处理器利用所述MIC协处理器的内核对单数据流执行数据流分位数并行算法,得到概要数据结构。
优选的,所述数据流分位数并行算法采用基于基本窗口的滑动窗口模型作为概要数据结构模型。
优选的,所述滑动窗口模型中滑动窗口的更新操作和删除操作以基本窗口为单位。
优选的,所述滑动窗口的时间段和长度是固定的。
优选的,所述MIC协处理器以数据块为单位,与主机之间交换单数据流中的数据元组。
优选的,所述MIC协处理器接收到实时查询请求之前,还包括:
当所述CPU接收到用户提出的查询请求时,所述CPU向内核附加解析后的查询请求,在结束当前数据块的处理后,执行查询请求,并将查询结果返回给所述CPU的端口,并将结果转换为用户可读的最终查询结果。
优选的,所述MIC协处理器利用所述MIC协处理器的内核对单数据流进行处理得到概要数据结构,并将所述概要数据结构的动态更新到所述MIC协处理器的内存中之后,还包括:
所述MIC协处理器将过期的基本窗口在所述MIC协处理器的内存上直接丢掉。
优选的,所述MIC协处理器执行数据流分位数并行算法的过程为:
分配主机缓冲区和MIC内存;
从数据源中获取数据,并向MIC协处理器交换数据;
启动MIC协处理器的内核,执行数据流分位数并行计算子算法MICQuantilesHistogram;
更新基本窗口,并删除过期的基本窗口;
若接收到On-time查询请求,执行数据流分位数并行查询子算法MICQuantilesQuery。
优选的,所述MIC协处理器利用所述MIC协处理器的内核对单数据流进行处理得到概要数据结构之后,还包括:
所述MIC采用一个长数组作为概要数据结构的载体,并使用一个偏移索引来访问基本窗口。
本发明所提供的一种基于MIC协处理器的单数据流分位数处理方法,处理器CPU从单数据流中获取数据,将数据子集交换到MIC协处理器;MIC协处理器利用所述MIC协处理器的内核对单数据流进行处理得到概要数据结构,并将所述概要数据结构的动态更新到所述MIC协处理器的内存中;所述MIC协处理器接收到实时查询请求后,以当前滑动模块窗口的全部数据作为查询算法的数据源,执行数据流分位数查询算法,构建概要数据直方图。可见,该方法直接将数据进行读写处理,不需要写入数据库中,也不需要以磁盘为介质进行查询,节省整个并行处理时间,并且将单个数据流的概要数据结构的处理和数据流分位数查询算法交由MIC协处理器并行执行,集中处理流程控制和数据缓冲数以千计的数据流的任务,这样实现提高单数据流处理的高效性和实时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种基于MIC协处理器的单数据流分位数处理方法;
图2为MIC协处理器单数据流处理模型。
具体实施方式
本发明的核心是提供一种基于MIC协处理器的单数据流分位数处理方法,以实现提高单数据流处理的高效性和实时性。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明提供的一种基于MIC协处理器的单数据流分位数处理方法,该方法包括:
S11:处理器CPU从单数据流中获取数据,将数据子集交换到MIC协处理器;
其中,MIC(GraphicProcessingUnit,MIC协处理器)具有相当高的内存带宽,以及大量的执行单元,它可帮助CPU进行一些复杂的计算工作,使显卡减少了对CPU的依赖。由CPU负责执行复杂逻辑处理和事务管理等不适合数据并行的计算,由MIC负责计算密集型的大规模数据并行计算,可以用C语言直接调用MIC资源。
MIC协处理器将CPU作为主机,MIC作为协处理器。CPU、MIC各自拥有相互独立的存储器地址空间:主机端内存和设备端显存。一旦确定了程序中的并行计算函数,就考虑把这部分计算交给MIC。
S12:MIC协处理器利用MIC协处理器的内核对单数据流进行处理得到概要数据结构,并将概要数据结构的动态更新到MIC协处理器的内存中;
其中,MIC协处理器利用MIC协处理器的内核对单数据流执行数据流分位数并行算法,得到概要数据结构。数据流分位数并行算法采用基于基本窗口的滑动窗口模型作为概要数据结构模型。
MIC协处理器执行数据流分位数并行算法的过程为:分配主机缓冲区和MIC内存;从数据源中获取数据,并向MIC协处理器交换数据;启动MIC协处理器的内核,执行数据流分位数并行计算子算法MICQuantilesHistogram;更新基本窗口,并删除过期的基本窗口;若接收到On-time查询请求,执行数据流分位数并行查询子算法MICQuantilesQuery。
其中,滑动窗口模型中滑动窗口的更新操作和删除操作以基本窗口为单位。滑动窗口的时间段和长度是固定的。MIC协处理器利用MIC协处理器的内核对单数据流进行处理得到概要数据结构之后,MIC采用一个长数组作为概要数据结构的载体,并使用一个偏移索引来访问基本窗口。
S13:MIC协处理器接收到实时查询请求后,以当前滑动模块窗口的全部数据作为查询算法的数据源,执行数据流分位数查询算法,构建概要数据直方图。
其中,MIC协处理器以数据块为单位,与主机之间交换单数据流中的数据元组。MIC协处理器接收到实时查询请求后,以当前滑动模块窗口的全部数据作为查询算法的数据源,将MIC协处理器内存中的由单数据流构成的概要数据里面的所有数据作为数据源。
MIC协处理器接收到实时查询请求之前,当CPU接收到用户提出的查询请求时,CPU向内核附加解析后的查询请求,在结束当前数据块的处理后,执行查询请求,并将查询结果返回给CPU的端口,并将结果转换为用户可读的最终查询结果。
MIC协处理器利用MIC协处理器的内核对单数据流进行处理得到概要数据结构,并将概要数据结构的动态更新到MIC协处理器的内存中之后,MIC协处理器将过期的基本窗口在MIC协处理器的内存上直接丢掉。
具体的,分位数是大数据集和数据流上经常使用的一种统计方法。设xi(i=l,…,N)是按递增排序的数据,使得xl是最小观测值,xN是最大观测值。则每个观测值xi与一个fi(0<fi<l)对应,指出大约10Oxf:%的数据小于或等于fi,则xi是相应于f*的分位数。通过分位数查询能够获得统计信息,从而为决策管理层提供数据支持,例如在电话通讯记录中查询70%的用户通话长度不超过多少。或在网络数据包监测应用中查询20%的用户占用的带宽不超过多少。电话通讯记录或是短信息发送记录,网络数据检测等研究领域的数据流流量往往是非常大的,尤其是类似主干网络这样的应用环境,其数据流量往往是以GByte为单位计数,数据随时间累积可以达到趋近无限的容量,即使是相对较短的时间段,即窗口内的数据量也通常难以保存在主存中,因此必须采用一个远小于原始数据的数据概要结构来近似的表示原始数据。同时基于这些应用领域的数据流流速异常高的特点,利用MIC协处理器的强大的计算功率处理数据流成为了一种提高数据流处理负载能力的有效措施,提高数据流处理吞吐量,把原本因为计算能力不足而被抛弃的不可计算数据加入到可计算数据的集合中,提高计算结果的可靠性。
上述方法需要硬件系统,硬件系统包括:一个载有MIC设备的高性能服务器系统,该系统节点采用CPU+MIC异构混合模式,参与计算的除了CPU外,至少还有一个节点内除CPU芯片外,还至少含有一个MIC设备,最多可插入四块MIC设备。MIC服务器中,MIC设备是插在PCIE插槽之上并且独立供电的,被处理的数据在通过PCIE总线进行CPU主机和MIC协处理器之间的数据交换,而这除了靠较高的理论带宽之外,仍然需要额外的时钟开销。在MIC协处理器数据流并行处理的应用中,频繁的数据交换是不可避免的,本发明中的概要数据结构和数据流分位数并行算法能够减少主机CPU与协处理器MIC间的数据交换,进而提高数据流吞吐量和算法整体性能。
MIC协处理器构建在英特尔至强处理器的并行编程原则之上。通过集成众多低功耗内核,每一个处理器核具备一个512位的SIMD处理单元和很多新的向量运算指令,MIC协处理器优化了每瓦性能。超过每秒一万亿次的计算能力,创造了在一个芯片上的超级计算机。MIC协处理器是在既定的工业标准以及编程习惯之下进行并行编程以及性能优化的,而且MIC是基于X86架构的,对于传统的处理数据流的经典方法,MIC协处理器可以很好地沿用,同时MIC协处理器集成了61个计算核心,每个核心可开启4个硬件线程,总计可开启244个线程用来进行多线程并行计算,同时MIC协处理继续沿用了我们易于理解的标准编程语言包括C,C++和Fortran,以及现存并行编程标准,这种基于标准的方法保证了最大的代码重用,并且通过编写可移植,标准化,面向当前和未来的兼容并行代码获得最大的回报。对于采用传统CPU平台很难实现数据流处理性能进一步提升的部分应用,使用MIC可以带来性能的大幅提升,并且CPU与MIC可以共用一份代码,在x86架构下实现CPU+MIC异构协同计算的完美结合,为广大高性能计算用户提供了全新的计算解决方案。
相对于CPU的线程开销,MIC协处理器的多核在数据元素的子集间的上下文切换的开销是非常小的。通过切换多处理器到不同的数据元素子集,可将DRAM的内存延迟巧妙地隐藏。MIC服务器将MIC计算卡称之为“协处理器”,而将传统的CPU硬件环境称之为“主机”,通过交替执行主机程序和协处理器内核程序可以求解复杂的问题。主机内存和MIC内存之间的交换是通过PCIE总线执行的,过于频繁的数据交换会导致性能下降,因此即便是处理具有连续性和实时性特点的数据流,主机和设备之间的数据交换也必须以一定粒度的数据块为单位进行。
并行处理数据流时,以一定粒度的数据块为单位向MIC协处理器交换数据时,产生的等待该块数据被填满的等待时间称为等待延迟。如果等待延迟过大,就会破坏数据流的连续性和实时性。当数据流量S足够大时,以较小的分块B为单位进行数据交换不会破坏数据流的连续性和实时性。设时间Δt为可容忍的等待延迟,数据流量S足够大时,取B<Δt*S,则以分块B为粒度交换数据不会产生大于Δt的等待延迟,且能满足并行计算需要。在基于MIC协处理器的服务器上,根据MIC的并行计算特征得知,使用MIC协处理器处理数据流具备可行性,并且更适于数据流快速到达的特点。
数据流通常具有流量大,并经常伴随数据流流量高峰期乃至突发的产生,面对这类应用环境,如何提高数据流吞吐量成为重要问题,本发明通过分位数查询能够获得统计信息以便为决策层提供数据支持,利用MIC协处理器的强大运算能力和高内存带宽的特点,协助CPU处理数据流,从而提高数据流处理的实时带宽。
图2为MIC协处理器单数据流处理模型。在MIC协处理器数据流处理模型中,主机端CPU负责任务调度,人机交互和从数据流中获取数据,并不断地将数据子集交换到协处理器内存。在MIC协处理器上,使用MIC内核对数据流进行处理,并将概要数据结构动态更新到MIC协处理器内存中。在数据流分位数并行算法中,本发明采用基于基本窗口的滑动窗口模型作为概要数据结构模型,支持固定长度或时间段的滑动窗口。滑动窗口的更新和删除操作以基本窗口为单位,在MIC内存上进行,过期的基本窗口将在MIC内存上直接抛弃。当用户提出查询请求时,主机向内核程序附加解析后的查询请求,在结束当前数据块的处理后,执行查询内核指令,并将查询结果返回。最后在CPU端将结果转换为用户可读的最终查询结果。在协处理器内存上维护概要数据结构和执行查询内核不仅有利于运行速度提升,同时最小化主机与MIC协处理器间的数据交换频率。
其中,数据流分位数并行算法的主流程如下:
(1)初始化,分配主机缓冲区和MIC内存;
(2)从数据流源中获取并向MIC协处理器交换一块数据;
(3)启动MIC内核,执行数据流分位数并行计算子算法MICQuantilesHistogram;
(4)更新基本窗口、删除过期基本窗口;
(5)如果接到On-time查询请求,执行数据流分位数并行查询子算法MICQuantilesQuery;
(6)跳到(2)循环执行。
具体的,首先,初始化和分位数直方图计算;
初始化时需要分配概要数据结构所需的MIC内存。本发明中,采用一个长数组作为概要数据结构的载体,并使用一个偏移索引来访问特定基本窗口。本发明结合经典的概构直方图思想,给出适应MIC并行计算的数据流并行分位数哈希公式,设概要数据直方图为SynopsisHist,待处理数据块容量为B,规范最大和最小边界为max和min,对于超出边界的数据向max和min对齐,直方图桶数为b,有如下公式:
该公式将直方图的起始桶映射到数组索引0的位置上。首先给出了分位数计算的串行算法精要代码。串行数据流分位数概要数据结构生成如下:
Step1.For数据块B中的每一个数据
Step2.If数据超出了边界即<min
Step3.将数据标准化到[min,max]区间
Step4.EndIf
Step5.使用上述公式计算直方图索引
Step6.更新直方图数据
Step7.EndFor
数据流分位数并行计算子算法MICQuantilesHistogram用于对一块数据计算概要数据直方图,概要数据直方图SynopsisHist使用MIC协处理器生成数据流分位数概要数据结构,具体是将每次交换到MIC协处理器中的数据块B,分配给一个MICX86核心所开启的硬件线程上,线程并行的对数据B[i]规范化和计算j=MICHash(B[i])的值,最后更新概要数据直方图。
在MIC并行构建概要数据直方图时,MIC协处理器的硬件特性决定其浮点型数据的运算速度很快,在两个或多个线程同时更新概要数据直方图的同一个桶时,如何避免写入冲突。MIC架构支持的最大线程数为244,这限制了块内直方图的桶数需要小于244,如何对其扩展使其支持更大桶数的概要结构直方图。
本发明中,在MIC内存上建立子概要数据直方图片段和中间直方图表,MIC中同时处于活动状态的是244个线程或者240个线程,避免写入冲突的实质是避免这些线程同时修改同一地址,计算直方图时通过线程们向临时直方图片段不同行写入从而避免写冲突;最后将内存中的中间直方图表中的数据并行合并成最终的概要数据直方图,而且整个的并行编程都是采用编译指导语句进行,程序整体结构不会发生大的变化。
然后,在设备内存上的滑动窗口更新、删除;
根据滑动窗口有定长、定时间段两种模式,基本窗口的更新模式也有两种:一种是处理一个或固定数量数据块之后进行一次更新,另一种是通过计时器每隔一定时间Δt=tn-tn-1后更新一次基本窗口。满足基本窗口更新条件时,只需简单地使偏移索引指向下一个相邻的基本窗口。
对于过期的基本窗口,需要对其进行删除,删除基本窗口并不需要释放其内存空间,而只需使用一个快速初始化内核将该基本窗口清零,以供循环使用。
最后,MIC数据流分位数On-time查询。
在接到On-time查询请求后,MSQ算法以当前滑动窗口的全部数据作为查询算法的数据源,执行概构直方图数据流分位数查询算法MICQuantilesQuery。该算法需要首先将所有基本窗口合并到一个数组sumHist上,由于MIC协处理器内线程最大数量为244,内核可对244个数据并行快速扫描求和。设基本窗口长度为b,滑动窗口中共有N个基本窗口,合并需要申请一个b行,N/244列的MIC计算网格。利用每一列j上的N/244个线程块并行计算N个基本窗口上的数据“SynopsisHist[j]”的和。在全局内存里索引到相邻基本窗口的概要数据直方图对应第j桶的数据写入内存,并用快速扫描并行求和并行子算法对其求和并写入临时数组tempSum。
综上,本发明所提供的一种基于MIC协处理器的单数据流分位数处理方法,处理器CPU从单数据流中获取数据,将数据子集交换到MIC协处理器;MIC协处理器利用MIC协处理器的内核对单数据流进行处理得到概要数据结构,并将概要数据结构的动态更新到MIC协处理器的内存中;MIC协处理器接收到实时查询请求后,以当前滑动模块窗口的全部数据作为查询算法的数据源,执行数据流分位数查询算法,构建概要数据直方图。可见,该方法直接将数据进行读写处理,不需要写入数据库中,也不需要以磁盘为介质进行查询,节省整个并行处理时间,并且将单个数据流的概要数据结构的处理和数据流分位数查询算法交由MIC协处理器并行执行,集中处理流程控制和数据缓冲数以千计的数据流的任务,这样实现提高单数据流处理的高效性和实时性。
以上对本发明所提供的一种基于MIC协处理器的单数据流分位数处理方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于MIC协处理器的单数据流分位数处理方法,其特征在于,包括:
处理器CPU从单数据流中获取数据,将数据子集交换到MIC协处理器;
MIC协处理器利用所述MIC协处理器的内核对单数据流进行处理得到概要数据结构,并将所述概要数据结构的动态更新到所述MIC协处理器的内存中;
所述MIC协处理器接收到实时查询请求后,以当前滑动模块窗口的全部数据作为查询算法的数据源,执行数据流分位数查询算法,构建概要数据直方图。
2.如权利要求1所述的方法,其特征在于,所述MIC协处理器利用所述MIC协处理器的内核对单数据流执行数据流分位数并行算法,得到概要数据结构。
3.如权利要求2所述的方法,其特征在于,所述数据流分位数并行算法采用基于基本窗口的滑动窗口模型作为概要数据结构模型。
4.如权利要求2所述的方法,其特征在于,所述滑动窗口模型中滑动窗口的更新操作和删除操作以基本窗口为单位。
5.如权利要求4所述的方法,其特征在于,所述滑动窗口的时间段和长度是固定的。
6.如权利要求3所述的方法,其特征在于,所述MIC协处理器以数据块为单位,与主机之间交换单数据流中的数据元组。
7.如权利要求3所述的方法,其特征在于,所述MIC协处理器接收到实时查询请求之前,还包括:
当所述CPU接收到用户提出的查询请求时,所述CPU向内核附加解析后的查询请求,在结束当前数据块的处理后,执行查询请求,并将查询结果返回给所述CPU的端口,并将结果转换为用户可读的最终查询结果。
8.如权利要求1所述的方法,其特征在于,所述MIC协处理器利用所述MIC协处理器的内核对单数据流进行处理得到概要数据结构,并将所述概要数据结构的动态更新到所述MIC协处理器的内存中之后,还包括:
所述MIC协处理器将过期的基本窗口在所述MIC协处理器的内存上直接丢掉。
9.如权利要求2所述的方法,其特征在于,所述MIC协处理器执行数据流分位数并行算法的过程为:
分配主机缓冲区和MIC内存;
从数据源中获取数据,并向MIC协处理器交换数据;
启动MIC协处理器的内核,执行数据流分位数并行计算子算法MICQuantilesHistogram;
更新基本窗口,并删除过期的基本窗口;
若接收到On-time查询请求,执行数据流分位数并行查询子算法MICQuantilesQuery。
10.如权利要求1至9中任意一项所述的方法,其特征在于,所述MIC协处理器利用所述MIC协处理器的内核对单数据流进行处理得到概要数据结构之后,还包括:
所述MIC采用一个长数组作为概要数据结构的载体,并使用一个偏移索引来访问基本窗口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510708031.7A CN105426163A (zh) | 2015-10-27 | 2015-10-27 | 一种基于mic协处理器的单数据流分位数处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510708031.7A CN105426163A (zh) | 2015-10-27 | 2015-10-27 | 一种基于mic协处理器的单数据流分位数处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105426163A true CN105426163A (zh) | 2016-03-23 |
Family
ID=55504394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510708031.7A Pending CN105426163A (zh) | 2015-10-27 | 2015-10-27 | 一种基于mic协处理器的单数据流分位数处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426163A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330083A (zh) * | 2017-07-03 | 2017-11-07 | 贵州大学 | 等宽直方图并行构建方法 |
CN108268281A (zh) * | 2017-01-04 | 2018-07-10 | 中科创达软件股份有限公司 | 处理器协同方法及电路 |
CN109388609A (zh) * | 2018-09-30 | 2019-02-26 | 中科驭数(北京)科技有限公司 | 基于加速核的数据处理方法和装置 |
CN110909305A (zh) * | 2018-09-17 | 2020-03-24 | 吕纪竹 | 一种实时判断数据流变化同向性及其程度的方法 |
CN113987105A (zh) * | 2021-10-28 | 2022-01-28 | 南开大学 | 基于滑动窗口的标签感知图形流草图构建方法及应用 |
CN114385239A (zh) * | 2020-10-20 | 2022-04-22 | 美光科技公司 | 桶式处理器中的线程执行控制 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662642A (zh) * | 2012-04-20 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种基于嵌套滑动窗口和遗传算法的并行处理方法 |
US20120233616A1 (en) * | 2009-11-27 | 2012-09-13 | Simon Moy | Stream data processing method and stream processor |
CN103577161A (zh) * | 2013-10-17 | 2014-02-12 | 江苏科技大学 | 一种面向大数据的数据频度并行处理方法 |
CN104317751A (zh) * | 2014-11-18 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种gpu上数据流处理系统及其数据流处理方法 |
CN104391679A (zh) * | 2014-11-18 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种非规则流中高维数据流的gpu处理方法 |
-
2015
- 2015-10-27 CN CN201510708031.7A patent/CN105426163A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120233616A1 (en) * | 2009-11-27 | 2012-09-13 | Simon Moy | Stream data processing method and stream processor |
CN102662642A (zh) * | 2012-04-20 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种基于嵌套滑动窗口和遗传算法的并行处理方法 |
CN103577161A (zh) * | 2013-10-17 | 2014-02-12 | 江苏科技大学 | 一种面向大数据的数据频度并行处理方法 |
CN104317751A (zh) * | 2014-11-18 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种gpu上数据流处理系统及其数据流处理方法 |
CN104391679A (zh) * | 2014-11-18 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种非规则流中高维数据流的gpu处理方法 |
Non-Patent Citations (2)
Title |
---|
卢晓伟: "基于GPU的数据流处理方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
沈铂 等: "基于MIC平台的offload并行方法研究", 《计算机科学》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268281A (zh) * | 2017-01-04 | 2018-07-10 | 中科创达软件股份有限公司 | 处理器协同方法及电路 |
CN108268281B (zh) * | 2017-01-04 | 2021-12-07 | 中科创达软件股份有限公司 | 处理器协同方法及电路 |
CN107330083A (zh) * | 2017-07-03 | 2017-11-07 | 贵州大学 | 等宽直方图并行构建方法 |
CN107330083B (zh) * | 2017-07-03 | 2020-06-16 | 贵州大学 | 等宽直方图并行构建方法 |
CN110909305A (zh) * | 2018-09-17 | 2020-03-24 | 吕纪竹 | 一种实时判断数据流变化同向性及其程度的方法 |
CN110909305B (zh) * | 2018-09-17 | 2024-04-09 | 吕纪竹 | 一种实时判断数据流变化同向性及其程度的方法 |
CN109388609A (zh) * | 2018-09-30 | 2019-02-26 | 中科驭数(北京)科技有限公司 | 基于加速核的数据处理方法和装置 |
CN114385239A (zh) * | 2020-10-20 | 2022-04-22 | 美光科技公司 | 桶式处理器中的线程执行控制 |
CN113987105A (zh) * | 2021-10-28 | 2022-01-28 | 南开大学 | 基于滑动窗口的标签感知图形流草图构建方法及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426163A (zh) | 一种基于mic协处理器的单数据流分位数处理方法 | |
CN112529169B (zh) | 数据处理方法、模型优化装置和模型执行装置 | |
Mamidala et al. | MPI collectives on modern multicore clusters: Performance optimizations and communication characteristics | |
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
David et al. | Dynamic power management for multicores: Case study using the intel SCC | |
CN106502875A (zh) | 一种基于云计算的日志生成方法及系统 | |
CN106293947B (zh) | 虚拟化云环境下gpu-cpu混合资源分配系统和方法 | |
Albers | On energy conservation in data centers | |
CN110059024A (zh) | 一种内存空间数据缓存方法及装置 | |
CN102279728B (zh) | 数据存储设备及数据计算方法 | |
Wu et al. | An efficient lightweight CNN acceleration architecture for edge computing based-on FPGA | |
US20210255793A1 (en) | System and method for managing conversion of low-locality data into high-locality data | |
Zeng et al. | DF-GAS: a Distributed FPGA-as-a-Service Architecture towards Billion-Scale Graph-based Approximate Nearest Neighbor Search | |
CN104956345B (zh) | 基于响应定时优化在多处理器系统中执行频率协调 | |
CN105204822A (zh) | 一种基于mic协处理器的多数据流处理方法 | |
Chen et al. | Exploiting on-chip heterogeneity of versal architecture for GNN inference acceleration | |
Lin et al. | swFLOW: A dataflow deep learning framework on sunway taihulight supercomputer | |
US11966783B1 (en) | Real time scheduling using expected application resource usage | |
CN104011693B (zh) | 设置基于i/o带宽的处理器频率层的装置和方法 | |
US20210004658A1 (en) | System and method for provisioning of artificial intelligence accelerator (aia) resources | |
CN110532091B (zh) | 基于图形处理器的图计算边向量负载平衡方法及装置 | |
Li et al. | An application-oblivious memory scheduling system for DNN accelerators | |
Yang et al. | DFS: Joint data formatting and sparsification for efficient communication in Distributed Machine Learning | |
CN112698950A (zh) | 一种用于工业物联网边缘设备的内存优化方法 | |
Chen et al. | MARCO: A High-performance Task M apping a nd R outing Co-optimization Framework for Point-to-Point NoC-based Heterogeneous Computing Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160323 |