CN105302551B - 一种大数据处理系统的正交分解构造与优化的方法及系统 - Google Patents

一种大数据处理系统的正交分解构造与优化的方法及系统 Download PDF

Info

Publication number
CN105302551B
CN105302551B CN201510663198.6A CN201510663198A CN105302551B CN 105302551 B CN105302551 B CN 105302551B CN 201510663198 A CN201510663198 A CN 201510663198A CN 105302551 B CN105302551 B CN 105302551B
Authority
CN
China
Prior art keywords
optimization
basic block
big data
data processing
fingerprint
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.)
Active
Application number
CN201510663198.6A
Other languages
English (en)
Other versions
CN105302551A (zh
Inventor
向小佳
赵晓芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201510663198.6A priority Critical patent/CN105302551B/zh
Publication of CN105302551A publication Critical patent/CN105302551A/zh
Application granted granted Critical
Publication of CN105302551B publication Critical patent/CN105302551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开一种大数据处理系统的正交分解构造与优化的方法及系统,该方法包括:采用超级优化的方法,在所述大数据处理系统执行逻辑的中间表示代码或二进制硬件指令层面进行离线静态分析,提取优化指令序列作为优化后基本块;创建优化代码数据库,计算所述优化后基本块的指纹,将所述指纹与所述优化后基本块分别存入指纹Map与所述优化代码数据库;采集在线输入的程序,并提取所述程序的基本块,计算所述基本块的指纹,将所述程序的基本块的所述指纹与所述优化代码数据库中的所述指纹进行对比,若匹配则将所述程序的所述基本块输入即时编译引擎执行,其中所述大数据处理系统只负责最核心的资源与任务管理,工作于中间层,与平台、语言无关。

Description

一种大数据处理系统的正交分解构造与优化的方法及系统
技术领域
本发明涉及大数据处理领域,特别涉及一种大数据处理系统的正交分解构造与优化的方法及系统。
背景技术
网络大数据的复杂性、不确定性、涌现性给当前IT系统的架构、计算能力带来了挑战和机遇,催生了大数据处理框架,围绕着这些计算框架,诞生了各种大数据处理系统,例如用于批量大数据处理的Google GFS与MapReduce,Norkia的Disco,面向流式处理的Google Dremel、Microsoft的Dryad、Twitter的Storm、Yahoo的S4等,学术界和开源社区也围绕着面向批量大数据处理的Apache Hadoop、基于Hadoop的更具实时性的Impala、伯克利AMP Lab的基于RDD的,面向工作集叠代应用的Spark展开了深入研究,国内的互联网巨头百度、阿里、腾讯等也在Hadoop等系统上部署了应用。
各类系统面向不同的应用,设计有针对性的计算模型、调度算法,数据结构,从而不断演进,如Dremel、Storm等流式处理模型,面向更具实时性的流数据,支持创建拓扑结构来转换没有终点的数据流;而Spark则针对MapReduce模型不擅长的迭代处理和交互应用,提出了RDD内存数据集及相关迭代模型;Hadoop自身的计算框架由原本单一的MapReduce演化出了基于DAG(Directed Acyclic Graph)的更为灵活的Tez;Hadoop自身的调度系统也从单一的全局任务调度发展到了新一代的Yarn,分离了JobTracker的资源管理与任务调度功能。
然而,由于大数据处理系统规模大,强调平台无关性,避免与具体的操作系统、硬件平台挂钩,上述系统的演进都忽视了对底层平台技术的利用,Intel中国研究院的NativeTask通过设计外挂的计算引擎模块,将部分Hadoop计算引擎内部的计算外延到Hotspot虚拟机之外,取得了一定的本地化效果,思想值得借鉴,但还未充分发挥存储结点、计算结点本地操作系统、硬件平台的潜力,国内的百度公司也提出了Hadoop的C++扩展,通过使用类似Pipe的协议 将Map和Reduce两阶段的JAVA执行逻辑替换为C++编写并预编译好的二进制可执行文件,向本地化迈进了一步,但其失去了中间逻辑表示的灵活性,同时本地化仅限于Map和Reduce的用户逻辑,也没有深度挖掘代码的优化空间。
发明专利“基于S-PLUS的大数据平台的构建方法”,该发明公开一种基于S-PLUS的大数据平台的构建方法,发明体系架构自底向上分为四层:物理层、虚拟化层、服务层和应用层。物理层部署了异构的硬件资源;在虚拟化层,利用Eucalyptus构建虚拟机群,在虚拟机集群上部署了Hadoop环境;在服务层,集成了S-PLUS语言,实现数据挖掘功能并提供服务。在应用层,提供给用户清晰的操作界面,其功能包括:数据存储和处理系统、数组运算工具、完整连贯的统计分析工具、优秀的统计制图功能。S-PLUS软件是一种简便而强大的编程语言,可操纵数据的输入和输出,实现分支、循环,用户可自定义功能。该发明能有效处理智慧城市中信息系统服务、信息监管、公共安全等智慧城市系统需关注的目标,以大数据的方式进行展现并分析结果,处理效率高。但该发明研究了如何利用大数据处理环境Hadoop,并与虚拟机群Eucalyptus结合,提供数据挖掘服务,而本发明深入到大数据处理环境的重构方法和优化策略的层面,以使大数据处理系统能够充分发挥物理平台的潜力。
发明专利“云计算中面向节能的Hadoop分布式文件系统存储策略”,该发明公开了一种云计算中面向节能的Hadoop分布式文件系统存储策略,包括如下步骤:步骤1,将数据节点进行区域划分,对于活跃状态的数据节点划分为热区,对于待机状态的数据节点划分为冷区,将新建的文件存储于热区;步骤2,对于存储于热区的数据文件根据优先匹配策略,将该数据文件存储在经过优先匹配的热区最大数据节点;步骤3,判断该数据文件的活跃程度,当活跃程度达到阈值范围后,将该数据文件转存到冷区;步骤4,对转存在冷区的该数据文件进行活跃程度判断,如果存储该数据文件的冷区数据节点最后一次访问时间与当前时间之差大于节点待机时间阈值,则将该节点置为待机状态。发明能有效利用热节点和冷节点较大幅度的降低能耗。该发明研究的是Hadoop文件系统的面向节能环境的改造,重点在于存储分区,本发明站在更高的层面,从正交分解的方法上提出大数据处理系统的重构,文件系统仅是其中的一个环节。
发明内容
针对现有技术的不足,本发明提出一种大数据处理系统的正交分解构造与优化的方法及系统。
本发明提出一种大数据处理系统的正交分解构造与优化的方法,包括:
步骤1,采用超级优化的方法,在所述大数据处理系统执行逻辑的中间表示代码或二进制硬件指令层面进行离线静态分析,提取优化指令序列作为优化后基本块;
步骤2,创建优化代码数据库,计算所述优化后基本块的指纹,将所述指纹与所述优化后基本块分别存入指纹Map与所述优化代码数据库;
步骤3,采集在线输入的程序,并提取所述程序的基本块,计算所述基本块的指纹,将所述程序的基本块的所述指纹与所述优化代码数据库中的所述指纹进行对比,若匹配则将所述程序的所述基本块输入即时编译引擎执行。
所述的大数据处理系统的正交分解构造与优化的方法,所述步骤2还包括:结合部分启发式的规则,从所述优化代码数据库中选取值得进一步优化的所述优化后基本块。
所述的大数据处理系统的正交分解构造与优化的方法,还包括所述大数据处理系统只负责最核心的资源与任务管理,工作于中间层,与平台、语言无关。
所述的大数据处理系统的正交分解构造与优化的方法,所述指纹Map记录基本块的哈希值与数据块存放地址间的映射关系。
所述的大数据处理系统的正交分解构造与优化的方法,所述步骤3包括:对于基本块为中间表示代码,则通过即时编译引擎分析编译为平台相关的二进制指令并交给CPU执行;对于机器码段,则由CPU直接译码执行。
本发明还提出一种大数据处理系统的正交分解构造与优化的系统,包括:
优化基本块模块,用于采用超级优化的方法,在所述大数据处理系统执行逻辑的中间表示代码或二进制硬件指令层面进行离线静态分析,提取优化指令序列作为优化后基本块;
创建优化代码数据库模块,用创建优化代码数据库,计算所述优化后基本块的指纹,将所述指纹与所述优化后基本块分别存入指纹Map与所述优化代码数据库;
采集与匹配模块,用于采集在线输入的程序,并提取所述程序的基本块, 计算所述基本块的指纹,将所述程序的基本块的所述指纹与所述优化代码数据库中的所述指纹进行对比,若匹配则将所述程序的所述基本块输入即时编译引擎执行。
所述的大数据处理系统的正交分解构造与优化的系统,所述创建优化代码数据库模块还包括:结合部分启发式的规则,从所述优化代码数据库中选取值得进一步优化的所述优化后基本块。
所述的大数据处理系统的正交分解构造与优化的系统,还包括所述大数据处理系统只负责最核心的资源与任务管理,工作于中间层,与平台、语言无关。
所述的大数据处理系统的正交分解构造与优化的系统,所述指纹Map记录基本块的哈希值与数据块存放地址间的映射关系。
所述的大数据处理系统的正交分解构造与优化的系统,所述采集与匹配模块包括:对于基本块为中间表示代码,则通过即时编译引擎分析编译为平台相关的二进制指令并交给CPU执行;对于机器码段,则由CPU直接译码执行。
由以上发明可知,本发明的优点在于:
本发明实施例首先提出一种松耦合、面向底层平台,借助执行节点本地操作系统甚至硬件机制的大数据处理系统正交分解与优化方法,主张大数据处理系统应是松耦合和的,能明确分解为调度管理、数据存储、任务执行等功能模块;与任务逻辑紧相关的数据存储与任务执行应下沉到具体的硬件平台去完成,大数据系统只负责最核心的资源与任务调度。进而,在此方法的指导下,提出了基于二进制指令超级优化的执行引擎底层优化策略,基于大数据系统应用的特点,采用超级优化(SuperOptimization)方法,在执行逻辑中间表达或二进制代码层面作离线静态分析,利用编译技术来发挥底层平台的潜力。最后,以Hadoop作为目标大数据处理系统,采用上述方法和策略完成了重构:采用松耦合的方式,将Hadoop的任务调度与存储、计算引擎拆分开;将数据存储下沉到全C语言实现的第三方文件系统;将任务执行下沉到基于LLVM的本地化执行引擎,在代码中间表示(IR)层面或二进制代码层面采用类似窥孔(Peep-Hole)这样的超级优化方法,提升执行引擎效率。
附图说明
图1为本发明实施例中任务执行层分解出来后采用编译技术加以改造后 形成的指令级加速引擎框图;
图2为本发明实施例中正交分解后重构的Hadoop框架图。
具体实施方式
本发明实施例提出一种一种大数据处理系统的正交分解构造与优化的方法及系统,借助执行节点本地操作系统、硬件机制的大数据处理系统正交分解构造与优化方法,进而在此方法的指导下,提出了基于二进制指令超级优化的执行引擎底层优化策略,采用超级优化方法,利用编译技术来发挥底层平台的潜力,最后,以Hadoop作为目标大数据处理系统,采用上述方法和策略完成了重构,验证了上述方法与策略的可行性及系统的性能优化潜力。
本发明提出一种大数据处理系统的正交分解构造与优化的方法,包括:
步骤1,采用超级优化的方法,在所述大数据处理系统执行逻辑的中间表示代码或二进制硬件指令层面进行离线静态分析,提取优化指令序列作为优化后基本块;
步骤2,创建优化代码数据库,计算所述优化后基本块的指纹,将所述指纹与所述优化后基本块分别存入指纹Map与所述优化代码数据库;
步骤3,采集在线输入的程序,并提取所述程序的基本块,计算所述基本块的指纹,将所述程序的基本块的所述指纹与所述优化代码数据库中的所述指纹进行对比,若匹配则将所述程序的所述基本块输入即时编译引擎执行。
所述步骤2还包括:结合部分启发式的规则,从所述优化代码数据库中选取值得进一步优化的所述优化后基本块。
所述大数据处理系统只负责最核心的资源与任务管理,工作于中间层,与平台、语言无关。
所述指纹Map记录基本块的哈希值与数据块存放地址间的映射关系。
所述步骤3包括:对于基本块为中间表示代码,则通过即时编译引擎分析编译为平台相关的二进制指令并交给CPU执行;对于机器码段,则由CPU直接译码执行。
本发明还提出一种大数据处理系统的正交分解构造与优化的系统,包括:
优化基本块模块,用于采用超级优化的方法,在所述大数据处理系统执行逻辑的中间表示代码或二进制硬件指令层面进行离线静态分析,提取优化指令 序列作为优化后基本块;
创建优化代码数据库模块,用创建优化代码数据库,计算所述优化后基本块的指纹,将所述指纹与所述优化后基本块分别存入指纹Map与所述优化代码数据库;
采集与匹配模块,用于采集在线输入的程序,并提取所述程序的基本块,计算所述基本块的指纹,将所述程序的基本块的所述指纹与所述优化代码数据库中的所述指纹进行对比,若匹配则将所述程序的所述基本块输入即时编译引擎执行。
所述创建优化代码数据库模块还包括:结合部分启发式的规则,从所述优化代码数据库中选取值得进一步优化的所述优化后基本块。
还包括所述大数据处理系统只负责最核心的资源与任务管理,工作于中间层,与平台、语言无关。
所述指纹Map记录基本块的哈希值与数据块存放地址间的映射关系。
所述采集与匹配模块包括:对于基本块为中间表示代码,则通过即时编译引擎分析编译为平台相关的二进制指令并交给CPU执行;对于机器码段,则由CPU直接译码执行。
以下为本发明实施例,下面结合附图,对本发明实施例进行详细说明:
101,大数据处理系统的设计能明确区分出调度管理模块、数据存储模块、任务执行模块三大功能模块;
102,各功能模块间松耦合,通过类RPC通信协议互联;
103,大数据系统只负责最核心的资源与任务管理,工作于中间层,与平台、语言无关;
104,与任务逻辑紧相关的两大模块,数据存储模块与任务执行模块,应外包到具体的硬件平台去完成,且应该平台相关,以期充分发挥平台潜力。平台相关指利用已有物理节点的操作系统、硬件机制来设计与优化,与平台硬件紧耦合,优点是能够充分利用平台资源,挖掘其潜力;缺点是某一平台的优化成果,如优化二进制代码,不能无缝迁移到其他平台,但这并不影响整个系统的平台无关性与可扩展性,这是由步骤103所保证的。
本发明实施例在正交分解与优化方法的框架下,进一步提出了基于指令超级优化的执行引擎底层优化策略,其中大数据系统有应用针对性,平台执行引 擎中的计算也具备一定的模式,有规律可寻,因此采用超级优化的方法,在执行逻辑中间表示或二进制硬件指令层面作离线静态分析,提取优化指令序列,创建优化代码数据库,采用WORM(WORM:WriteOnce Read Multi-time)模式,一次写入多次读取,利用编译技术来发挥底层平台的潜力;
201.采用离线超级编译优化技术来构建具有应用针对性的优化执行引擎,从指令级别去加速计算,图1为SuperOptimization指令级加速引擎框图(主要包括中部的执行引擎辅助存储,下部的离线学习,上部的在线工作三大步骤);
202.如图1中部,执行引擎辅助存储包括:优化代码数据库和指纹Map;引擎的优化是以可以JIT(即时编译引擎)执行的基本块(Basic Block)为单位的,即程序中可连续执行的指令序列的集合,优化代码数据库用来存放优化过后的基本块;指纹Map则记录了基本块的哈希值与数据块存放地址间的映射关系。
203.如图1下部,离线学习流程由离线采集模块、超级优化模块、后处理模块构成;
204.采集模块以基本块为单位,结合部分启发式的规则,来预先选取值得进一步优化的程序段,候选程序段由基本块中的所有表达式语句组成,每条语句通过操作(如算术运算、关系运算)将变量连接起来,因此候选程序段可以转化为基本块中所出现变量的最大联通子图,进而,被选中的程序段被各个优化模块处理;
205.目前的Hadoop分解重构原型中超级优化模块主要包括三种优化:常量合并(Constant Fold)、无用变量消除(Unused Variable Suppression)、子表达式提取(SubExpression Extraction);这些优化在其他工程中,如GCC,都是比较成熟的技术,本发明中这些优化的特点是:1)两阶段,不仅在LLVM的中间表示(IR)阶段作优化,而且在平台选择后,执行Target-Dependent的优化;2)穷举模式的优化,对于无用变量消除、子表达式提取,对表达式采用黑盒法作输入值的穷举测试,通过观测确定可以消除的变量或提炼表达式,虽然耗时,但由于在架构中属于离线操作,所以不影响平台的执行效率;
206.后处理模块以优化成功的基本块为输入,计算指纹,将指纹及优化成功后的基本块中间表示或机器码段分别存入指纹Map和优化代码数据库;
207.如图2上部,结合离线学习,在线工作流程功能模块依次为:在线 输入模块、运行时采集模块、指纹提取模块、比较模块、优化JIT引擎;采集模块处理经在线输入模块导入的程序,提取其中的基本块;指纹提取模块以采集模块提取的基本块为输入,计算其指纹;比较模块将计算得到的指纹与指纹Map中的指纹作匹配,根据结果(命中与否)来控制开关(Throttle),保证输入JIT引擎的是最优的机器码段。优化JIT引擎负责执行,对于中间表示代码,JIT分析编译基本块为平台相关的二进制指令并交给CPU执行;对于机器码段,则由CPU直接译码执行。
本发明以Hadoop为目标大数据处理系统,通过本发明的正交分解方法对其重构,并采用执行引擎层优化策略,打造出Hadoop的本地化版本,将数据存储、任务执行与调度管理分离;以HadoopPipe为基础,使用C语言扩充了一套功能模块间的通信协议;任务的调度管理工作于中间层,采用LLVM的中间表示语言IR作为任务执行逻辑的载体,与具体底层平台、语言无关;数据存储下沉到全C语言实现的第三方分布式文件系统;任务执行则下沉到基于LLVM的本地化执行引擎,能够在代码中间表示(IR)层面或二进制代码层面采用超级优化方法,提升执行引擎效率;任务执行层位于大数据框架与硬件平台的衔接处,是系统正交分解的关键;图2为正交分解后重构的Hadoop框架图;
301.如图2,其大数据处理流程如下:一个高级语言(例如C++)书写的MapReduce大数据处理程序作为输入,通过编译前端(例如Clang)编译后转变为中间表达IR文件;接下来,中间表达被提交给大数据处理框架Hadoop,Hadoop会根据框架的定义生成大数据处理任务,交给JobTracker调度,具体工作派发给任务执行代理Task Tracker,而IR文件则通过Hadoop上传到第三方大数据文件系统中;进而,任务执行代理通过类RPC的通讯协议(ArionPipe)与本地化执行引擎通信,后者会根据指令从文件系统中获取IR文件,从预编译的函数库中抽取本次处理会使用的连接件(见步骤32),并将这些逻辑组装成可以流畅运行的工作流;最后,LLVM本地执行引擎执行工作流,起始阶段会通过reader连接件从第三方大数据文件系统读取需要处理的数据子集Split,结束阶段通过writer连接件向文件系统回写处理结果;图1中最上部虚线框中部分为退化后的Hadoop,主要负责调度管理,主要包括JobTracker和TaskTracker;
302,如图1中部,任务执行层由基于LLVM的任务执行引擎接管,同时由 框架适配库提供辅助逻辑;执行引擎中,SuperOptimization指令级加速引擎依赖平台技术和编译超级优化技术,挖掘优化代码片段,提升引擎效率;Pass Manager为LLVM的编译阶段管理结构;JIT引擎为代码执行的核心;适配库为框架(Hadoop)相关的用于大数据处理工作流无缝衔接的通用代码库,一般会被预编译成JIT引擎可以执行的二进制代码,或易于发布的IR形式,并于任务执行时按需动态加载;这些框架相关的大数据处理通用代码按功能封装为类,后文称之为连接件,典型连接件如用于Map和Reduce阶段衔接的通用Partitioner;
303,执行层中的连接件是框架技术的外延,是封装为类的大数据处理通用代码库,在大数据处理中会被执行引擎频繁调用;连接件以类的形式被预编译成JIT引擎可以执行的二进制代码,或易于发布的IR形式,并于任务执行时按需动态加载;对于较常用的连接件,如Hadoop中的文件读取类LineRecordReader(见Hadoop官方API),需要预先编译成所在平台的二进制代码,以动态链接库的形式加载,这种方式更具性能优势;对于不常使用的连接件,如TeraSort中的TotalOrderPartitioner(见Hadoop官方API),会收集输入数据的样本来构建Trie树,进而为Map的结果做分区;这是一种特殊逻辑,仅在TeraSort处理流程中使用,因此实现中该类以IR形式发布,便于增加灵活性,同时减小动态加载的大数据处理通用代码库的内存占用量;
304,连接件向上与调度管理层通过代理协议来通信和同步,代理协议ArionPipe基于HadoopPipe扩展而来,使其能够支持更多平台相关的连接件;ArionPipe目前是基于Socket的点对点协议,在拓扑和协议数据压缩方面还有优化空间。
305,执行引擎向上承接用户的大数据处理请求,向下驱动底层平台,其选型与实现直接影响系统的整体性能和跨平台特性,执行引擎选择基于LLVM实现,不但能够利用平台依赖技术来优化大数据处理,还能够保证系统的跨平台特性;首先,任务执行引擎适合做平台依赖优化,LLVM支持JIT运行方式,在运行中能够动态调用经编译超级优化技术优化后的代码片段;同时LLVM支持多遍优化,其平台依赖遍(Target Dependent Pass)能够于运行时做平台相关的指令选择、寄存器选择等优化;其次,任务执行引擎提供了逻辑中间表示IR,因此理论上可以以任意高级语言作为大数据处理的界面,提交的IR程序 能够被不同硬件平台上的JIT引擎优化、翻译并执行,实现了跨平台特性;
306,如图1底层,数据管理层由全C语言实现的第三方集群大数据文件系统接管,由元数据服务节点及数据服务节点构成,内部软件模块栈包括底部的核心层,封装了文件系统的名字空间布局管理(Layout)、流管理等功能,与节点本地文件系统及系统内核紧密结合;上部的接口层,提供面向编程的C/C++API和JAVA API;
307,采用面向平台的正交分解方法重构的Hadoop系统为用户提供了简单可用的大数据处理API,以标准的大数据单词计数(WordCount)程序为例,其MapReduce任务调用界面如下:
ArionPipes::run(ArionPipes::JobTemplateFactory<WordCountMapper,WordCountReducer,
ArionPipes::CommonPartitioner,
ArionPipes::CommonComposer,
ArionPipes::LineRecordReader,
ArionPipes::LineRecordWriter>());
其中,WordCountMapper和WordCountReducer是计数程序的自有逻辑,其他部分为连接件。

