TY - GEN
T1 - Load balancing memcached traffic using software defined networking
AU - Bremler-Barr, Anat
AU - Hay, David
AU - Moyal, Idan
AU - Schiff, Liron
N1 - Publisher Copyright:
© 2017 IFIP.
PY - 2017/7/2
Y1 - 2017/7/2
N2 - Memcached is an in-memory key-value distributed caching solution, commonly used by web servers for fast content delivery. Keys with their values are distributed between Mem-cached servers using a consistent hashing technique, resulting in an even distribution (of keys) among the servers. However, as small number of keys are significantly more popular than others (a.k.a., hot keys), even distribution of keys may cause a significantly different request load on the Memcached servers, which, in turn, causes substantial performance degradation. Previous solutions to this problem require complex application level solutions and extra servers. In this paper, we propose MBalancer-A simple L7 load balancing scheme for Memcached that can be seamlessly integrated into Memcached architectures running over Software-Defined Networks (SDN). In a nutshell, MBalancer runs as an SDN application and duplicates the hot keys to many (or all) Memcached servers. The SDN controller updates the SDN switches forwarding tables and uses SDN ready-made load balancing capabilities. Thus, no change is required to Memcached clients or servers. Our analysis shows that with minimal overhead for storing a few extra keys, the number of requests per server is close to balanced (assuming requests for keys follows a Zipf distribution). Moreover, we have implemented MBalancer on a hardware-based OpenFlow switch. As MBalancer offloads requests from bottleneck Memcached servers, our experiments show that it achieves significant throughput boost and latency reduction.
AB - Memcached is an in-memory key-value distributed caching solution, commonly used by web servers for fast content delivery. Keys with their values are distributed between Mem-cached servers using a consistent hashing technique, resulting in an even distribution (of keys) among the servers. However, as small number of keys are significantly more popular than others (a.k.a., hot keys), even distribution of keys may cause a significantly different request load on the Memcached servers, which, in turn, causes substantial performance degradation. Previous solutions to this problem require complex application level solutions and extra servers. In this paper, we propose MBalancer-A simple L7 load balancing scheme for Memcached that can be seamlessly integrated into Memcached architectures running over Software-Defined Networks (SDN). In a nutshell, MBalancer runs as an SDN application and duplicates the hot keys to many (or all) Memcached servers. The SDN controller updates the SDN switches forwarding tables and uses SDN ready-made load balancing capabilities. Thus, no change is required to Memcached clients or servers. Our analysis shows that with minimal overhead for storing a few extra keys, the number of requests per server is close to balanced (assuming requests for keys follows a Zipf distribution). Moreover, we have implemented MBalancer on a hardware-based OpenFlow switch. As MBalancer offloads requests from bottleneck Memcached servers, our experiments show that it achieves significant throughput boost and latency reduction.
UR - http://www.scopus.com/inward/record.url?scp=85050479977&partnerID=8YFLogxK
U2 - 10.23919/IFIPNetworking.2017.8264855
DO - 10.23919/IFIPNetworking.2017.8264855
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:85050479977
T3 - 2017 IFIP Networking Conference, IFIP Networking 2017 and Workshops
SP - 1
EP - 9
BT - 2017 IFIP Networking Conference, IFIP Networking 2017 and Workshops
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2017 IFIP Networking Conference and Workshops, IFIP Networking 2017
Y2 - 12 June 2017 through 16 June 2017
ER -