当前位置: X-MOL 学术IEEE Comput. Archit. Lett. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Exploring Prefetching, Pre-Execution and Branch Outcome Streaming for In-Memory Database Lookups
IEEE Computer Architecture Letters ( IF 1.4 ) Pub Date : 2020-01-01 , DOI: 10.1109/lca.2019.2959982
Mustafa Cavus , Mohammed Shatnawi , Resit Sendag , Augustus K. Uht

Lookup operations for in-memory databases are heavily memory-bound because they often rely on pointer-chasing linked data structure traversals. They are also branch heavy with branches that are hard-to-predict due to random key lookups. In this study, we show that although cache misses are the primary bottleneck for these applications, without a method for eliminating the branch mispredictions, only a small fraction of the performance benefit is achieved through prefetching. We propose the Node Tracker (NT), a novel programmable prefetcher/pre-execution unit that is highly effective in exploiting inter key-lookup parallelism to improve single-thread performance. We extend the NT with branch outcome streaming (BOS) to reduce branch mispredictions and show that NT with BOS can achieve an extra 3x speedup. Finally, we evaluated the NT as a pre-execution unit and show that we can further improve the performance in both single- and multi-threaded execution modes.

中文翻译:

探索内存数据库查找的预取、预执行和分支结果流

内存数据库的查找操作严重受内存限制,因为它们通常依赖于指针追踪链接数据结构遍历。它们也是分支繁重的分支,由于随机键查找而难以预测。在这项研究中,我们表明虽然缓存未命中是这些应用程序的主要瓶颈,但如果没有消除分支预测错误的方法,预取只能实现一小部分性能优势。我们提出了节点跟踪器 (NT),这是一种新颖的可编程预取器/预执行单元,在利用键间查找并行性来提高单线程性能方面非常有效。我们使用分支结果流 (BOS) 扩展 NT 以减少分支错误预测,并表明具有 BOS 的 NT 可以实现额外的 3 倍加速。最后,
更新日期:2020-01-01
down
wechat
bug