File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: Fulva: Efficient Live Migration for In-Memory Key-Value Stores with Zero Downtime

TitleFulva: Efficient Live Migration for In-Memory Key-Value Stores with Zero Downtime
Authors
Keywordsclient-server systems
source code (software)
storage management
virtual machines
virtualisation
Issue Date2019
PublisherIEEE, Computer Society. The Journal's web site is located at https://ieeexplore.ieee.org/xpl/conhome/1000628/all-proceedings
Citation
Proceedings of the 38th IEEE International Symposium on Reliable Distributed Systems 2019 (SRDS 2019), Lyon, France, 1-4 October 2019, p. 83-92 How to Cite?
AbstractA key-value store live migration approach migrates key-value tuples and their client requests from an overloaded machine (source) to an idle machine (destination), while still serving client requests. Existing migration approaches fall into two categories. First, a source-driven approach (e.g., DrTM-B) executes all client requests on the source and incrementally propagates the updated key-value tuples to the destination. This approach has an inevitable downtime to completely propagate the updated tuples at the end of a migration. Second, a destination-driven approach (e.g., RockSteady) executes all read and write requests on the destination, and pulls tuples from source for read requests on-demand. This approach has zero downtime, but incurs extra network round-trips due to the on-demand pull, greatly increasing request latency. Overall, a live migration approach that has zero downtime and no performance degradation during the migration is highly desirable but missing. The key observation of our Fulva system is that the source and destination can cooperatively drive the migration and serve requests, and we need only to design an efficient protocol to ensure linearizability (i.e., reads see the updates from the latest writes). To this end, when a migration starts, Fulva works by three steps. First, all write requests are redirected to the destination. Second, each client program uses a Fulva's RPC library to track the migration progress. For read requests accessing the already-migrated tuples, Fulva RPC library sends the requests to the destination. Third, for read requests accessing not-yet-migrated tuples, Fulva sends to both machines. The first step avoids downtime because all updated tuples are already on the destination. The second and third steps avoid the on-demand pull and ensure linearizability, making Fulva efficient. We implemented Fulva using DPDK and integrated it with RAMCloud, a popular in-memory key-value store. We compared Fulva with two notable systems, RockSteady (destinationdriven approach) and RAMCloud’s default source-driven approach. Extensive evaluation shows that Fulva has much higher throughput and lower latency than the two systems, and Fulva’s network bandwidth usage is comparable with RockSteady. All Fulva’s source code and raw evaluation results are released on github.com/hku-systems/fulva.
DescriptionSession 2 - Database Management Systems
Persistent Identifierhttp://hdl.handle.net/10722/290707
ISSN

 

DC FieldValueLanguage
dc.contributor.authorHai, J-
dc.contributor.authorWANG, C-
dc.contributor.authorCHEN, X-
dc.contributor.authorLI, TO-
dc.contributor.authorCui, H-
dc.contributor.authorWang, S-
dc.date.accessioned2020-11-02T05:45:59Z-
dc.date.available2020-11-02T05:45:59Z-
dc.date.issued2019-
dc.identifier.citationProceedings of the 38th IEEE International Symposium on Reliable Distributed Systems 2019 (SRDS 2019), Lyon, France, 1-4 October 2019, p. 83-92-
dc.identifier.issn1060-9857-
dc.identifier.urihttp://hdl.handle.net/10722/290707-
dc.descriptionSession 2 - Database Management Systems-
dc.description.abstractA key-value store live migration approach migrates key-value tuples and their client requests from an overloaded machine (source) to an idle machine (destination), while still serving client requests. Existing migration approaches fall into two categories. First, a source-driven approach (e.g., DrTM-B) executes all client requests on the source and incrementally propagates the updated key-value tuples to the destination. This approach has an inevitable downtime to completely propagate the updated tuples at the end of a migration. Second, a destination-driven approach (e.g., RockSteady) executes all read and write requests on the destination, and pulls tuples from source for read requests on-demand. This approach has zero downtime, but incurs extra network round-trips due to the on-demand pull, greatly increasing request latency. Overall, a live migration approach that has zero downtime and no performance degradation during the migration is highly desirable but missing. The key observation of our Fulva system is that the source and destination can cooperatively drive the migration and serve requests, and we need only to design an efficient protocol to ensure linearizability (i.e., reads see the updates from the latest writes). To this end, when a migration starts, Fulva works by three steps. First, all write requests are redirected to the destination. Second, each client program uses a Fulva's RPC library to track the migration progress. For read requests accessing the already-migrated tuples, Fulva RPC library sends the requests to the destination. Third, for read requests accessing not-yet-migrated tuples, Fulva sends to both machines. The first step avoids downtime because all updated tuples are already on the destination. The second and third steps avoid the on-demand pull and ensure linearizability, making Fulva efficient. We implemented Fulva using DPDK and integrated it with RAMCloud, a popular in-memory key-value store. We compared Fulva with two notable systems, RockSteady (destinationdriven approach) and RAMCloud’s default source-driven approach. Extensive evaluation shows that Fulva has much higher throughput and lower latency than the two systems, and Fulva’s network bandwidth usage is comparable with RockSteady. All Fulva’s source code and raw evaluation results are released on github.com/hku-systems/fulva.-
dc.languageeng-
dc.publisherIEEE, Computer Society. The Journal's web site is located at https://ieeexplore.ieee.org/xpl/conhome/1000628/all-proceedings-
dc.relation.ispartofSymposium on Reliable Distributed Systems (SRDS) Proceedings-
dc.rightsSymposium on Reliable Distributed Systems (SRDS) Proceedings. Copyright © IEEE, Computer Society.-
dc.rights©2019 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.-
dc.subjectclient-server systems-
dc.subjectsource code (software)-
dc.subjectstorage management-
dc.subjectvirtual machines-
dc.subjectvirtualisation-
dc.titleFulva: Efficient Live Migration for In-Memory Key-Value Stores with Zero Downtime-
dc.typeConference_Paper-
dc.identifier.emailCui, H: heming@cs.hku.hk-
dc.identifier.authorityCui, H=rp02008-
dc.description.naturelink_to_subscribed_fulltext-
dc.identifier.doi10.1109/SRDS47363.2019.00019-
dc.identifier.scopuseid_2-s2.0-85084126416-
dc.identifier.hkuros318347-
dc.identifier.hkuros305863-
dc.identifier.spage83-
dc.identifier.epage92-
dc.publisher.placeUnited States-

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats