TY - JOUR
T1 - KiWi
T2 - A key-value map for scalable real-time analytics
AU - Basin, Dmitry
AU - Bortnikov, Edward
AU - Braginsky, Anastasia
AU - Golan-Gueta, Guy
AU - Hillel, Eshcar
AU - Keidar, Idit
AU - Sulamy, Moshe
N1 - Publisher Copyright:
© 2020 ACM.
PY - 2020/8
Y1 - 2020/8
N2 - We present KiWi, the first atomic KV-map to efficiently support simultaneous large scans and real-time access. The key to achieving this is treating scans as first class citizens and organizing the data structure around them. KiWi provides wait-free scans, whereas its put operations are lightweight and lock-free. It optimizes memory management jointly with data structure access. We implement KiWi and compare it to state-of-the-art solutions. Compared to other KV-maps providing atomic scans, KiWi performs either long scans or concurrent puts an order of magnitude faster. Its scans are twice as fast as non-atomic ones implemented via iterators in the Java skiplist.
AB - We present KiWi, the first atomic KV-map to efficiently support simultaneous large scans and real-time access. The key to achieving this is treating scans as first class citizens and organizing the data structure around them. KiWi provides wait-free scans, whereas its put operations are lightweight and lock-free. It optimizes memory management jointly with data structure access. We implement KiWi and compare it to state-of-the-art solutions. Compared to other KV-maps providing atomic scans, KiWi performs either long scans or concurrent puts an order of magnitude faster. Its scans are twice as fast as non-atomic ones implemented via iterators in the Java skiplist.
KW - Concurrent data structures
KW - key-value maps
UR - http://www.scopus.com/inward/record.url?scp=85092762773&partnerID=8YFLogxK
U2 - 10.1145/3399718
DO - 10.1145/3399718
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:85092762773
SN - 2329-4949
VL - 7
JO - ACM Transactions on Parallel Computing
JF - ACM Transactions on Parallel Computing
IS - 3
M1 - 16
ER -