当前位置: X-MOL 学术ACM Trans. Archit. Code Optim. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Orchard: Heterogeneous Parallelism and Fine-grained Fusion for Complex Tree Traversals
ACM Transactions on Architecture and Code Optimization ( IF 1.6 ) Pub Date : 2024-03-15 , DOI: 10.1145/3652605
Vidush Singhal 1 , Laith Sakka 2 , Kirshanthan Sundararajah 3 , Ryan R. Newton 4 , Milind Kulkarni 1
Affiliation  

Many applications are designed to perform traversals on tree-like data structures. Fusing and parallelizing these traversals enhance the performance of applications. Fusing multiple traversals improves the locality of the application. The runtime of an application can be significantly reduced by extracting parallelism and utilizing multi-threading. Prior frameworks have tried to fuse and parallelize tree traversals using coarse-grained approaches, leading to missed fine-grained opportunities for improving performance. Other frameworks have successfully supported fine-grained fusion on heterogeneous tree types but fall short regarding parallelization. We introduce a new framework Orchard built on top of Grafter. Orchard’s novelty lies in allowing the programmer to transform tree traversal applications by automatically applying fine-grained fusion and extracting heterogeneous parallelism.Orchard allows the programmer to write general tree traversal applications in a simple and elegant embedded Domain-Specific Language (eDSL). We show that the combination of fine-grained fusion and heterogeneous parallelism performs better than each alone when the conditions are met.



中文翻译:

Orchard:复杂树遍历的异构并行和细粒度融合

许多应用程序被设计为对树状数据结构执行遍历。融合和并行化这些遍历可以增强应用程序的性能。融合多个遍历可以提高应用程序的局部性。通过提取并行性和利用多线程可以显着减少应用程序的运行时间。先前的框架尝试使用粗粒度方法融合和并行化树遍历,导致错过了提高性能的细粒度机会。其他框架已成功支持异构树类型的细粒度融合,但在并行化方面存在不足。我们引入了一个建立在Grafter之上的新框架OrchardOrchard的新颖之处在于允许程序员通过自动应用细粒度融合和提取异构并行性来改造树遍历应用程序。Orchard允许程序员以简单而优雅的嵌入式领域特定语言 (eDSL) 编写通用的树遍历应用程序。我们证明,当满足条件时,细粒度融合和异构并行的组合比单独使用表现更好。

更新日期:2024-03-15
down
wechat
bug