AI Chat Paper
Note: Please note that the following content is generated by AMiner AI. SciOpen does not take any responsibility related to this content.
{{lang === 'zh_CN' ? '文章概述' : 'Summary'}}
{{lang === 'en_US' ? '中' : 'Eng'}}
Chat more with AI
PDF (1.9 MB)
Collect
Submit Manuscript AI Chat Paper
Show Outline
Outline
Show full outline
Hide outline
Outline
Show full outline
Hide outline
Open Access

R-Memcached: A Reliable In-Memory Cache for Big Key-Value Stores

Chengjian LiuKai OuyangXiaowen Chu( )Hai LiuYui-Wing Leung
Department of Computer Science, Hong Kong Baptist University, Hong Kong, China.
Institute of Research and Continuing Education, Hong Kong Baptist University, Shenzhen 518057, China.
Show Author Information

Abstract

Large-scale key-value stores are widely used in many Web-based systems to store huge amount of data as (key, value) pairs. In order to reduce the latency of accessing such (key, value) pairs, an in-memory cache system is usually deployed between the front-end Web system and the back-end database system. In practice, a cache system may consist of a number of server nodes, and fault tolerance is a critical feature to maintain the latency Service-Level Agreements (SLAs). In this paper, we present the design, implementation, analysis, and evaluation of R-Memcached, a reliable in-memory key-value cache system that is built on top of the popular Memcached software. R-Memcached exploits coding techniques to achieve reliability, and can tolerate up to two node failures. Our experimental results show that R-Memcached can maintain very good latency and throughput performance even during the period of node failures.

References

[1]
Fitzpatrick B., Distributed caching with Memcached, Linux Journal, vol. 2004, no. 124, p. 5, 2004.
[2]
Nishtala R., Fugal H., Grimm S., Kwiatkowski M., Lee H., Li H. C., McElroy R., Paleczny M., Peek D., Saab P.et al, Scaling memcache at facebook, NSDI, 2013, pp. 385–398.
[3]
Morgan T. P., Facebook opens up tools to scale Memcached, http://www.enterprisetech.com/2014/09/15/facebook-opens-tools-scale-memcached/, 2014.
[4]
Tanenbaum A., Van Steen M., Distributed Systems. Pearson Prentice Hall, 2007.
[5]
Chen P. M., Lee E. K., Gibson G. A., Katz R. H., Patterson D. A., RAID: High-performance, reliable secondary storage, ACM Computing Surveys (CSUR), vol. 26, no. 2, pp. 145–185, 1994.
[6]
Karger D., Sherman A., Berkheimer A., Bogstad B., Dhanidina R., Iwamoto K., Kim B., Matkins L., Yerushalmi Y., Web caching with consistent hashing, Computer Networks, vol. 31, no. 11, pp. 1203–1213, 1999.
[7]
Armbrust M., Fox A., Griffith R., Joseph A. D., Katz R., Konwinski A., Lee G., Patterson D., Rabkin A., Stoica I.et al, A view of cloud computing, Communications of the ACM, vol. 53, no. 4, pp. 50–58, 2010.
[8]
Na B., Zhang Y., Liu L., Liu P., TSHOVER: A novel coding scheme for tolerating triple disk failures in RAID/DRAID, Tsinghua Science and Technology, vol. 12, no. S1, pp. 39–44, 2007.
[9]
Liu F., Shen S., Li B., Li B., Jin H., Cinematic-quality VoD in a P2P storage cloud: Design, implementation and measurements, IEEE Journal on Selected Areas in Communications, vol. 31, no. 9, pp. 214–226, 2013.
[10]
Liu F., Sun Y., Li B., Li B., Zhang X., FS2You: Peer-assisted semi-persistent online hosting at a large scale, IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 10, pp. 1442–1457, 2010.
[11]
Liu C., Ouyang K., Chu X., Liu H., Leung Y.-W., R-Memcached: A reliable in-memory cache system for big key-value stores, in Proceedings of the 1st International Conference on Big Data Computing and Communications, Taiyuan, China, 2015.
[12]
Meaney P. J., Lastras-Montano L. A., Papazova V. K., Stephens E., Johnson J., Alves L. C., O'Connor J. A., Clarke W. J., IBM zEnterprise redundant array of independent memory subsystem, IBM Journal of Research and Development, vol. 56, no. 1.2, pp. 4:1–4:11, 2012.
[13]
Cidon A., Rumble S. M., Stutsman R., Katti S., Ousterhout J. K., Rosenblum M., Copysets: Reducing the frequency of data loss in cloud storage, in Usenix Annual Technical Conference, 2013, pp. 37–48.
[14]
Chu X., Liu C., Ouyang K., Yung L. S., Liu H., Leung Y.-W., PErasure: A parallel cauchy Reed-Solomon coding library for GPUs, in presented at IEEE International Conference on Communications, London, UK, 2015.
[15]
Atikoglu B., Xu Y., Frachtenberg E., Jiang S., Paleczny M., Work-load analysis of a large-scale key-value store, ACM SIGMETRICS Performance Evaluation Review, vol. 40, no. 1, 2012, pp. 53–64.
[16]
Plank J. S., Greenan K. M., Jerasure: A library in c facilitating erasure coding for storage applications—version 2.0, Technical Report UT-EECS-14-721. University of Tennessee, Tech. Rep, 2014.
[17]
Ousterhout J., Agrawal P., Erickson D., Kozyrakis C., Leverich J., Mazieres D., Mitra S., Narayanan A., Parulkar G., Rosenblum M.et al, The case for RAMClouds: Scalable high-performance storage entirely in DRAM, ACM SIGOPS Operating Systems Review, vol. 43, no. 4, pp. 92–105, 2010.
[18]
Lim H., Fan B., Andersen D. G., Kaminsky M., SILT: A memory-efficient, high-performance key-value store, in Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, ACM, 2011, pp. 1–13.
Tsinghua Science and Technology
Pages 560-573
Cite this article:
Liu C, Ouyang K, Chu X, et al. R-Memcached: A Reliable In-Memory Cache for Big Key-Value Stores. Tsinghua Science and Technology, 2015, 20(6): 560-573. https://doi.org/10.1109/TST.2015.7349928

497

Views

26

Downloads

4

Crossref

N/A

Web of Science

3

Scopus

0

CSCD

Altmetrics

Received: 01 May 2015
Revised: 01 July 2015
Accepted: 01 October 2015
Published: 17 December 2015
© The author(s) 2015
Return