Font Size: a A A

Design And Implementation Of System Performance Optimization Scheme For Memcached Based On Self-coding

Posted on:2023-01-28Degree:MasterType:Thesis
Country:ChinaCandidate:J XuFull Text:PDF
GTID:2558307043475214Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
With the rapid development of big data technology,more and more applications require the support of high-throughput and low-latency cache storage systems,usually based on inmemory key-value stores,such as Memcached that is widely used by many companies.However,in a distributed in-memory storage system like Memcached,node failures or network congestion occur frequently,resulting in insufficient data reliability of the inmemory clusters.That makes the system have to access the disk nodes frequently,resulting in performance degradation of storage service.Therefore,the high reliability guarantee of the in-memory key-value store plays a key role in the overall performance of the storage system.Compared with the traditional replication with high storage overhead,erasure coding,as a low-storage-overhead technology with high reliability,is gradually being deployed in various in-memory key-value stores including Memcached.However,current erasure coding schemes used in Memcached are all aiming for small objects,and cannot effectively handle the large object workload generated from big data analysis.To address this,a Memcached framework based on self-coding is first designed,which can effectively ensure the system reliability by encoding the self-equalized data chunks of a single large object and constructing stripes.Meanwhile,due to the "slab allocation" memory allocation mechanism of Memcached,it will lead to the issue of internal memory fragmentation,while the self-coding scheme will cause more internal fragmentation and increase memory overhead.An adaptive-parameter-adjustment algorithm is also designed.By adjusting the coding parameter k,the internal fragmentation is reduced while improving the memory storage efficiency and keeping the reliability uncompromised.A chunk-hybrid-distribution optimization scheme is further designed to improve scaling performance and data storage balance;and an additional-parity-read optimization scheme is designed to improve degraded read performance in scenarios with severe tail latency.Based on above design and optimization schemes,a Memcached-based self-coding inmemory key-value stores called ASMem is implemented,and the performance or efficiency of ASMem in terms of basic read and write I/O,degraded read,memory storage,scaling and data balance are evaluated from both numerical analysis and experiments.Compared with EC-Cache and Dynamo under the YCSB workload,ASMem reduces memory overhead by more than 20%,improves scalability by 15 times and data storage balance by 38.8%,while maintaining a good basic I/O and degraded read performance.
Keywords/Search Tags:In-memory Key-value Store, Erasure coding, Memory overhead, Scalability
PDF Full Text Request
Related items