Ecole d'ingénieur et centre de recherche en Sciences du numérique

Memory partitioning in Memcached: An experimental performance analysis

Carra, Damiano; Michiardi, Petro

ICC 2014, IEEE International Conference on Communications, June 10-14, 2014, Sydney, Australia

Memcached is a popular component of modernWeb architectures, which allows fast response times - a fundamental performance index for measuring the Quality of Experience of end-users - for serving popular objects. In this work, we study how memory partitioning in Memcached works and how it affects system performance in terms of hit rate. Memcached divides the memory into different classes proportionally to the percentage of requests for objects of different sizes. Once all the available memory has been allocated, reallocation is not possible or limited, a problem called "calcification". Calcification constitutes a symptom indicating that current memory partitioning mechanisms require a more careful design. Using an experimental approach, we show the negative impact of calcification on an important performance metric, the hit rate. We then proceed to design and implement a new memory partitioning scheme, called PSA, which replaces that of vanilla Memcached. With PSA, Memcached achieves a higher hit rate than what is obtained with the default memory partitioning mechanism, even in the absence of calcification. Moreover, we show that PSA is capable of "adapting" to the dynamics of clients' requests and object size distributions, thus defeating the calcification problem.

Document Doi Bibtex

Titre:Memory partitioning in Memcached: An experimental performance analysis
Département:Data Science
Eurecom ref:4320
Copyright: © 2014 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.
Bibtex: @inproceedings{EURECOM+4320, doi = {}, year = {2014}, title = {{M}emory partitioning in {M}emcached: {A}n experimental performance analysis}, author = {{C}arra, {D}amiano and {M}ichiardi, {P}etro}, booktitle = {{ICC} 2014, {IEEE} {I}nternational {C}onference on {C}ommunications, {J}une 10-14, 2014, {S}ydney, {A}ustralia}, address = {{S}ydney, {AUSTRALIE}}, month = {06}, url = {} }
Voir aussi: