Skip to main content

Distributed Data Load Balancing for Scalable Key-Value Cache Systems

  • Conference paper
  • First Online:
Book cover Advanced Computer Architecture (ACA 2018)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 908))

Included in the following conference series:

  • 895 Accesses

Abstract

In recent years, in-memory key-value cache systems have become increasingly popular in tackling real-time and interactive data processing tasks. Caching systems are often used to help with the temporary storage and processing of data. Due to skewed and dynamic workload patterns, e.g. data increase/decrease or request changes in read/write ratio, it can cause load imbalance and degrade performance of caching systems.

Migrating data is often essential for balancing load in distributed storage systems. However, it can be difficult to determine when to move data, where to move data, and how much data to move. This depends on the resources required, e.g. CPU, memory and bandwidth, as well as polices on data movement. Since frequent and global rebalance of systems may affect the QoS of applications utilizing caching systems, it is necessary to minimize system imbalances whilst considering the total migration cost. We propose a novel distributed load balancing method for the mainstream Cloud-based data framework (Redis Cluster). We show how distributed graph clustering through load balancing can be used to exploit varying rebalancing scenarios comprising local and global needs. During the rebalancing process, three phrases are adopted — random walk matching load balancing, local round-robin migration and data migration between the trigger node and new added servers. Our experiments show that the proposed approach can reduce migration time compared with other approach by 30s and load imbalance degree can be reduced by 4X when the locality degree reaches 50% whilst achieving high throughput.

