Load Imbalance and Caching Performance of Sharded Systems
- Resource Type
- Authors
- Ioannis Psaras; Emilio Leonardi; Lorenzo Saino; George Pavlou
- Source
- IEEE/ACM Transactions on Networking. 28:112-125
- Subject
- Computer Networks and Communications
Computer science
business.industry
Distributed computing
Hash function
020206 networking & telecommunications
02 engineering and technology
caching, sharding, load-balancing
Load balancing (computing)
Computer Science Applications
load-balancing
caching
sharding
Computer data storage
0202 electrical engineering, electronic engineering, information engineering
Electrical and Electronic Engineering
business
Software
- Language
- ISSN
- 1558-2566
1063-6692
Sharding is a method for allocating data items to nodes of a distributed caching or storage system based on the result of a hash function computed on the item’s identifier. It is ubiquitously used in key-value stores, CDNs and many other applications. Despite considerable work that has focused on the design and implementation of such systems, there is limited understanding of their performance in realistic operational conditions from a theoretical standpoint. In this paper we fill this gap by providing a thorough modeling of sharded caching systems, focusing particularly on load balancing and caching performance aspects. Our analysis provides important insights that can be applied to optimize the design and configuration of sharded caching systems.