{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T13:51:50Z","timestamp":1740145910973,"version":"3.37.3"},"reference-count":71,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2019,10,30]],"date-time":"2019-10-30T00:00:00Z","timestamp":1572393600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2019,10,30]],"date-time":"2019-10-30T00:00:00Z","timestamp":1572393600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Braz Comput Soc"],"published-print":{"date-parts":[[2019,12]]},"abstract":"<jats:title>Abstract<\/jats:title>\n              <jats:p>Consistency properties provided by <jats:italic>most<\/jats:italic> key-value stores can be classified into sequential consistency and eventual consistency. The former is easier to program with but suffers from lower performance whereas the latter suffers from potential anomalies while providing higher performance. We focus on the problem of what a designer should do if he\/she has an algorithm that works correctly with sequential consistency but is faced with an underlying key-value store that provides a weaker (e.g., eventual or causal) consistency. We propose a detect-rollback based approach: The designer identifies a correctness predicate, say <jats:italic>P<\/jats:italic>, and continues to run the protocol, as our system monitors <jats:italic>P<\/jats:italic>. If <jats:italic>P<\/jats:italic> is violated (because the underlying key-value store provides a weaker consistency), the system rolls back and resumes the computation at a state where <jats:italic>P<\/jats:italic> holds.We evaluate this approach with graph-based applications running on the Voldemort key-value store. Our experiments with deployment on Amazon AWS EC2 instances show that using eventual consistency with monitoring can provide a 50\u201380% increase in throughput when compared with sequential consistency. We also observe that the overhead of the monitoring itself was low (typically less than 4%) and the latency of detecting violations was small. In particular, in a scenario designed to intentionally cause a large number of violations, more than 99.9<jats:italic>%<\/jats:italic> of violations were detected in less than 50\u2009ms in regional networks (all clients and servers in the same Amazon AWS region) and in less than 3\u2009s in global networks.We find that for some applications, frequent rollback can cause the program using eventual consistency to effectively <jats:italic>stall<\/jats:italic>. We propose alternate mechanisms for dealing with re-occurring rollbacks. Overall, for applications considered in this paper, we find that even with rollback, eventual consistency provides better performance than using sequential consistency.<\/jats:p>","DOI":"10.1186\/s13173-019-0091-9","type":"journal-article","created":{"date-parts":[[2019,10,30]],"date-time":"2019-10-30T20:34:53Z","timestamp":1572467693000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Using weaker consistency models with monitoring and recovery for improving performance of key-value stores"],"prefix":"10.1186","volume":"25","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4894-5217","authenticated-orcid":false,"given":"Duong","family":"Nguyen","sequence":"first","affiliation":[]},{"given":"Aleksey","family":"Charapko","sequence":"additional","affiliation":[]},{"given":"Sandeep S.","family":"Kulkarni","sequence":"additional","affiliation":[]},{"given":"Murat","family":"Demirbas","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,10,30]]},"reference":[{"key":"91_CR1","doi-asserted-by":"publisher","unstructured":"DeCandia G, Hastorun D, Jampani M, Kakulapati G, Lakshman A, Pilchin A, Sivasubramanian S, Vosshall P, Vogels W (2007) Dynamo: Amazon\u2019s highly available key-value store In: Proceedings of Twenty-first ACM SIGOPS Symposium on Operating Systems Principles, SOSP \u201907, 205\u2013220.. ACM, New York. \n                    https:\/\/doi.org\/10.1145\/1294261.1294281\n                    \n                  .","DOI":"10.1145\/1294261.1294281"},{"key":"91_CR2","doi-asserted-by":"publisher","unstructured":"Brewer EA (2000) Towards robust distributed systems (abstract) In: Proceedings of the Nineteenth Annual ACM Symposium on Principles of Distributed Computing, PODC \u201900, 7.. ACM, New York. \n                    https:\/\/doi.org\/10.1145\/343477.343502\n                    \n                  .","DOI":"10.1145\/343477.343502"},{"issue":"2","key":"91_CR3","doi-asserted-by":"publisher","first-page":"51","DOI":"10.1145\/564585.564601","volume":"33","author":"Seth Gilbert","year":"2002","unstructured":"Gilbert S, Lynch N (2002) Brewer\u2019s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2):51\u201359. \n                    https:\/\/doi.org\/10.1145\/564585.564601\n                    \n                  .","journal-title":"ACM SIGACT News"},{"key":"91_CR4","doi-asserted-by":"publisher","unstructured":"Du J, Iorgulescu C, Roy A, Zwaenepoel W (2014) Gentlerain: cheap and scalable causal consistency with physical clocks In: Proceedings of the ACM Symposium on Cloud Computing, SOCC \u201914, 4\u20131413.. ACM, New York. \n                    https:\/\/doi.org\/10.1145\/2670979.2670983\n                    \n                  .","DOI":"10.1145\/2670979.2670983"},{"key":"91_CR5","doi-asserted-by":"publisher","unstructured":"Lloyd W, Freedman MJ, Kaminsky M, Andersen DG (2011) Don\u2019t settle for eventual: Scalable causal consistency for wide-area storage with COPS In: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, SOSP \u201911, 401\u2013416.. ACM, New York. \n                    https:\/\/doi.org\/10.1145\/2043556.2043593\n                    \n                  .","DOI":"10.1145\/2043556.2043593"},{"key":"91_CR6","doi-asserted-by":"crossref","unstructured":"Roohitavaf M, Demirbas M, Kulkarni SS (2017) Causalspartan: Causal consistency for distributed data stores using hybrid logical clocks In: 36th IEEE Symposium on Reliable Distributed Systems, SRDS 2017, Hongkong, China, September 26 - 29, 2017, 184\u2013193.","DOI":"10.1109\/SRDS.2017.27"},{"issue":"2","key":"91_CR7","doi-asserted-by":"publisher","first-page":"35","DOI":"10.1145\/1773912.1773922","volume":"44","author":"A Lakshman","year":"2010","unstructured":"Lakshman A, Malik P (2010) Cassandra: a decentralized structured storage system. ACM SIGOPS Oper Syst Rev 44(2):35\u201340.","journal-title":"ACM SIGOPS Oper Syst Rev"},{"key":"91_CR8","unstructured":"Project Voldemort. \n                    http:\/\/www.project-voldemort.com\/voldemort\/quickstart.html\n                    \n                  . Accessed 14 July 2019."},{"key":"91_CR9","unstructured":"Sumbaly R, Kreps J, Gao L, Feinberg A, Soman C, Shah S (2012) Serving large-scale batch computed data with project voldemort In: Proceedings of the 10th USENIX Conference on File and Storage Technologies, 18\u201318.. USENIX Association."},{"key":"91_CR10","first-page":"202","volume-title":"Proceedings of the International Conference on Parallel Processing and Applied Mathematics-Revised Papers, PPAM \u201901","author":"J Brzezinski","year":"2002","unstructured":"Brzezinski J, Wawrzyniak D (2002) Consistency requirements of Peterson\u2019s algorithm for mutual exclusion of N processes in a distributed shared memory system In: Proceedings of the International Conference on Parallel Processing and Applied Mathematics-Revised Papers, PPAM \u201901, 202\u2013209.. Springer, London."},{"key":"91_CR11","doi-asserted-by":"crossref","unstructured":"Charapko A, Ailijiang A, Demirbas M, Kulkarni S (2017) Retrospective lightweight distributed snapshots using loosely synchronized clocks In: Distributed Computing Systems (ICDCS), 2017 IEEE 37th International Conference On, 2061\u20132066.. IEEE.","DOI":"10.1109\/ICDCS.2017.273"},{"key":"91_CR12","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4613-1321-2","volume-title":"Principles of Distributed Systems","author":"VK Garg","year":"1996","unstructured":"Garg VK (1996) Principles of Distributed Systems. Kluwer, Norwell."},{"key":"91_CR13","unstructured":"Garg VK, Chase CM (1995) Distributed algorithms for detecting conjunctive predicates In: Distributed Computing Systems, 1995., Proceedings of the 15th International Conference On, 423\u2013430.. IEEE."},{"issue":"4","key":"91_CR14","doi-asserted-by":"publisher","first-page":"191","DOI":"10.1007\/s004460050049","volume":"11","author":"CM Chase","year":"1998","unstructured":"Chase CM, Garg VK (1998) Detection of global predicates: techniques and their limitations. Distrib Comput 11(4):191\u2013201.","journal-title":"Distrib Comput"},{"key":"91_CR15","doi-asserted-by":"publisher","unstructured":"Nguyen D (2019) Supplementary dataset and source code for the paper \u201cUsing Weaker Consistency Models with Monitoring and Recovery for Improving Performance of Key-Value Stores\u201d. \n                    https:\/\/doi.org\/10.5281\/zenodo.3338381\n                    \n                  .","DOI":"10.5281\/zenodo.3338381"},{"issue":"7","key":"91_CR16","doi-asserted-by":"publisher","first-page":"558","DOI":"10.1145\/359545.359563","volume":"21","author":"Leslie Lamport","year":"1978","unstructured":"Lamport L (1978) Time, clocks, and the ordering of events in a distributed system. Commun ACM 21(7):558\u2013565. \n                    https:\/\/doi.org\/10.1145\/359545.359563\n                    \n                  .","journal-title":"Communications of the ACM"},{"issue":"2","key":"91_CR17","doi-asserted-by":"publisher","first-page":"85","DOI":"10.1007\/s004460050069","volume":"13","author":"SD Stoller","year":"2000","unstructured":"Stoller SD (2000) Detecting global predicates in distributed systems with clocks. Distrib Comput 13(2):85\u201398.","journal-title":"Distrib Comput"},{"key":"91_CR18","doi-asserted-by":"crossref","unstructured":"Marzullo K, Neiger G (1991) Detection of global state predicates In: International Workshop on Distributed Algorithms, 254\u2013272.. Springer.","DOI":"10.1007\/BFb0022452"},{"key":"91_CR19","unstructured":"Fidge CJ (1988) Timestamps in message-passing systems that preserve the partial ordering. In: Raymond K (ed)Proceedings of the 11th Australian Computer Science Conference (ACSC), 56\u201366."},{"issue":"23","key":"91_CR20","first-page":"215","volume":"1","author":"F Mattern","year":"1989","unstructured":"Mattern F (1989) Virtual time and global states of distributed systems. Parallel Distrib Algoritm 1(23):215\u2013226.","journal-title":"Parallel Distrib Algoritm"},{"key":"91_CR21","unstructured":"Demirbas M, Kulkarni S (2013) Beyond truetime: using augmentedtime for improving google spanner In: Workshop on Large-Scale Distributed Systems and Middleware (LADIS)."},{"issue":"3","key":"91_CR22","doi-asserted-by":"publisher","first-page":"299","DOI":"10.1109\/71.277788","volume":"5","author":"VK Garg","year":"1994","unstructured":"Garg VK, Waldecker B (1994) Detection of weak unstable predicates in distributed programs. IEEE Trans Parallel Distrib Syst 5(3):299\u2013307.","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"91_CR23","doi-asserted-by":"publisher","unstructured":"Nguyen DN, Kulkarni SS, Datta AK (2019) Benefit of self-stabilizing protocols in eventually consistent key-value stores: a case study In: Proceedings of the 20th International Conference on Distributed Computing and Networking, ICDCN 2019, Bangalore, India, January 04-07, 2019, 148\u2013157. \n                    https:\/\/doi.org\/10.1145\/3288599.3288609\n                    \n                  .","DOI":"10.1145\/3288599.3288609"},{"key":"91_CR24","unstructured":"Bovy C, Mertodimedjo H, Hooghiemstra G, Uijterwaal H, Van Mieghem P (2002) Analysis of end-to-end delay measurements in internet In: Proc. of the Passive and Active Measurement Workshop-PAM, vol 2002. sn."},{"key":"91_CR25","unstructured":"(2013) NIST\/SEMATECH e-Handbook of Statistical Methods. \n                    http:\/\/www.itl.nist.gov\/div898\/handbook\/eda\/section3\/eda366b.htm\n                    \n                  . Accessed 14 July 2019."},{"key":"91_CR26","unstructured":"Overview of NetworkX. \n                    http:\/\/https:\/\/networkx.github.io\/documentation\/stable\/\n                    \n                  . Accessed 24 Mar 2019."},{"key":"91_CR27","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-38123-2","volume-title":"Distributed Algorithms for message-passing systems","author":"M Raynal","year":"2013","unstructured":"Raynal M (2013) Distributed Algorithms for message-passing systems. Springer, New York."},{"key":"91_CR28","doi-asserted-by":"publisher","first-page":"1217","DOI":"10.1016\/j.procs.2013.05.288","volume":"18","author":"B Fjukstad","year":"2013","unstructured":"Fjukstad B, Bj\u00f8rndalen JM, Anshus O (2013) Embarrassingly distributed computing for symbiotic weather forecasts. Procedia Comput Sci 18:1217\u20131225.","journal-title":"Procedia Comput Sci"},{"key":"91_CR29","doi-asserted-by":"crossref","unstructured":"Prakash R, Shivaratri NG, Singhal M (1995) Distributed dynamic channel allocation for mobile computing In: Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, 47\u201356.. ACM.","DOI":"10.1145\/224964.224970"},{"key":"91_CR30","unstructured":"N\u00fanez-Rodr\u0131guez Y, Xiao H, Islam K, Alsalih W (2008) A distributed algorithm for computing voronoi diagram in the unit disk graph model In: Proc. 20th Canadian Conference in Computational Geometry (CCCG\u201908), 199\u2013202."},{"key":"91_CR31","doi-asserted-by":"crossref","unstructured":"Ranger C, Raghuraman R, Penmetsa A, Bradski G, Kozyrakis C (2007) Evaluating mapreduce for multi-core and multiprocessor systems In: High Performance Computer Architecture, 2007. HPCA 2007. IEEE 13th International Symposium On, 13\u201324.. IEEE.","DOI":"10.1109\/HPCA.2007.346181"},{"key":"91_CR32","doi-asserted-by":"crossref","unstructured":"Blanas S, Patel JM, Ercegovac V, Rao J, Shekita EJ, Tian Y (2010) A comparison of join algorithms for log processing in mapreduce In: Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data, 975\u2013986.. ACM.","DOI":"10.1145\/1807167.1807273"},{"key":"91_CR33","doi-asserted-by":"crossref","unstructured":"Yingchareonthawornchai S, Nguyen D, Valapil VT, Kulkarni SS, Demirbas M (2016) Precision, recall, and sensitivity of monitoring partially synchronous distributed systems In: Runtime Verification, 20\u201330.. Springer.","DOI":"10.1007\/978-3-319-46982-9_26"},{"issue":"6","key":"91_CR34","doi-asserted-by":"publisher","first-page":"205","DOI":"10.1145\/1323293.1294281","volume":"41","author":"G DeCandia","year":"2007","unstructured":"DeCandia G, Hastorun D, Jampani M, Kakulapati G, Lakshman A, Pilchin A, Sivasubramanian S, Vosshall P, Vogels W (2007) Dynamo: amazon\u2019s highly available key-value store. ACM SIGOPS Oper Syst Rev 41(6):205\u2013220.","journal-title":"ACM SIGOPS Oper Syst Rev"},{"issue":"1","key":"91_CR35","doi-asserted-by":"publisher","first-page":"63","DOI":"10.1145\/214451.214456","volume":"3","author":"K. Mani Chandy","year":"1985","unstructured":"Chandy KM, Lamport L (1985) Distributed snapshots: determining global states of distributed systems. ACM Trans Comput Syst 3(1):63\u201375. \n                    https:\/\/doi.org\/10.1145\/214451.214456\n                    \n                  .","journal-title":"ACM Transactions on Computer Systems"},{"key":"91_CR36","doi-asserted-by":"crossref","unstructured":"Garg VK, Waldecker B (1992) Detection of unstable predicates in distributed programs In: International Conference on Foundations of Software Technology and Theoretical Computer Science, 253\u2013264.. Springer.","DOI":"10.1007\/3-540-56287-7_110"},{"issue":"12","key":"91_CR37","doi-asserted-by":"publisher","first-page":"1323","DOI":"10.1109\/71.553309","volume":"7","author":"VK Garg","year":"1996","unstructured":"Garg VK, Waldecker B (1996) Detection of strong unstable predicates in distributed programs. IEEE Trans Parallel Distrib Syst 7(12):1323\u20131333.","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"91_CR38","unstructured":"Garg VK, Chase CM, Mitchell JR, Kilgore R (1995) Conjunctive predicate detection In: Proceedings Hawaii International Conference on System Sciences HICSS95 (January 1995), IEEE Computer Society.. Citeseer."},{"key":"91_CR39","doi-asserted-by":"crossref","unstructured":"Stoller SD, Unnikrishnan L, Liu YA (2000) Efficient detection of global properties in distributed systems using partial-order methods In: International Conference on Computer Aided Verification, 264\u2013279.. Springer.","DOI":"10.1007\/10722167_22"},{"issue":"3","key":"91_CR40","doi-asserted-by":"publisher","first-page":"251","DOI":"10.1007\/s00446-004-0117-0","volume":"17","author":"N Mittal","year":"2005","unstructured":"Mittal N, Garg VK (2005) Techniques and applications of computation slicing. Distrib Comput 17(3):251\u2013277.","journal-title":"Distrib Comput"},{"key":"91_CR41","doi-asserted-by":"crossref","unstructured":"Chauhan H, Garg VK, Natarajan A, Mittal N (2013) A distributed abstraction algorithm for online predicate detection In: 2013 IEEE 32nd International Symposium on Reliable Distributed Systems, 101\u2013110.. IEEE.","DOI":"10.1109\/SRDS.2013.19"},{"key":"91_CR42","doi-asserted-by":"crossref","unstructured":"Wang X, Mayo J, Hembroff G, Gao C (2009) Detection of conjunctive stable predicates in dynamic systems In: Parallel and Distributed Systems (ICPADS), 2009 15th International Conference On, 828\u2013835.. IEEE.","DOI":"10.1109\/ICPADS.2009.66"},{"key":"91_CR43","doi-asserted-by":"crossref","unstructured":"Wang X, Mayo J, Hembroff GC (2010) Detection of a weak conjunction of unstable predicates in dynamic systems In: Parallel and Distributed Systems (ICPADS), 2010 IEEE 16th International Conference On, 338\u2013346.. IEEE.","DOI":"10.1109\/ICPADS.2010.80"},{"key":"#cr-split#-91_CR44.1","unstructured":"Valapil VT, Kulkarni SS (2018) Biased clocks: a novel approach to improve the ability to perform predicate detection with O"},{"key":"#cr-split#-91_CR44.2","unstructured":"(1) clocks In: Structural Information and Communication Complexity - 25th International Colloquium, SIROCCO 2018, Ma'ale HaHamisha, Israel, June 18-21, 2018, Revised Selected Papers, 345-360."},{"key":"91_CR45","doi-asserted-by":"crossref","unstructured":"Valapil VT, Yingchareonthawornchai S, Kulkarni SS, Torng E, Demirbas M (2017) Monitoring partially synchronous distributed systems using SMT solvers In: Runtime Verification - 17th International Conference, RV 2017, Seattle, WA, USA, September 13-16, 2017, Proceedings, 277\u2013293.","DOI":"10.1007\/978-3-319-67531-2_17"},{"key":"91_CR46","unstructured":"Ramabaja L (2019) The bloom clock. CoRR abs\/1905.13064. http:\/\/arxiv.org\/abs\/1905.13064."},{"key":"91_CR47","unstructured":"Azure Cosmos DB \u2013 Globally Distributed Database Service. \n                    https:\/\/azure.microsoft.com\/en-us\/services\/cosmos-db\/?v=17.45b\n                    \n                  . Accessed 10 Dec 2017."},{"key":"91_CR48","unstructured":"Amazon DynamoDB \u2013 a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications. \n                    http:\/\/www.allthingsdistributed.com\/2012\/01\/amazon-dynamodb.html\n                    \n                  . Accessed 10 Dec 2017."},{"issue":"3","key":"91_CR49","doi-asserted-by":"publisher","first-page":"8","DOI":"10.1145\/2518037.2491245","volume":"31","author":"JC Corbett","year":"2013","unstructured":"Corbett JC, Dean J, Epstein M, Fikes A, Frost C, Furman JJ, Ghemawat S, Gubarev A, Heiser C, Hochschild P, et al. (2013) Spanner: Google\u2019s globally distributed database. ACM Trans Comput Syst (TOCS) 31(3):8.","journal-title":"ACM Trans Comput Syst (TOCS)"},{"issue":"2","key":"91_CR50","doi-asserted-by":"publisher","first-page":"4","DOI":"10.1145\/1365815.1365816","volume":"26","author":"F Chang","year":"2008","unstructured":"Chang F, Dean J, Ghemawat S, Hsieh WC, Wallach DA, Burrows M, Chandra T, Fikes A, Gruber RE (2008) Bigtable: a distributed storage system for structured data. ACM Trans Comput Syst (TOCS) 26(2):4.","journal-title":"ACM Trans Comput Syst (TOCS)"},{"key":"91_CR51","unstructured":"Bronson N, Amsden Z, Cabrera G, Chakka P, Dimov P, Ding H, Ferris J, Giardullo A, Kulkarni S, Li HC, et al. (2013) Tao: Facebook\u2019s distributed data store for the social graph In: USENIX Annual Technical Conference, 49\u201360."},{"issue":"12","key":"91_CR52","doi-asserted-by":"publisher","first-page":"1816","DOI":"10.14778\/2824032.2824078","volume":"8","author":"T Pelkonen","year":"2015","unstructured":"Pelkonen T, Franklin S, Teller J, Cavallaro P, Huang Q, Meza J, Veeraraghavan K (2015) Gorilla: a fast, scalable, in-memory time series database. Proc VLDB Endowment 8(12):1816\u20131827.","journal-title":"Proc VLDB Endowment"},{"key":"91_CR53","doi-asserted-by":"publisher","unstructured":"Bisson T, Chen K, Choi C, Balakrishnan V, Kee Y (2018) Crail-kv: A high-performance distributed key-value store leveraging native kv-ssds over nvme-of In: 2018 IEEE 37th International Performance Computing and Communications Conference (IPCCC), 1\u20138. \n                    https:\/\/doi.org\/10.1109\/PCCC.2018.8710776\n                    \n                  .","DOI":"10.1109\/PCCC.2018.8710776"},{"issue":"1","key":"91_CR54","first-page":"38","volume":"40","author":"P Stuedi","year":"2017","unstructured":"Stuedi P, Trivedi A, Pfefferle J, Stoica R, Metzler B, Ioannou N, Koltsidas I (2017) Crail: A high-performance I\/O architecture for distributed data processing. IEEE Data Eng Bull 40(1):38\u201349.","journal-title":"IEEE Data Eng Bull"},{"key":"91_CR55","unstructured":"Aldin HNS, Deldari H, Moattar MH, Ghods MR (2019) Consistency models in distributed systems: a survey on definitions, disciplines, challenges and applications. CoRR abs\/1902.03305."},{"key":"91_CR56","doi-asserted-by":"crossref","unstructured":"Kokocinski M, Kobus T, Wojciechowski PT (2019) On mixing eventual and strong consistency: Bayou revisited. CoRR abs\/1905.11762.","DOI":"10.1145\/3293611.3331583"},{"key":"91_CR57","doi-asserted-by":"publisher","unstructured":"Sidhanta S, Mukhopadhyay S, Golab W (2019) Consistify: preserving correctness and sla under weak consistency In: Proceedings of the 20th International Conference on Distributed Computing and Networking, ICDCN \u201919, 282\u2013291.. ACM, New York. \n                    https:\/\/doi.org\/10.1145\/3288599.3288630\n                    \n                  . \n                    http:\/\/doi.acm.org\/10.1145\/3288599.3288630\n                    \n                  .","DOI":"10.1145\/3288599.3288630"},{"key":"91_CR58","doi-asserted-by":"crossref","unstructured":"Song W, Gkountouvas T, Birman K, Chen Q, Xiao Z (2016) The freeze-frame file system In: SoCC, 307\u2013320.","DOI":"10.1145\/2987550.2987578"},{"key":"91_CR59","unstructured":"Devecsery D, Chow M, Dou X, Flinn J, Chen PM (2014) Eidetic systems In: 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), 525\u2013540."},{"key":"91_CR60","doi-asserted-by":"crossref","unstructured":"Chirigati F, Sim\u00e9on J, Hirzel M, Freire J (2016) Virtual lightweight snapshots for consistent analytics in nosql stores In: Data Engineering (ICDE), 2016 IEEE 32nd International Conference On, 1310\u20131321.. IEEE.","DOI":"10.1109\/ICDE.2016.7498334"},{"issue":"1","key":"91_CR61","doi-asserted-by":"publisher","first-page":"107","DOI":"10.1145\/1327452.1327492","volume":"51","author":"J Dean","year":"2008","unstructured":"Dean J, Ghemawat S (2008) Mapreduce: simplified data processing on large clusters. Commun ACM 51(1):107\u2013113.","journal-title":"Commun ACM"},{"issue":"12","key":"91_CR62","doi-asserted-by":"publisher","first-page":"1792","DOI":"10.14778\/2824032.2824076","volume":"8","author":"T Akidau","year":"2015","unstructured":"Akidau T, Bradshaw R, Chambers C, Chernyak S, Fern\u00e1ndez-Moctezuma RJ, Lax R, McVeety S, Mills D, Perry F, Schmidt E, et al. (2015) The dataflow model: a practical approach to balancing correctness, latency, and cost in massive-scale, unbounded, out-of-order data processing. Proc VLDB Endowment 8(12):1792\u20131803.","journal-title":"Proc VLDB Endowment"},{"key":"91_CR63","doi-asserted-by":"crossref","unstructured":"Malewicz G, Austern MH, Bik AJ, Dehnert JC, Horn I, Leiser N, Czajkowski G (2010) Pregel: a system for large-scale graph processing In: Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data, 135\u2013146.. ACM.","DOI":"10.1145\/1807167.1807184"},{"issue":"8","key":"91_CR64","doi-asserted-by":"publisher","first-page":"716","DOI":"10.14778\/2212351.2212354","volume":"5","author":"Y Low","year":"2012","unstructured":"Low Y, Bickson D, Gonzalez J, Guestrin C, Kyrola A, Hellerstein JM (2012) Distributed graphlab: a framework for machine learning and data mining in the cloud. Proc VLDB Endowment 5(8):716\u2013727.","journal-title":"Proc VLDB Endowment"},{"key":"91_CR65","unstructured":"Gonzalez JE, Xin RS, Dave A, Crankshaw D, Franklin MJ, Stoica I (2014) Graphx: graph processing in a distributed dataflow framework In: OSDI, 599\u2013613."},{"key":"91_CR66","unstructured":"Gonzalez JE, Low Y, Gu H, Bickson D, Guestrin C (2012) Powergraph: distributed graph-parallel computation on natural graphs In: OSDI, vol 12, 2."},{"key":"91_CR67","doi-asserted-by":"crossref","unstructured":"Ghemawat S, Gobioff H, Leung S (2003) The Google file system In: Proceedings of the 19th ACM Symposium on Operating Systems Principles 2003, SOSP 2003, Bolton Landing, NY, USA, October 19-22, 2003, 29\u201343.","DOI":"10.1145\/1165389.945450"},{"issue":"2","key":"91_CR68","doi-asserted-by":"publisher","first-page":"4","DOI":"10.1145\/1365815.1365816","volume":"26","author":"F Chang","year":"2008","unstructured":"Chang F, Dean J, Ghemawat S, Hsieh WC, Wallach DA, Burrows M, Chandra T, Fikes A, Gruber RE (2008) Bigtable: a distributed storage system for structured data. ACM Trans Comput Syst (TOCS) 26(2):4.","journal-title":"ACM Trans Comput Syst (TOCS)"},{"key":"91_CR69","unstructured":"Zaharia M, Chowdhury M, Das T, Dave A, Ma J, McCauley M, Franklin MJ, Shenker S, Stoica I (2012) Resilient distributed datasets: a fault-tolerant abstraction for in-memory cluster computing In: Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation, 2\u20132.. USENIX Association."},{"key":"91_CR70","doi-asserted-by":"crossref","unstructured":"Nguyen D, Charapko A, Kulkarni S, Demirbas MUsing weaker consistency models with monitoring and recovery for improving performance of key-value stores In: The 8th Latin-American Symposium on Dependable Computing, LADC 2018, Foz do Igua\u00e7u, Brazil, October 08-10, 2018.","DOI":"10.1109\/LADC.2018.00017"}],"container-title":["Journal of the Brazilian Computer Society"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1186\/s13173-019-0091-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1186\/s13173-019-0091-9\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1186\/s13173-019-0091-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,8,13]],"date-time":"2024-08-13T10:46:08Z","timestamp":1723545968000},"score":1,"resource":{"primary":{"URL":"https:\/\/journal-bcs.springeropen.com\/articles\/10.1186\/s13173-019-0091-9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,30]]},"references-count":71,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2019,12]]}},"alternative-id":["91"],"URL":"https:\/\/doi.org\/10.1186\/s13173-019-0091-9","relation":{},"ISSN":["0104-6500","1678-4804"],"issn-type":[{"type":"print","value":"0104-6500"},{"type":"electronic","value":"1678-4804"}],"subject":[],"published":{"date-parts":[[2019,10,30]]},"assertion":[{"value":"4 April 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"9 September 2019","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"30 October 2019","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"The authors declare that they have no competing interests.","order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Competing interests"}}],"article-number":"10"}}