Claims (10)

1.一种大数据处理系统的正交分解构造与优化的方法,其特征在于,包括:
步骤1,采用超级优化的方法,在所述大数据处理系统执行逻辑的中间表示代码或二进制硬件指令层面进行离线静态分析,提取优化指令序列作为优化后基本块;
步骤2,创建优化代码数据库,计算所述优化后基本块的指纹,将所述指纹与所述优化后基本块分别存入指纹Map与所述优化代码数据库;
步骤3,采集在线输入的程序,并提取所述程序的基本块,计算所述基本块的指纹,将所述程序的基本块的所述指纹与所述优化代码数据库中的所述指纹进行对比,若匹配则将所述程序的所述基本块输入即时编译引擎执行。
2.如权利要求1所述的大数据处理系统的正交分解构造与优化的方法,其特征在于,所述步骤2还包括:结合部分启发式的规则,从所述优化代码数据库中选取值得进一步优化的所述优化后基本块。
3.如权利要求1所述的大数据处理系统的正交分解构造与优化的方法,其特征在于,所述大数据处理系统只负责最核心的资源与任务管理,工作于中间层,与平台、语言无关。
4.如权利要求1所述的大数据处理系统的正交分解构造与优化的方法,其特征在于,所述指纹Map记录基本块的哈希值与基本块存放地址间的映射关系。
5.如权利要求1所述的大数据处理系统的正交分解构造与优化的方法,其特征在于,所述步骤3包括:对于基本块为中间表示代码,则通过即时编译引擎分析编译为平台相关的二进制指令并交给CPU执行;对于机器码段,则由CPU直接译码执行。
6.一种大数据处理系统的正交分解构造与优化的系统,其特征在于,包括:
优化基本块模块,用于采用超级优化的方法,在所述大数据处理系统执行逻辑的中间表示代码或二进制硬件指令层面进行离线静态分析,提取优化指令序列作为优化后基本块;
创建优化代码数据库模块,用创建优化代码数据库,计算所述优化后基本块的指纹,将所述指纹与所述优化后基本块分别存入指纹Map与所述优化代码数据库;
采集与匹配模块,用于采集在线输入的程序,并提取所述程序的基本块,计算所述基本块的指纹,将所述程序的基本块的所述指纹与所述优化代码数据库中的所述指纹进行对比,若匹配则将所述程序的所述基本块输入即时编译引擎执行。
7.如权利要求6所述的大数据处理系统的正交分解构造与优化的系统,其特征在于,所述创建优化代码数据库模块还包括:结合部分启发式的规则,从所述优化代码数据库中选取值得进一步优化的所述优化后基本块。
8.如权利要求6所述的大数据处理系统的正交分解构造与优化的系统,其特征在于,所述大数据处理系统只负责最核心的资源与任务管理,工作于中间层,与平台、语言无关。
9.如权利要求6所述的大数据处理系统的正交分解构造与优化的系统,其特征在于,所述指纹Map记录基本块的哈希值与基本块存放地址间的映射关系。
10.如权利要求6所述的大数据处理系统的正交分解构造与优化的系统,其特征在于,所述采集与匹配模块包括:对于基本块为中间表示代码,则通过即时编译引擎分析编译为平台相关的二进制指令并交给CPU执行;对于机器码段,则由CPU直接译码执行。
CN201510663198.6A 2015-10-14 2015-10-14 一种大数据处理系统的正交分解构造与优化的方法及系统 Active CN105302551B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510663198.6A CN105302551B (zh) 2015-10-14 2015-10-14 一种大数据处理系统的正交分解构造与优化的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510663198.6A CN105302551B (zh) 2015-10-14 2015-10-14 一种大数据处理系统的正交分解构造与优化的方法及系统

