[发明专利]并行合并有效
| 申请号: | 201580056152.6 | 申请日: | 2015-10-06 |
| 公开(公告)号: | CN107077488B | 公开(公告)日: | 2020-12-04 |
| 发明(设计)人: | 张浩炜;沈小瑛 | 申请(专利权)人: | 甲骨文国际公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F9/50 |
| 代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 边海梅 |
| 地址: | 美国加*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 并行 合并 | ||
提供了用于改进的高性能并行数据排序的方法、装置和系统。在第一阶段,要排序的多个无序数据元素被划分为K个无序列表,这K个无序列表优选地各自具有大约M个元素。这K个无序列表中的每一个可以使用任何算法(诸如快速排序)来并行排序,以生成K个有序列表。在第二阶段,通过使用由最大迭代次数限制的迭代收敛过程,从K个有序列表中确定N个均衡的工作负荷。因此,任何非均匀或偏斜的数据分布都可以以最少的处理时间得以负荷均衡。一旦确定了N个均衡的工作负荷,它们就可以例如通过使用合并排序被并行地独立排序,并且然后利用快速级联组合,以提供最终的经排序的结果。因此,排序操作完全并行化,同时避免了任何昂贵的数据扫描步骤。
技术领域
本公开内容涉及数据排序,并且更具体而言,涉及适于多线程和多节点环境的改进的高性能并行数据排序。
背景技术
对数据排序是具有在各种学术领域和工业领域中的实际应用的经典优化问题。计算机应用可能需要高性能的排序方法来进行业务智能分析、提供演示渲染、对来自用户和应用的外部请求做出响应、以及用于其它任务。例如,可以为了根据用户或应用所定义的标准排序的记录列表而查询数据库。由于回应这些查询的整体处理时间直接受排序执行时间的影响,所以需要高性能排序以及时提供结果。排序性能对于针对大数据集工作的应用(诸如用于大型企业或高性能计算(HPC)的数据库管理系统(DBMS))尤其重要,因为大量数据记录可能会放大任何排序操作的执行时间。
可以利用多线程处理为这些数据密集型应用提供合适的响应时间,其中根据数据处理工作负荷添加诸如处理器核心和/或处理节点之类的资源。通过高度可并行化的工作负荷,多线程处理具有以成本高效和实用的方式提供优化的性能缩放的潜力。由于排序可能会贡献数据处理工作负荷的大部分,所以排序成为并行化的主要目标,以减少查询延迟时间以及提高多线程环境中的数据处理吞吐量。
诸如快速排序(quicksort)的串行排序技术是容易获得的,从而为具有低至中等数据处理需求的应用提供足够的性能。然而,这些串行排序方法不太适用于具有高数据处理需求的多线程应用。虽然已经提议了用于并行化串行排序方法的各种做法,但是当尝试在数据密集型应用中处理需要排序的大量元素(其数量可以是数十亿或更多)时,或者当尝试在高度多线程的环境中将工作负荷分布到大量并行处理线程(其数量可以是数百个或更多)时,这些做法可能崩溃。
此外,要分析的给定数据集可以包括任何种类的数据分布,因此排序必须能够处理数据集而不管数据集的特定数据分布是怎样的。为了应付非均匀的数据分布而需要冗长的预处理或后处理步骤的任何并行化做法都可能由于减少或否定从并行化获得的性能增益而强加不可接受的性能损失。例如,虽然由于每个分区可以被独立排序而使得基数排序(radix-sort)可以适于(amenable to)并行化,但是根据最高有效位对数据进行分区为非均匀的数据分布或偏斜(skewed)的数据分布提供了差的工作负荷均衡。因此,对于基数排序而言,需要在计算上昂贵的预处理步骤以应付非均匀的数据分布,例如通过进行串行数据扫描来确定均衡的工作负荷分区。虽然并行数据扫描也是可能的,但是由于解决写入争用(write contention)所需的进程间通信,并行数据扫描将强加显著的处理开销,这随着线程数量的增加只会变差。在任一情况下,由于预处理步骤而产生的性能损失可能超出由于并行化基数排序而产生的任何性能增益。
基于前述,存在对于提供适于多线程和多节点环境的高性能并行数据排序的方法的需求。
本节中描述的做法是可以推行的做法,但不一定是先前已经设想或推行的做法。因此,除非另有指示,否则不应当假设本节中描述的任何做法仅仅因为它们包含在本节中就成为现有技术。
附图说明
在附图中以示例而非限制的方式示出了本发明,附图中相同的参考标号指代相似的要素,并且其中:
图1是绘出根据实施例的用于改进的并行数据排序的示例系统的框图;
图2A是绘出根据实施例的用于改进的并行数据排序的过程的框图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580056152.6/2.html,转载请声明来源钻瓜专利网。





