DPG: A Cache-Efficient Accelerator for Sorting and for Join Operators
Gene Cooperman, Xiaoqin Ma, Viet Ha Nguyen

TL;DR
This paper introduces DPG, a cache-efficient algorithm that accelerates sorting and join operations by optimizing record retrieval, significantly improving performance in main memory database operations.
Contribution
The paper presents DPG, a novel record retrieval algorithm that enhances sorting and join efficiency without relying on sorting or hashing, applicable to various database tasks.
Findings
DPG accelerates sorting by optimizing the final copying phase.
DPG enables faster foreign key joins without sorting or hashing.
The approach extends to spatial and temporal database retrievals.
Abstract
We present a new algorithm for fast record retrieval, distribute-probe-gather, or DPG. DPG has important applications both in sorting and in joins. Current main memory sorting algorithms split their work into three phases: extraction of key-pointer pairs; sorting of the key-pointer pairs; and copying of the original records into the destination array according the sorted key-pointer pairs. The copying in the last phase dominates today's sorting time. Hence, the use of DPG in the third phase provides an accelerator for existing sorting algorithms. DPG also provides two new join methods for foreign key joins: DPG-move join and DPG-sort join. The resulting join methods with DPG are faster because DPG join is cache-efficient and at the same time DPG join avoids the need for sorting or for hashing. The ideas presented for foreign key join can also be extended to faster record pair…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Algorithms and Data Compression · Distributed and Parallel Computing Systems