Publications (2)

Publication Number Publication Date
CN105302551A CN105302551A (zh) 2016-02-03
CN105302551B true CN105302551B (zh) 2018-08-10

Family

ID=55199849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510663198.6A Active CN105302551B (zh) 2015-10-14 2015-10-14 一种大数据处理系统的正交分解构造与优化的方法及系统

Country Status (1)

Country Link
CN (1) CN105302551B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808746A (zh) * 2016-03-14 2016-07-27 中国科学院计算技术研究所 一种基于Hadoop体系的关系型大数据无缝接入方法及系统
CN109308209A (zh) * 2017-07-27 2019-02-05 润泽科技发展有限公司 一种大数据虚拟化操作方法
CN114579604B (zh) * 2022-03-15 2022-09-20 北京梦诚科技有限公司 一种应用层的数据库事务实现方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572118A (zh) * 2015-01-26 2015-04-29 武汉邮电科学研究院 基于s-plus的大数据平台的构建方法
CN104573119A (zh) * 2015-02-05 2015-04-29 重庆大学 云计算中面向节能的Hadoop分布式文件系统存储策略

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572118A (zh) * 2015-01-26 2015-04-29 武汉邮电科学研究院 基于s-plus的大数据平台的构建方法
CN104573119A (zh) * 2015-02-05 2015-04-29 重庆大学 云计算中面向节能的Hadoop分布式文件系统存储策略

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Disco: a computing platform for large-scale data analytics;Prashanth Mundkur et al.;《Proceeding Erlang "11 Proceedings of the 10th ACM SIGPLAN workshop on Erlang》;20110923;84-89 *
MPDBS: A multi-level parallel database system based on B-Tree;Lei Yu et al.;《Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD), 2015 16th IEEE/ACIS International Conference on》;20150806;1-7 *
TIIS: A two-level inverted-index scheme for large-scale data processing in the parallel database system;Yu Lei et al.;《Mechatronic Sciences, Electric Engineering and Computer (MEC), Proceedings 2013 International Conference on》;20140828;2540-2547 *