Jiangsu Overseas Research & Training Program for University Prominent Young & Middle-aged Teachers and Presidents, Nanjing University of Posts and Telecommuncations Scientific Research Fund (NY215115).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Hong, Y., Thottethodi, M.: Understanding and mitigating the impact of load imbalance in the memory caching tier. In: Lohman, G.M. (ed.) ACM Symposium on Cloud Computing, SOCC 2013, Santa Clara, CA, USA, 1–3 October 2013, pp. 13:1–13:17. ACM (2013)

    Google Scholar 

  2. Cheng, Y., Gupta, A., Butt, A.R.: An in-memory object caching framework with adaptive load balancing. In: Réveillère, L., Harris, T., Herlihy, M. (eds.) Proceedings of the Tenth European Conference on Computer Systems, EuroSys 2015, Bordeaux, France, 21–24 April 2015, pp. 4:1–4:16. ACM (2015)

    Google Scholar 

  3. Karger, D.R., Lehman, E., Leighton, F.T., Panigrahy, R., Levine, M.S., Lewin, D.: Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the world wide web. In: Leighton, F.T., Shor, P.W. (eds.) Proceedings of the Twenty-Ninth Annual ACM Symposium on the Theory of Computing, El Paso, Texas, USA, 4–6 May 1997, pp. 654–663. ACM (1997)

    Google Scholar 

  4. Fan, B., Lim, H., Andersen, D.G., Kaminsky, M.: Small cache, big effect: provable load balancing for randomly partitioned cluster services. In: Chase, J.S., Abbadi, A.E. (eds.) ACM Symposium on Cloud Computing in Conjunction with SOSP 2011, SOCC 2011, Cascais, Portugal, 26–28 October 2011, p. 23. ACM (2011)

    Google Scholar 

  5. https://redis.io/topics. “Redis cluster specification,” Technical report (2018)

  6. Sun, H., Zanetti, L.: Distributed graph clustering by load balancing. In: Scheideler, C., Hajiaghayi, M.T. (eds.) Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2017, Washington DC, USA, 24–26 July 2017, pp. 163–171. ACM (2017)

    Google Scholar 

  7. Cooper, B.F., Silberstein, A., Tam, E., Ramakrishnan, R., Sears, R.: Benchmarking cloud serving systems with YCSB. In: Hellerstein, J.M., Chaudhuri, S., Rosenblum, M. (eds.) Proceedings of the 1st ACM Symposium on Cloud Computing, SoCC 2010, Indianapolis, Indiana, USA, 10–11 June 2010, pp. 143–154. ACM (2010)

    Google Scholar 

  8. Huang, Q., Gudmundsdottir, H., Vigfusson, Y., Freedman, D.A., Birman, K., van Renesse, R.: Characterizing load imbalance in real-world networked caches. In: Katz-Bassett, E., Heidemann, J.S., Godfrey, B., Feldmann, A. (eds.) Proceedings of the 13th ACM Workshop on Hot Topics in Networks, HotNets-XIII, Los Angeles, CA, USA, 27–28 October 2014, pp. 8:1–8:7. ACM (2014)

    Google Scholar 

  9. Paiva, J., Ruivo, P., Romano, P., Rodrigues, L.E.T.: AUTOPLACER: scalable self-tuning data placement in distributed key-value stores. TAAS 9(4), 19:1–19:30 (2014)

    Article  Google Scholar 

  10. Jin, X., et al.: NetCache: balancing key-value stores with fast in-network caching. In: SOSP (2017)

    Google Scholar 

  11. Zhang, W., Wood, T., Hwang, J.: NetKV: scalable, self-managing, load balancing as a network function. In: 2016 IEEE International Conference on Autonomic Computing (ICAC), pp. 5–14, July 2016

    Google Scholar 

  12. Fitzpatrick, B.: Distributed caching with memcached. Linux J. 2004(124), 5 (2004)

    Google Scholar 

  13. Atikoglu, B., Xu, Y., Frachtenberg, E., Jiang, S., Paleczny, M.: Workload analysis of a large-scale key-value store. In: Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE Joint International Conference on Measurement and Modeling of Computer Systems, ser. SIGMETRICS 2012, pp. 53–64. ACM, New York (2012)

    Google Scholar 

  14. Sevilla, M.A., et al.: Mantle: a programmable metadata load balancer for the ceph file system. In: Kern, J., Vetter, J.S. (eds.) Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2015, Austin, TX, USA, 15–20 November 2015, pp. 21:1–21:12. ACM (2015)

    Google Scholar 

  15. Huq, S., Shafiq, Z., Ghosh, S., Khakpour, A., Bedi, H.: Distributed load balancing in key-value networked caches. In: Proceedings of IEEE 37th International Conference on Distributed Computing Systems (ICDCS), pp. 583–593, June 2017

    Google Scholar 

  16. Noghabi, S.A., et al.: Ambry: Linkedin’s scalable geo-distributed object store. In: Proceedings of the 2016 International Conference on Management of Data, ser. SIGMOD 2016, pp. 253–265. ACM, New York (2016). https://doi.org/10.1145/2882903.2903738

  17. Jia, Y., Brondino, I., Jiménez-Peris, R., Patiño-Martínez, M., Ma, D.: A multi-resource load balancing algorithm for cloud cache systems. In: Shin, S.Y., Maldonado, J.C. (eds.) Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC 2013, Coimbra, Portugal, 18–22 March 2013, pp. 463–470. ACM (2013)

    Google Scholar 

  18. Novakovic, S., Daglis, A., Bugnion, E., Falsafi, B., Grot, B.: The case for RackOut: scalable data serving using rack-scale systems. In: Aguilera, M.K., Cooper, B., Diao, Y. (eds.) Proceedings of the Seventh ACM Symposium on Cloud Computing, Santa Clara, CA, USA, 5–7 October 2016, pp. 182–195. ACM (2016)

    Google Scholar 

  19. Menon, H., Chandrasekar, K., Kalé, L.V.: POSTER: automated load balancer selection based on application characteristics. In: Sarkar, V., Rauchwerger, L. (eds.) Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Austin, TX, USA, 4–8 February 2017, pp. 447–448. ACM (2017). http://dl.acm.org/citation.cfm?id=3019033

  20. Saino, L., Psaras, I., Pavlou, G.: Understanding sharded caching systems. In: Proceedings of IEEE INFOCOM 2016 - the 35th Annual IEEE International Conference on Computer Communications, pp. 1–9, April 2016

    Google Scholar 

Download references

Acknowledgment

The authors would like to thank the anonymous reviewers for their valuable comments. This work is partially sponsored by the National Basic Research 973 Program of China (No. 2015CB352403), the National Natural Science Foundation of China (NSFC) (No. 61402014, No. 63100240, No. 61572263), the Natural Science Foundation of Jiangsu Province (BK20151511) and Nanjing University of Posts and Telecommunications Scientific Research Fund (NY215115).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shanshan Chen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Chen, S., Zhou, X., Zhou, G., Sinnott, R.O. (2018). Distributed Data Load Balancing for Scalable Key-Value Cache Systems. In: Li, C., Wu, J. (eds) Advanced Computer Architecture. ACA 2018. Communications in Computer and Information Science, vol 908. Springer, Singapore. https://doi.org/10.1007/978-981-13-2423-9_14

Download citation

  • DOI: https://doi.org/10.1007/978-981-13-2423-9_14

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-13-2422-2

  • Online ISBN: 978-981-13-2423-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics