Morsel-Driven Parallelism A NUMA-Aware Query.pdf
在现代计算机架构的发展中,面临着两个关键问题,这对并行查询执行的传统方法构成了挑战:(i)为了充分利用多核处理器的潜力,所有查询工作必须均匀地分配给(即将出现的)数百个线程,以便实现良好的加速比;(ii)即使拥有准确的数据统计,由于现代乱序核心的复杂性,均匀分配工作仍然困难。因此,现有的“计划驱动”并行执行策略遭遇了负载平衡和上下文切换瓶颈,无法继续扩展。多核架构的第三个问题是内存控制器的分散化,导致非一致内存访问(NUMA)问题。 针对这些问题,我们提出了“分块驱动”查询执行框架,其中调度成为细粒度的运行时任务,并且具备NUMA意识。分块驱动的查询处理采用输入数据的小片段(“分块”),并将这些分块调度给运行整个操作管道直至下一个管道断点的工作者线程。并行度不是预先确定的,而是在查询执行过程中弹性变化,因此调度器可以根据不同分块的执行速度做出反应,同时还能根据工作负载中新到达的查询动态调整资源。此外,调度器能够感知NUMA本地分块和操作状态的数据局部性,确保大多数执行操作在NUMA本地内存上进行。我们在TPC-H和SSB基准测试中的评估显示了极高的绝对性能,平均加速比超过30倍,使用32个核心。 **分块驱动并行性** 传统的并行查询执行通常依赖于预定义的并行计划,这限制了对资源利用的灵活性。分块驱动的方法则允许在运行时动态调整并行度,从而更好地适应不同的数据分布和计算需求。 **NUMA意识** 考虑到现代多核系统中的NUMA特性,分块驱动的框架确保了数据的本地访问,减少了跨NUMA节点的数据传输,提高了性能。调度器会优先考虑将数据分块分配给其所在的NUMA节点上的线程,减少内存访问延迟。 **调度策略** 这里的调度策略是关键,它不仅考虑了分块的大小和执行顺序,还考虑了工作线程的状态和内存的局部性,以最小化通信开销和上下文切换。 **性能评估** 通过TPC-H和SSB基准测试,该框架展示了出色的性能和可扩展性,表明这种方法在应对大数据查询和复杂工作负载时具有显著优势。 **关键词** 分块驱动并行性;NUMA意识 总结来说,"Morsel-Driven Parallelism: A NUMA-Aware Query Evaluation Framework for the Many-Core Age" 提出了一种创新的并行查询执行策略,它解决了多核时代面临的负载均衡、上下文切换瓶颈以及NUMA架构下的内存访问效率问题。通过分块驱动的方法,系统能够在运行时动态调整并行度,同时考虑数据局部性和内存访问效率,从而实现了高性能和高可扩展性的查询处理。























- 粉丝: 6077
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网络营销源码学习.docx
- 中国移动WAP业务应用程序接口规范.doc
- 通信网原理课程设计.doc
- 机电接口技术课程设计.doc
- FPGA实现Cameralink纯逻辑编码解码方案及其在k7z7v7a7系列产品的应用 - 工业相机
- 公司年度网络营销推广服务项目线上推广方案.pptx
- 考研十大热门专业深度分析之计算机应用技术.doc
- 网络营销-渠道策略.pptx
- 神经网络hopfield网络专家讲座.pptx
- 一线通设计方案小区网络监控.doc
- 论项目管理中的人力团队建设与绩效.doc
- 鼎信诺审计软件的四种取数方法.pptx
- 享受健康的网络交往-公开课用.ppt
- 别墅智能家居系统解决方案.doc
- 项目管理的专业化与职业化发展培训课件.ppt
- 自动化专业实习报告书.doc