Also Published As

Publication number Publication date
CN105302551A (zh) 2016-02-03

Similar Documents

Publication Publication Date Title
Dávid et al. Foundations for streaming model transformations by complex event processing
CN100465895C (zh) 编译器、编译方法
CN102033748B (zh) 一种数据处理流程代码的生成方法
US8239847B2 (en) General distributed reduction for data parallel computing
CN105550268B (zh) 大数据流程建模分析引擎
US11023443B2 (en) Collaborative planning for accelerating analytic queries
US20140114952A1 (en) Optimizing queries of parallel databases
US20140075161A1 (en) Data-Parallel Computation Management
CN112748914B (zh) 一种应用程序开发方法、装置、电子设备和存储介质
EP3387525B1 (en) Learning from input patterns in programing-by-example
US20190392068A1 (en) Hybrid declarative query compiler and optimizer framework
CN105302551B (zh) 一种大数据处理系统的正交分解构造与优化的方法及系统
US7587694B1 (en) System and method for utilizing meta-cells
CN104809114A (zh) 一种面向视频大数据的并行数据挖掘方法
CN112970011A (zh) 记录查询优化中的谱系
CN110929850A (zh) 基于申威处理器的深度学习算子自动优化系统及方法
US20160154634A1 (en) Modifying an analytic flow
CN117009038B (zh) 一种基于云原生技术的图计算平台
CN115994085A (zh) 代码覆盖率的测试处理方法、装置、设备及存储介质
Johnpaul et al. A Cypher query based NoSQL data mining on protein datasets using Neo4j graph database
Lai et al. {GLogS}: Interactive Graph Pattern Matching Query At Large Scale
Jamadagni et al. GoDB: From batch processing to distributed querying over property graphs
Štill State space compression for the DiVinE model checker
CN103365656B (zh) 保证缓存一致性的方法和终端
CN110287378A (zh) 一种基于动态代码生成的图计算方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant