Enhanced Self-Coding for Available Memcached

2018 
Erasure coding is a novel approach used in key/value(KV) cache systems for high data availability in memory and is often applied across multiple KV objects. Self-coding, which performs coding on the splits of each individual KV object, has been newly employed for KV caching. However, for Memcached which is one of the most popular KV cache systems, its fixedsize allocation mechanism fails to adapt random sizes of splits of different KV objects; in addition, its consistent hashing infrastructure may incur substantial data traffic due to split redistribution in case of scaling (e.g. adding a new cache server). In this paper, we address these issues by proposing an efficient self-coding framework (ESCO) for memory overhead reduction and better scaling performance. ESCO employs adaptive splitting of individual KV objects to reduce memory overhead, and also designs hybrid distribution of splits for fast data scaling. We implement and deploy ESCO atop Memcached. Evaluations show that the memory space can be saved by up to 23.2% and the scaling performance can be improved by up to 15X over the state-of-the-arts.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []