200 likes | 459 Views
SILT : A Memory-Efficient, High-Performance Key-Value Store Hyeontaek Lim, Bin Fan, David G. Andersen, Michael Kaminsky Carnegie Mellon University, Intel Labs. 이 정 호 jeongho.lee at dankook.ac.kr (DSP LAB). Contents. Introduction SILT Key-value System Background Basic Design Evaluation
E N D
SILT: A Memory-Efficient, High-Performance Key-Value StoreHyeontaek Lim, Bin Fan, David G. Andersen, Michael KaminskyCarnegie Mellon University, Intel Labs 이 정 호 jeongho.lee at dankook.ac.kr (DSP LAB)
Contents • Introduction • SILT Key-value System • Background • Basic Design • Evaluation • Conclusion
LogStore Tag Offset BUCKET (x) Key x by (x) (x) or, by (x) Hash Table DRAM Flash Inserted K-V entries are appended Log-Structured Data Figure3
LogStore 160-bit hash value low-order bits high-order bits <Associativity> <Hash Function> hash table entry Standard cuckoo hashing allows 50% of table entries to be occupied 48-bit 4-byte offset pointer 15-bit tag SILT a single valid bit SILT cuckoo hashing allows 93% of table entries to be occupied BUCKET Capacity <= 4 Tag Offset Hash Table
LogStore 4 4
HashStore HashStore LogStore Tag Offset h(K2) h(K4) in-memory h(K1) h(K3) DRAM Flash K3 K4 K1 • K2 on-flash Hash order Insertion order CONVERT Figure4
HashStore HashStore LogStore Tag Tag Offset h(K2) h(K2) h(K4) h(K4) in-memory h(K1) h(K1) h(K3) h(K3) DRAM Flash K1 • K2 K3 K4 K2 • K4 K1 K3 on-flash Hash order Insertion order CONVERT Figure4
SortedStore • Stores (key,value) entries sorted by key on flash • Entropy-coded trie • No insertion/Deletions • Highly compressed (0.4 B/entry)
Full System Benchmark • Use YCSB • 10% PUT/90% GET • 50% PUT/50% GET • SILT INSTANCE=4 • 16 Client Threads • L->H(10K entries/sec) • H->S(20K entries/sec)
Landscape: Where We Are Read amplification SkimpyStash HashCache BufferHash FlashStore FAWN-DS SILT Memory overhead (bytes/entry)
Conclusion • SILT is memory efficient, high-performance flash-based k-v store • Two new in-memory index structure • partial-key cuckoo hashing • entropy-coded tiries • It provides • high write speed • high read throughput • little memory • no single store • Store : only 0.7bytes of memory per entry • 1.01 flash reads to service a lookup(<=400㎲) • Full source code is available • https://github.com/silt/silt
Q & A 아마 난 대답 못할꺼야 아직 발표자 4(死)명 더 남았다
References 뻐꾹함수: http://en.wikipedia.org/wiki/Cuckoo_hashing SILT발표자료 : http://www.google.co.kr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCcQFjAA&url=http%3A%2F%2Fwww.sigops.org%2Fsosp%2Fsosp11%2Fcurrent%2F2011-Cascais%2F01-lim.pptx&ei=84PDT5LMBouziQfVr4yWCg&usg=AFQjCNHzvQ-aDXFFj9kIcYVB5AJVCNvIxQ SILT(Github source) : https://github.com/silt/silt