1.一种面向大数据的并行系统优化方法,其特征在于,所述面向大数据的并行系统优化方法包括以下步骤:
步骤一:将数据密集型算式进行抽象化处理;
步骤二:将步骤一抽象化处理后的数据密集型算式生成算式语义树;
步骤三:将步骤二生成的语义树进行化简并生成算式依赖图;
步骤四:将步骤三生成的算式依赖图进行分层并生成任务序列;
步骤五:根据步骤四生成的任务序列在并行系统中生成任务依赖关系,执行后得到数据密集型算式的计算结果。
2.根据权利要求1所述的一种面向大数据的并行系统优化方法,其特征在于,所述步骤一中将数据密集型算式进行抽象化处理具体为:
将数据密集型算式中的子运算分定义为简单计算和聚集计算两种,每一个聚集运算要用一轮MapReduce完成,将数据密集型算式进行函数式抽象;所述简单计算为四则运算、乘方和开方,聚集计算为统计运算,MapReduce为编程模型。
3.根据权利要求1或2所述的一种面向大数据的并行系统优化方法,其特征在于,所述步骤二中将步骤一抽象化处理后的数据密集型算式生成算式语义树具体过程为:
提取数据密集型算式中的变量,并确定子算式,将子算式中的运算符作为父节点,对应该运算符的计算变量作为子节点,生成算式语义树,所述语义树从叶子节点到根节点每一条路径上只有一个聚集运算。
4.根据权利要求3所述的一种面向大数据的并行系统优化方法,其特征在于,所述步骤三中将步骤二生成的语义树进行化简并生成算式依赖图的具体过程为:
将语义树中所有对应相同变量的结点合并为同一结点,对相同变量进行相同计算的结点合并为同一结点。
5.根据权利要求1、2或4所述的一种面向大数据的并行系统优化方法,其特征在于,所述步骤四中将步骤三生成的算式依赖图进行分层并生成任务序列的具体过程为:
根据算式依赖图中变量与运算符的距离进行分层,以任意变量作为初始节点,以任意变量到运算符经过的节点数作为运算符所在的层数,当变量与运算符之间有多条路径时,以经过节点数多的路径为准,其中每个运算符为一个节点;
提取每一层相同变量的聚集运算,按照初始节点到终结节点的顺序生成任务序列;每一层中不同变量的聚集运算并行放入一轮MapReduce中执行;每一层中相同变量的聚集运算串行放入一轮MapReduce中执行。