@inproceedings{9b4f044956ae4cb0a8c5d239fc2b2ce9,
title = "Kiwi: A key-value map for scalable real-time analytics",
abstract = "Modern big data processing platforms employ huge inmemory key-value (KV) maps. Their applications simultaneously drive high-rate data ingestion and large-scale analytics. These two scenarios expect KV-map implementations that scale well with both real-time updates and large atomic scans triggered by range queries. 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.",
author = "Dmitry Basin and Edward Bortnikov and Anastasia Braginsky and Guy Golan-Gueta and Eshcar Hillel and Idit Keidar and Moshe Sulamy",
note = "Publisher Copyright: {\textcopyright} 2017 ACM.; 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2017 ; Conference date: 04-02-2017 Through 08-02-2017",
year = "2017",
month = jan,
day = "26",
doi = "10.1145/3018743.3018761",
language = "الإنجليزيّة",
series = "Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP",
publisher = "Association for Computing Machinery",
pages = "357--369",
booktitle = "PPoPP 2017 - Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming",
address = "الولايات المتّحدة",
}