KiWi: A Key-Value Map for Scalable Real-Time Analytics

Dmitry Basin, Edward Bortnikov, Anastasia Braginsky, Guy Golan-Gueta, Eshcar Hillel, Idit Keidar, Moshe Sulamy

Research output: Contribution to journalArticlepeer-review

Abstract

Modern big data processing platforms employ huge in-memory 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.

Original languageEnglish
Pages (from-to)357-369
Number of pages13
JournalACM SIGPLAN Notices
Volume52
Issue number8
DOIs
StatePublished - 26 Jan 2017

Keywords

  • lock-free key-value map
  • wait-free atomic scans

All Science Journal Classification (ASJC) codes

  • General Computer Science

Fingerprint

Dive into the research topics of 'KiWi: A Key-Value Map for Scalable Real-Time Analytics'. Together they form a unique fingerprint.

Cite this