Two-phase load balancing of In-Memory Key-Value Storages using Network Functions Virtualization (NFV)

Abstract Social networks and other clouding applications should require fast responses from datacenter's infrastructure. One of the techniques that have been widely used for achieving such requirement is the employment of In-Memory Key-Value Storage (IMKVS) as caching mechanisms in order to improve overall user experience. Memcached and Redis are applications that use IMKVS approach. Commonly IMKVS systems use Consistent Hashing to decide where to store an object, which may cause network load imbalance due to its simplistic approach. Furthermore, these systems work only at the application layer, so network conditions are not considered to distribute user's accesses. This paper proposes a new cache architecture based on a two-phase load balancing to improve IMKVS performance, which has adopted a Network Function Virtualization (NFV) architecture to manage the load balancing mechanism. The proposal was evaluated in the Mininet and shows an improvement of 23% on the load of the caching servers and 5% on the load of the network compared to Consistent Hashing, which results in better resource usage and better user experience.

[1]  Martín Casado,et al.  NOX: towards an operating system for networks , 2008, CCRV.

[2]  Scott Shenker,et al.  Ethane: taking control of the enterprise , 2007, SIGCOMM.

[3]  Lei Gao,et al.  Serving large-scale batch computed data with project Voldemort , 2012, FAST.

[4]  Nathan Farrington,et al.  Facebook's data center network architecture , 2013, 2013 Optical Interconnects Conference.

[5]  Gustavo Augusto Lima de Campos,et al.  Flow-based conflict detection in OpenFlow networks using first-order logic , 2014, 2014 IEEE Symposium on Computers and Communications (ISCC).

[6]  Fernando A. Kuipers,et al.  OpenNetMon: Network monitoring in OpenFlow Software-Defined Networks , 2014, 2014 IEEE Network Operations and Management Symposium (NOMS).

[7]  Ashok K. Agrawala,et al.  An optimal algorithm for mutual exclusion in computer networks , 1981, CACM.

[8]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[9]  Odej Kao,et al.  Multiple service load-balancing with OpenFlow , 2012, 2012 IEEE 13th International Conference on High Performance Switching and Routing.

[10]  Brad Fitzpatrick,et al.  Distributed caching with memcached , 2004 .

[11]  RissonJohn,et al.  Survey of research towards robust peer-to-peer networks , 2006 .

[12]  Ichiro Suzuki,et al.  A distributed mutual exclusion algorithm , 1985, TOCS.

[13]  Michael S. Keller,et al.  Take Command: cron: Job Scheduler , 1999 .

[14]  Sam Hartman,et al.  Security Analysis of the Open Networking Foundation (ONF) OpenFlow Switch Specification , 2013 .

[15]  K. K. Ramakrishnan,et al.  SmartSwitch: Blurring the Line Between Network Infrastructure & Cloud Applications , 2014, HotCloud.

[16]  Richard Wang,et al.  OpenFlow-Based Server Load Balancing Gone Wild , 2011, Hot-ICE.

[17]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[18]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[19]  Mamoru Maekawa,et al.  A N algorithm for mutual exclusion in decentralized systems , 1985, TOCS.

[20]  Song Jiang,et al.  Characterizing Facebook's Memcached Workload , 2014, IEEE Internet Computing.

[21]  Adrian Farrel,et al.  A Path Computation Element (PCE)-Based Architecture , 2006, RFC.

[22]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM 2001.

[23]  Tony Tung,et al.  Scaling Memcache at Facebook , 2013, NSDI.

[24]  Tim Moors,et al.  Survey of Research towards Robust Peer-to-Peer Networks: Search Methods , 2007, RFC.

[25]  Albert G. Greenberg,et al.  The nature of data center traffic: measurements & analysis , 2009, IMC '09.

[26]  Robert Morris,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM 2001.

[27]  Kostas Katrinis,et al.  Ultra-Fast Load Balancing of Distributed Key-Value Stores through Network-Assisted Lookups , 2014, Euro-Par.

[28]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[29]  Ben Y. Zhao,et al.  Tapestry: a resilient global-scale overlay for service deployment , 2004, IEEE Journal on Selected Areas in Communications.

[30]  Martin Stiemerling,et al.  Application-Layer Traffic Optimization (ALTO) Requirements , 2012, RFC.

[31]  Keith Kirkpatrick,et al.  Software-defined networking , 2013, CACM.

[32]  Alex F. R. Trajano,et al.  Two-phase load balancing of In-Memory Key-Value Storages through NFV and SDN , 2015, 2015 IEEE Symposium on Computers and Communication (ISCC).

[33]  Yitzhak Birk,et al.  Replicate and Bundle (RnB) -- A Mechanism for Relieving Bottlenecks in Data Centers , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.

[34]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.

[35]  Martín Casado,et al.  Applying NOX to the Datacenter , 2009, HotNets.