2015
DOI: 10.14778/2856318.2856321
|View full text |Cite
|
Sign up to set email alerts
|

Asynchronous memory access chaining

Abstract: In-memory databases rely on pointer-intensive data structures to quickly locate data in memory. A single lookup operation in such data structures often exhibits long-latency memory stalls due to dependent pointer dereferences. Hiding the memory latency by launching additional memory accesses for other lookups is an effective way of improving performance of pointer-chasing codes (e.g., hash table probes, tree traversals). The ability to exploit such inter-lookup parallelism is beyond the reach of modern out-of-… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

2
44
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
6

Relationship

0
6

Authors

Journals

citations
Cited by 40 publications
(46 citation statements)
references
References 34 publications
2
44
0
Order By: Relevance
“…Having demonstrated interleaving with coroutines on the distinct codepaths of binary search and CSB + -tree traversal, we believe our technique applies to the lookup methods of any pointer-based index. A hash-table with bucket lists is such an index, so the probe phases of hash joins that use it are straighforward candidates for our technique; moreover, since Kocberber et al [15] demonstrate AMAC also on the build phase, and our technique is equivalent to AMAC, interleaving with coroutines applies also to important hash-join operators. In fact, our technique can be employed in any data-or task-parallel operation with a memory stall problem, like sort operators, or operations related to the state management of the lock and the transaction manager.…”
Section: Discussion and Future Workmentioning
confidence: 99%
See 4 more Smart Citations
“…Having demonstrated interleaving with coroutines on the distinct codepaths of binary search and CSB + -tree traversal, we believe our technique applies to the lookup methods of any pointer-based index. A hash-table with bucket lists is such an index, so the probe phases of hash joins that use it are straighforward candidates for our technique; moreover, since Kocberber et al [15] demonstrate AMAC also on the build phase, and our technique is equivalent to AMAC, interleaving with coroutines applies also to important hash-join operators. In fact, our technique can be employed in any data-or task-parallel operation with a memory stall problem, like sort operators, or operations related to the state management of the lock and the transaction manager.…”
Section: Discussion and Future Workmentioning
confidence: 99%
“…Coroutines can yield control in the middle of their execution and be later resumed. This ability makes them candidates for implementing ISI, as already remarked by Kocberber et al [15]. An efficient implementation needs a) a suspension/resumption mechanism that consumes a few tens of cycles at most, and b) a space footprint that does not thrash the cache.…”
Section: Interleaving With Coroutinesmentioning
confidence: 94%
See 3 more Smart Citations