CoroBase: Coroutine-Oriented Main-Memory Database Engine @VLDB23

Problem: The prefetcher is always draining the bandwidth, and if you

Compare with hardware coroutine

[1] brought up the discussion of hiding the memory latency by asynchronously loading all desired memory requests and putting the results as objects to the L2 ScratchPad Memory. They also map this semantic to the async C++ coroutine. The setting to backend operation, unlike CoroBase, is auxiliaries by

Software Prefetching via Coroutines

assigns prefetch coroutine and switches to another coroutine for other computation. The setup is still something like coroutine in the C++20.

Thoughts

Need a better hardwrare codesign, need a better VLIW like compiler that gives feed from the hardware hint and better hide the latency.

Reference

  1. https://carrv.github.io/2022/papers/CARRV2022_paper_9_Wang.pdf