基于数据分组方法的数据仓库并行预计算和查询(四)_第1页
基于数据分组方法的数据仓库并行预计算和查询(四)_第2页
基于数据分组方法的数据仓库并行预计算和查询(四)_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于数据分组方法的数据仓库并行预计算和查询(四)

第七章实验

在本章中通过实验说明算法的有效性和可扩展性。实验的平台是一台有三个计算节点的刀片服务器,每个节点上的处理器主频为1.8GHz,内存容量为1GB,操作系统是Linux,内核版本2.6.9,节点间采用千兆网络连接。MPI运行环境为MPICH2.0,C++编译器g++版本为3.4.3,MPI环境下C++编译器MPICXX的版本为1.0.3。7.1数据描述

在实验中,使用了一个来自不同气象站所收集的1985年9月的天气数据[Hahn94]。它包含了1,015,367个元组,一共20维。在这次实验中,所使用的是它前16维的数据,每个维度的依次如下表所示:表7.1

天气数据集7.2预计算实验

在本实验中,将讨论基于数据分组方法的并行预计算程序对于串行预计算程序在性能上的提高,以及这两种方法在不同规模数据集上进行运算的性能表现。讨论并行查询程序的加速比。在预计算实验中,在单节点环境下和三节点环境下分别对13个不同的数据进行了串行和并行预计算。这13个不同的数据的维度各不相同,从4维到16维,分别是天气数据集20维数据中的前4维到前16维等,元组条数都是1,015,367条。三节点环境下的数据分割采用平均分割,每个节点上收到的元组条数基本上是相等的。在单节点环境下的实验使用串行的预计算程序。统计两个时间:(1)程序进行预计算写入文件的时间。(2)程序运行时间。在三节点环境下的实验使用并行的预计算程序。因为从机不需要等待主机完全读入数据文件便可得到一部分数据进行预计算,使得从机预计算时间和主机读取文件有交叉。因此在此实验中,每台机器都会统计三个时间:(1)主机从开始读取数据文件到数据完全载入内存并发送出去的时间。(2)每台机器进行预计算的时间。(3)每台机器总的运行时间。通过实验发现,刀片服务器的网络效率非常高,在实验中,几乎所有的MPI点对点通信时间都可以在0.2秒之内完成,加上实验中的MPI通信次数比较少,所以MPI通信的时间可以忽略不计。7.2.1预计算实验结果分析

图7.1所示是分别在两种环境下的预计算时间,也就是程序生成立方体的计算时间。并行环境下的预计算时间是取三个节点预计算时间的平均值。如图中所示,基于数据分组的并行预计算方法能够有效地缩短预计算的时间。在数据维度少于或等于9维时,预计算的时间增长显得比较缓慢,在这个维度区间内,预计算程序的性能始终保持着较高水平。但随着数据维度的增多,预计算性能开始出现衰减。从11维数据开始,每增加一维数据,串行预计算时间便会增加约33%,而并行的预计算时间增长率为29%左右。图7.2所示是串行预计算时间和并行平均预计算时间的比值。在4到10维之间时,串行预计算时间一直维持在并行计算时间的2.9倍左右。但在11维或更多维数据时,串行预计算时间的增长率开始大幅超过并行预计算时间,使得并行计算的加速比在11维时达到了理想状态的3倍,并且呈线性增长的趋势。可见,随着数据量的增大,DFS算法性能会相应地下降,而减少元组条数可以继续使得DFS算法保持高性能。图7.1

预计算时间图7.2

预计算加速比图7.3、7.4和7.5分别是预计算程序读入数据文件时间、程序总运行时间和总运行时间的加速比。并行环境下程序总运行时间是指程序开始运行直到最后一个进程完成计算退出为止。并行程序中数据读入与数据发送是结合在一起的,数据读入一部分之后即可将该部分数据发送给相应的进程进行计算,但读入数据文件这一部分不能达到完全的并行化,所以程序总运行时间的加速比性能并没有已经完全并行化的预计算加速比那么可观。但随着维度的增多,预计算时间的增长,数据读入时间所占的总运行时间比例也相应地减少。在高维度的预计算中,并行的预计算程序最终还是可以达到3倍这个理想性能加速比。图7.3

数据读入时间图7.4

总运行时间图7.5

总运行时间加速比7.3查询实验

本实验的主要内容是在预计算生成的商立方体基础上,对4至13维的商立方体进行单节点串行和三节点并行点查询实验。讨论并行查询程序相对于单机查询程序在性能上的提高,计算并行查询程序的加速比。首先各个维度都随机地生成了1000条点查询。生成的点查询是从基表中随机抽取出1000条元组,并随机地将元组中的某些属性改为“*”。经观察,串行查询程序与并行查询程序所得到的查询结果是一致的,在本实验中,主要讨论并行查询程序对于串行程序的加速比,因此,查询的具体结果便不再讨论。串行查询与并行查询的程序运行时间如图7.6所示。图7.6

查询程序运行时间7.3.1查询实验结果分析

尽管在并行查询中,每台机器所查询的立方体单元数目基本上只相当于串行查询中立方体单元数目的三分之一,如图7.7所示,但通过实验发现,并行查询程序的性能加速比并未能够达到理想的加速比,如图7.8,只能达到2倍左右的性能加速。对其原因进行分析,发现这是由于查询语句未能直接命中,会造成额外开销的问题(本文4.3节中提到)所造成的。图7.7

商立方体单元数图7.8

程序加速比在基于数据分组方法的预计算中,经过预计算的商立方体数据是分布式地存放各台机器上的。对于一条查询语句q,当程序用q在A机器的商立方体中进行查询时,q的覆盖集里面的所有元组在预计算时可能都没有分配到A机器上。在这种情况下,q在A上的查询便会产生巨大的额外开销:首先会从q所在层次h1里的单元中开始查找,在h1找不到的情况下,会继续查找h1的下一层h2。但是由于q在A上是无法命中的,查询程序会一层接着一层地往下扫描下去,直到扫描完最后一层。随机生成的1000条点查询语句是根据基表中的元组生成的,这样在串行查询中,较少会出现语句在某一层未能命中,需要扫描下一层的情况。然而在并行查询中,由于元组的分布性,产生了较多的查询不命中,使得程序必须进行额外的层次扫描,而且这种额外的层次扫描的代价十分巨大。在并行查询中,开销巨大额外的层次扫描使得查询的时间急剧地增加,从而使得程序性能没能达到预期的效果。尽管如此,在三台机器上能够实现缩短一半的时间,并行查询程序的性能还是令人满意的。7.4小结

由于硬件平台条件的限制,实验最多只能在三个节点上运行,无法进行更多的实验来验证本文提出的基于数据分组的并行预计算和并行查询方法的可扩展性。第八章总结与展望

在数据仓库数据量急剧增长的今天,并行数据仓库技术成为了解决海量数据预计算和存储问题的一种重要的、有效的手段。本文主要研究了一种基于数据分组的并行数据仓库预计算和查询技术,并在串行程序基础上实现了并行预计算和查询的程序。然后通过实验数据来说明该方法的有效性和分析了这种方法的优点和存在的缺陷。8.1

结论

由于实验平台的限制,使得各项实验最多只能在三个节点的环境下运行,无法在更多节点的计算环境下进行实验,研究本文提出方法的可扩展性。通过实验的观察和分析,本文提出的基于数据分组的数据仓库并行预计算和并行查询方法有以下一些优点:(1)该实现方法的并行策略简单,该方法可以经过很少的修改,便可以将很多已经实现的串行程序改为并行程序。使用MPI和C++进行编程,使得程序具有良好的可移植性、面向对象性。(2)可以更好地适用于大数据量场合。对于串行版本的预计算程序,在对于高维度数据集进行预计算时,随着数据量的增加,性能衰减得很厉害。并行预计算时的性能加速比十分可观,在数据量很大的情况下,甚至可以超过理想加速比。(3)预计算后生成的商立方体数据以分布式方式存储,在查询时,各台机器都可以同时对立方体数据进行读取,充分利用了各台机器的磁盘I/O带宽。同时本文提出的并行预计算和并行查询方法存在的一些不足:(1)对于并行查询,查询的效率未能达到理想的加速比。这是由于数据元组的分布性与商立方体的特性所造成的,当查询语句覆盖集中的元组没被分配到某台机器上时,该查询语句在该台机器上的查询操作便无法命中。商立方体的特性使得查询在某一层上界中找不到所覆盖的上界的时候,必须到下一层进行查找,如果一直找不到,便会一直找下去,直到全部都扫描过。查询语句在某台机器上无法命中的后果是会产生很多额外的层次文件扫描操作,这样一层层的扫描操作代价是十分巨大的,但这种情况在数据元组分布式存储的情况下又是无法避免的,这样便使得并行查询程序的加速比未能达到理想状态。(2)基表元组的映射可以提高预计算和查询的响应效率,但是对于映射这个步骤还不能完全地并行化处理。8.2未来的改进

对于本文提出的并行预计算和并行查询方法存在的一些不足和缺点,可以存在这样一些补充和改进的地方:(1)预计算算法还需要做出一些修改以适应立方体分布式存储环境,如聚集操作中的平均操作,除了对该维度量值做平均值计算之外,还应该同时加上计算总和的计算。这样才能保证元组条数的信息不至于丢失,在主进程最终做统计运算的时候才能得到正确的结果。(2)对于基于顺序查询方法的并行查询,可以预先判断一下是否在该机上命中查询。如果可以预先判断出查询不命中,则可以减少许多额外的层次扫描开销,提高效率。预先的判断应该可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论