首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 125 毫秒
1.
宋杰  李甜甜  朱志良  鲍玉斌  于戈 《软件学报》2015,26(6):1438-1456
数据的指数级增长给数据管理和分析带来了严峻的挑战.连接查询是数据分析中一种常用运算,而MapReduce是一种用于大规模数据集并行处理的编程模型,研究基于MapReduce的连接查询代价评估和查询优化,有着学术意义和应用价值.MapReduce连接查询算法的性能主要取决于I/O代价(包括本地和网络I/O),而I/O代价与数据集以及连接运算的特征参数相关,通过对二元连接的I/O代价评估可以优化多元连接执行计划.基于此,首先提出了二元连接查询的I/O代价模型;随后,对现有二元连接算法进行形式化定义和简单扩展,归纳出6种基于MapReduce连接查询算法,并通过算法白盒分析定义它们的I/O代价函数;最后,提出一种多元连接最优执行计划的选择算法.通过实验表明I/O代价模型的正确性且能够准确地反映算法的性能优劣.  相似文献   

2.
给定向量化坐标,计算n个线对象两两邻接关系,普通算法时间复杂度为O(n*n);理论最好时间复杂度为O(C),其中C是邻接关系的基数。基于散列桶,给出了建立线对象邻接关系的快速算法,其平均时间复杂度为O(n(1+1/r)),r为算法分配的桶数量与n的比,空间复杂度为O(n)。证明了若不允许使用额外空间,则不可能使用排序算法解决该问题;给出了允许使用额外空间条件下的两遍排序算法,时间复杂度为O(n(lbn+1+2/r))。应用表明快速算法比普通算法速度提高1~3个数量级。  相似文献   

3.
<正> 本章主要讨论设计散列文件的各种关键字转换及溢出技术,并以一个具体的散列文件模型来示范性地说明散列文件的建立过程。其次,介绍了近年来提出的可扩充散列并粗略地叙述了批量随机的基本思想。在这一章里将大量地用到桶的概念。所谓桶(bucket)指的是把若干存贮单元作为一组并以同样的地址加以标识的存贮区的一部分。一个存贮区可由若干桶组成,而每个桶中可存放若干记录。桶的大小一般可按其能够容纳的记录个数来计算,桶中用以存放各个记录的存贮空间称为存贮片,但有时为了一定存贮结构的需要,桶内还可能采用别的结构(见第三节)。  相似文献   

4.
针对已有缓存优化的三角形条带化算法不能兼具较高顶点缓存命中率和适应多种顶点缓存的问题,提出了一种基于混合模式缓存优化的三角形条带化算法.采用优化求解传输代价方程的算法,通过精确地模拟缓存状态变化来获得较理想的缓存命中率;启用后进先用(LIFU)的数据引用方式重新定义了优化求解传输代价方程,使三角形条带同时兼顾顺时针和逆...  相似文献   

5.
基于关系数据库聚簇索引的逻辑和存储方式,提出在对象关系模型中遍历关联对象时缓存中间结果的连接算法,并给出了性能分析公式,通过计算和模拟实验证明了采用该方法查询关联对象时能减少磁盘的I/O次数和磁盘访问时间。  相似文献   

6.
王鸿博  朱兰娟 《微型电脑应用》2011,27(10):27-29,39,69
随着科技的发展,磁盘分区的备份与还原在生产和生活中得到了广泛的应用。将以Partclone开源软件为基础,提出基于链式描述符索引方式的分区备份算法,算法中将分区中相连的数据块合并成I/O簇,并以链式描述符作为I/O簇的索引,从而进行磁盘分区数据的备份与还原。该算法通过减少备份还原过程中的读写次数,缩短分区备份还原的时间。同时对该算法下的实验数据进行分析,并对链式描述符索引方式的优化进行讨论。  相似文献   

7.
为了使列存储OLAP(on-line analytical processing)操作中I/O和CPU开销较大的扫描、连接、聚集操作实现有效的共享和复用,提出了一个多查询优化技术。根据列存储以及OLAP操作的特点,提出了一系列转换规则,为OLAP查询请求产生的一组相关查询语句生成一个单一全局查询计划。为了达到共享复用的目的,在全局计划中引入新的过滤结点、分组结点、合并结点和聚集结点。同时,借用MuGA(multiply group by algo-rithm)算法,通过分组结点、合并结点、连接结点实现维表及事实表元组的分组序号标记,从而实现列扫描、列连接的共享。并为聚集结点提出了一个多阶段聚集算法,结合最终生成的事实表复合分组序号,实现聚集操作的复用。在SSB(star schema benchmark)数据集上设计实验,证明了该多查询优化策略的有效性。  相似文献   

8.
流媒体缓存的自适应统计窗缓存算法   总被引:2,自引:1,他引:1  
网络带宽和磁盘I/O带宽是视频点播系统的两大瓶颈.为了缓解磁盘I/O带宽问题,本文引入统计窗概念.提出自适应统计窗缓存算法,采用周期性缓存决策方法管理缓存的流媒体数据,同时采用区分优先级缓存策略和冗余释放策略提高算法性能.采用实际点播数据进行的仿真研究表明:自适应统计窗缓存算法的性能优于定长分段、指数分段和自适应分段算法,特别是在VCR操作时,本算法的性能更佳.  相似文献   

9.
提高多表连接和聚集操作性能是OLAP查询中的关键问题之一。本文提出了一种基于间接索引桶的OLAP分组聚集查询算法MIBGA。该算法将维层次编码和事实表标识符分组集合进行有效结合,用间接索引桶代替目前流行的位图连接索引,并通过分组属性位图的位操作方式来快速完成OLAP查询。分析表明,该方法压缩了索引的存储空间,减少了I/O开销,有效地提高了多表连接的查询效率。  相似文献   

10.
分支误预测是影响高性能处理器性能进一步提升的一个主要因素.现代处理器采用分支目标缓存(branch target buffer,BTB)预测分支指令的目标地址,BTB的预测精度受限于其命中率.由于程序中分支指令的分布并不均匀,传统的BTB索引方式无法充分利用BTB资源,从而造成不必要的冲突缺失,影响分支目标地址的预测精度,采用散列索引方式优化访问映射关系是有效解决方法之一.当前大量文献研究了cache的访问方式,但对BTB的散列索引算法的专门探讨则显不足.为了消除分支指令的分布空洞,离散分支指令和BTB条目的固有映射关系,设计了用于BTB索引的XOR散列算法和优化的bit-select索引算法,使用概率方法对BTB单组最大映射数期望的上界作了估计,并对这两种散列索引算法的效果进行了模拟评估.实验结果表明,散列映射方式能够较好地避免BTB冲突缺失造成的预测失败,XOR散列算法的离散效果更好.  相似文献   

11.
Hash join is used to join large, unordered relations and operates independently of the data distributions of the join relations. Real-world data sets are not uniformly distributed and often contain significant skew. Although partition skew has been studied for hash joins, no prior work has examined how exploiting data skew can improve the performance of hash join. In this paper, we present histojoin, a join algorithm that uses histograms to identify data skew and improve join performance. Experimental results show that for skewed data sets histojoin performs significantly fewer I/O operations and is faster by 10–60% than hybrid hash join.  相似文献   

12.
A method of analysing join algorithms based upon the time required to access, transfer and perform the relevant CPU-based operations on a disk page is proposed. The costs of variations of several of the standard join algorithms, including nested block, sort-merge, GRACE hash and hybrid hash, are presented. For a given total buffer size, the cost of these join algorithms depends on the parts of the buffer allocated for each purpose. For example, when joining two relations using the nested block join algorithm, the amount of buffer space allocated for the outer and inner relations can significantly affect the cost of the join. Analysis of expected and experimental results of various join algorithms show that a combination of the optimal nested block and optimal GRACE hash join algorithms usually provide the greatest cost benefit, unless the relation size is a small multiple of the memory size. Algorithms to quickly determine a buffer allocation producing the minimal cost for each of these algorithms are presented. When the relation size is a small multiple of the amount of main memory available (typically up to three to six times), the hybrid hash join algorithm is preferable. Edited by Masaru Kitsuregawa. Received April 26, 1993 / Revised March 3, 1994 / Accepted October 13, 1994  相似文献   

13.
基于共享Cache多核处理器的Hash连接优化   总被引:1,自引:0,他引:1  
邓亚丹  景宁  熊伟 《软件学报》2010,21(6):1220-1232
针对目前主流的多核处理器,研究了基于共享缓存多核处理器环境下的数据库Hash连接优化.首先提出基于Radix-Join算法的Hash连接多线程执行框架,通过实例分析了影响多线程Radix-Join算法性能的因素.在此基础上,优化了Hash连接多线程执行框架中的各种线程及其访问共享Cache的性能,优化了聚集连接时Hash连接算法的内存访问,并分析了多线程聚集划分的加速比.基于开源数据库INGRES和EaseDB,实现了所提出的连接多线程执行框架,在实验中测试了多线程Hash连接框架的性能.实验结果表明,该算法可以有效解决Hash连接执行时共享Cache在多线程条件下的访问冲突和处理器负载均衡问题,极大地提高了Hash连接性能.  相似文献   

14.
基于并行B+-树的并行Join算法的设计、分析与实现   总被引:1,自引:0,他引:1  
B^+-树是一种有效的数据库存储结构,被普遍应用于各种关系数据库系统。把B^+-树并行化,使之用于并行数据库系统显然是一项很有意义的重要工作。本文研究了适用于并行数据库的并行B^+-树存储结构,提出两类基于并行B^+-树工并行Join算法。理论和实验结果表明,这些算法效率高基其它并行Join算法。  相似文献   

15.
连接是数据查询处理中最耗时、使用最频繁的操作之一,对提高连接操作的速率具有重要意义。阵列众核处理器是一类重要的众核处理器,具有强大的并行能力,可用来加速并行计算。基于阵列众核处理器的结构,设计和优化了一种高效的多层分区Hash连接算法。该算法通过多层划分的策略大大降低了主存访问次数,通过分区重排方法有效消除了数据倾斜的影响,获得了很高的性能。在异构融合阵列众核处理器DFMC(Deeply-Fused Many Core)原型系统上的实验结果表明,DFMC上多层分区Hash连接算法的性能是CPU-GPU耦合结构上最快的连接算法的8.0倍,表明利用阵列众核处理器加速数据查询应用具有优势。  相似文献   

16.
A query processing strategy which is based on pipelining and data-flow techniques is presented. Timing equations are developed for calculating the performance of four join algorithms: nested block, hash, sort-merge, and pipelined sort-merge. They are used to execute the join operation in a query in distributed fashion and in pipelined fashion. Based on these equations and similar sets of equations developed for other relational algebraic operations, the performance of query execution was evaluated using the different join algorithms. The effects of varying the values of processing time, I/O time, communication time, buffer size, and join selectively on the performance of the pipelined join algorithms are investigated. The results are compared to the results obtained by employing the same algorithms for executing queries using the distributed processing approach which does not exploit the vertical concurrency of the pipelining approach. These results establish the benefits of pipelining  相似文献   

17.
Presents a parallel hash join algorithm that is based on the concept of hierarchical hashing, to address the problem of data skew. The proposed algorithm splits the usual hash phase into a hash phase and an explicit transfer phase, and adds an extra scheduling phase between these two. During the scheduling phase, a heuristic optimization algorithm, using the output of the hash phase, attempts to balance the load across the multiple processors in the subsequent join phase. The algorithm naturally identifies the hash partitions with the largest skew values and splits them as necessary, assigning each of them to an optimal number of processors. Assuming for concreteness a Zipf-like distribution of the values in the join column, a join phase which is CPU-bound, and a shared nothing environment, the algorithm is shown to achieve good join phase load balancing, and to be robust relative to the degree of data skew and the total number of processors. The overall speedup due to this algorithm is compared to some existing parallel hash join methods. The proposed method does considerably better in high skew situations  相似文献   

18.
本文提出了一种新的动态Hash连接方法──DHJ(dynamichash join),以解决并行数据库连接操作中的数据偏斜现象.为避免目前某些算法提出的预处理中隐含的高额费用,该方法在划分阶段通过增添附加桶的方法来平衡输出,然后依据计算确认哪些附加桶被映射到处理器上并确定处理器分配,在最后阶段完成连接.本文最后给出了该算法的性能分析.  相似文献   

19.
张延松  张宇  王珊 《软件学报》2018,29(3):883-895
以MapD为代表的图分析数据库系统通过GPU、Phi等新型众核处理器来支持高性能分析处理,在面向复杂数据模式时连接操作仍然是重要的性能瓶颈.近年来,异构处理器逐渐成为高性能计算的主流平台,内存连接性能的研究从多核CPU平台扩展到新兴的众核处理器,但众多的研究成果并未系统地揭示连接算法性能、连接数据集大小、硬件架构之间的内在联系,难以为未来异构处理器平台的数据库提供连接平台优化选择策略.本文以面向多核CPU、Xeon Phi、GPU处理器平台的内存连接优化技术为目标,通过优化内存哈希表设计,实现以向量映射替代哈希映射操作,消除哈希代价对内存连接算法的影响,从而更加准确地测量内存连接算法在多核CPU的cache大小、Xeon Phi的cache大小、Xeon Phi的并发多线程、GPU的SIMT(单指令多线程)机制等硬件相关因素影响下的性能特征.实验结果表明,缓存与并发多线程机制是提高内存连接算法性能的重要影响因素.缓存机制对于满足cache大小的连接操作具有性能优势,而GPU的并发多线程机制则在较大表的连接操作中具有较高的性能,Xeon Phi则在满足其L2 cache大小的连接操作中具有最高性能.实验结果揭示了内存连接操作性能与异构处理器硬件特性的联系,为未来异构处理器平台内存数据库查询优化器提供了优化策略.  相似文献   

20.
MegaBlast is one of the most important programs in NCBI BLAST (Basic Local Alignment Search Tool) toolkits, tIowever, MegaBlast is computation and I/O intensive. It consumes a great deal of memory which is proportional to the size of the query sequences set and subject (database) sequences set of product. This paper proposes a new strategy for optimizing MegaBlast. The new strategy exchanges the query and subject sequences sets, and builds a hash table based on new subject sequences. It overlaps I/O with computation, shortens the overall time and reduces the cost of memory, since the memory here is only proportional to the size of subject sequences set. The optimized algorithm is suitable to be parallelized in cluster systems. The parallel algorithm uses query segmentation method. As our experiments shown, the parallel program which is implemented with MPI has fine scalability.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号