发明名称 大规模并发数据流处理系统及其处理方法
摘要 一种大规模并发数据流处理系统及其处理方法,涉及数据处理技术领域,所解决的是提高流处理器处理效率的技术问题。该系统包括数据流单元缓冲区、数据流单元聚类队列池、数据流单元映射表、流处理器池、数据流读取部件、DSU聚类分配部件、任务调度部件、计算后处理部件,所述流处理器池由多个GPU构成,其中数据流读取部件用于将并发数据流写入数据流单元缓冲区,DSU聚类分配部件用于对数据流单元缓冲区中当前被处理的数据流单元进行分类,任务调度部件用于将数据流单元聚类队列池中的就绪队列加载至流处理器池中的GPU上执行流计算,计算后处理部件用于将GPU的计算结果返回到数据流。本发明提供的系统,能提高流处理器的处理效率。
申请公布号 CN102200906A 申请公布日期 2011.09.28
申请号 CN201110135906.0 申请日期 2011.05.25
申请人 上海理工大学 发明人 陈庆奎;那丽春;刘伯承;王海峰;郝聚涛;霍欢;赵海燕;庄松林;丁晓东
分类号 G06F9/38(2006.01)I;G06F9/48(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 上海申汇专利代理有限公司 31001 代理人 吴宝根
主权项 1.一种大规模并发数据流处理系统,其特征在于,包括:数据流单元缓冲区,是一个二元组DSB(DSUB,MR),其中DSB为数据流单元缓冲区,DSUB及MR均是由p个元素构成的一维数组,p为并发数据流中的数据流数量,DSUB中的每个数组元素为一个DSU,MR中的每个数组元素是一个取值为0或1的整型数,该数组用于数据流流水处理的同步标志;所述DSU是指数据流单元,一个数据流单元是一个九元组DSU(id,sno,segno,seq,t,type,prog,data,odata),其中DSU为数据流单元,id为该DSU的标识符,且该id具有唯一性,sno为该DSU的数据流号,segno为该DSU的数据流段号,seq为该DSU的在segno数据流段中的单元序号,用于表示其在数据流段中的位置,t为一个时间印,用于记载该DSU被处理的时刻,type为该DSU的类型,data为该DSU所承载的数据对象,odata为该DSU处理后的输出数据对象,prog是该DSU的data的处理程序; 所述数据流段是由多个seq连续的DSU构成的序列,记为DSS={DSU1,DSU2,DSU3,…,DSUn,DSUE},其中DSS为数据流段,每个DSS均有一个数据流段号segno被分别存储在构成该DSS的每个DSU中,DSS序列尾的DSUE为该DSS的结束标志,是一个type为常量值EOS的DSU,其prog、data、odata均为空;     所述数据流是由多个segno连续的DSS构成的序列,记为DS={DSS1,DSS2,DSS3,…,DSSo},每个DS均有一个数据流号sno被分别存储在构成该DS的各个DSS的DSU中;所述并发数据流由多个并发传输的DS构成,每个DS均以DSU作为并发处理的单位,并以DSS作为多个数据流并发同步的单元;数据流单元聚类队列池,由|TS|个DSU队列构成,记为CPOOL={DSUQ<sub>1</sub>,DSUQ<sub>2</sub>,…,DSUQ<sub>|TS|</sub>},其中CPOOL为数据流单元聚类队列池,DSUQ为数据流单元聚类队列,TS为应用系统数据流单元类型集合,该集合是DSU类型的集合,TS中的元素个数为m,则|TS|=m,同一个DSU队列由同类型的DSU构成,这些DSU来自p个并发数据流的当前处理单元,有:<img file="2011101359060100001DEST_PATH_IMAGE002.GIF" wi="121" he="52" />;数据流单元映射表,由多个表元构成,记为MapM(nu,sno,segno,seq,t,qso, qoffset),其中MapM为数据流单元映射表,nu为序号,sno为数据流号,segno为数据段号,seq为数据流单元号,t为时间印,qso为聚类队列号,qoffset为聚类队列内部元素位置号;流处理器池,由多个GPU构成,所述GPU为二元组GPU(KernelP,D_BUFF), 其中KernelP为该GPU当前执行SPMD任务的计算核心部件,D_BUFF为KernelP执行SPMD操作的多个DSU集合;数据流读取部件,用于读取数据流;DSU聚类分配部件,用于对数据流单元缓冲区中当前被处理的数据流单元进行分类;任务调度部件,用于将数据流单元聚类队列池中的就绪队列加载至流处理器池中的GPU上执行流计算;计算后处理部件,用于将GPU计算的DSU的odata按MapM的标志回归到DSU所在的数据流。
地址 200093 上海市杨浦区军工路516号