Shard Manager: A Generic Shard Management Framework for Geo-distributed Applications

被引:10
|
作者
Lee, Sangmin [1 ]
Guo, Zhenhua [1 ]
Sunercan, Omer [1 ]
Ying, Jun [1 ]
Kooburat, Thawan [1 ]
Biswal, Suryadeep [1 ]
Chen, Jun [1 ]
Huang, Kun [1 ]
Cheung, Yatpang [1 ]
Zhou, Yiding [1 ]
Veeraraghavan, Kaushik [1 ]
Damani, Biren [1 ]
Ruiz, Pol Mauri [1 ]
Mehta, Vikas [1 ]
Tang, Chunqiang [1 ]
机构
[1] Facebook Inc, Menlo Pk, CA 94025 USA
关键词
shard management; sharding; availability;
D O I
10.1145/3477132.3483546
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Sharding is widely used to scale an application. Despite a decade of effort to build generic sharding frameworks that can be reused across different applications, the extent of their success remains unclear. We attempt to answer a fundamental question: what barriers prevent a sharding framework from getting adopted by the majority of sharded applications? We analyze hundreds of sharded applications at Facebook and identify two major barriers: 1) lack of support for geo-distributed applications, which account for most of Facebook's applications, and 2) inability to maintain application availability during planned events such as software upgrades, which happen similar to 1000 times more frequently than unplanned failures. A sharding framework that does not help applications to address these fundamental challenges is not sufficiently attractive for most applications to adopt it. Other adoption barriers include the burden of supporting many complex applications in a one-size-fit-all sharding framework and the difficulty in supporting sophisticated shard-placement requirements. Theoretically, a constraint solver can handle complex placement requirements, but in practice it is not scalable enough to perform near-realtime shard placement at a global scale. We have overcome these adoption barriers in Facebook's sharding framework called Shard Manager. Currently, Shard Manager is used by hundreds of applications running on over one million machines, which account for about 54% of all sharded applications at Facebook.
引用
收藏
页码:553 / 569
页数:17
相关论文
共 50 条
  • [21] Harmony: An Approach for Geo-distributed Processing of Big-Data Applications
    Zhang, Han
    Ramapantulu, Lavanya
    Teo, Yong Meng
    [J]. 2019 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2019, : 160 - 170
  • [22] Hierarchical Approach for Efficient Workload Management in Geo-Distributed Data Centers
    Forestiero, Agostino
    Mastroianni, Carlo
    Meo, Michela
    Papuzzo, Giuseppe
    Sheikhalishahi, Mehdi
    [J]. IEEE TRANSACTIONS ON GREEN COMMUNICATIONS AND NETWORKING, 2017, 1 (01): : 97 - 111
  • [23] An Instance Reservation Framework for Cost Effective Services in Geo-Distributed Data Centers
    Liu, Kaiyang
    Peng, Jun
    Yu, Boyang
    Liu, Weirong
    Huang, Zhiwu
    Pan, Jianping
    [J]. IEEE TRANSACTIONS ON SERVICES COMPUTING, 2021, 14 (02) : 356 - 370
  • [24] Hybrid Deep Learning Framework for Privacy Preservation in Geo-Distributed Data Centre
    Nithyanantham, S.
    Singaravel, G.
    [J]. INTELLIGENT AUTOMATION AND SOFT COMPUTING, 2022, 32 (03): : 1905 - 1919
  • [25] GA-Par: Dependable Microservice Orchestration Framework for Geo-Distributed Clouds
    Wen, Zhenyu
    Lin, Tao
    Yang, Renyu
    Ji, Shouling
    Ranjan, Rajiv
    Romanovsky, Alexander
    Lin, Changting
    Xu, Jie
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2020, 31 (01) : 129 - 143
  • [26] A Hierarchical Hadoop Framework to Handle Big Data in Geo-Distributed Computing Environments
    Tomarchio, Orazio
    Di Modica, Giuseppe
    Cavallo, Marco
    Polito, Carmelo
    [J]. INTERNATIONAL JOURNAL OF INFORMATION TECHNOLOGIES AND SYSTEMS APPROACH, 2018, 11 (01) : 16 - 47
  • [27] SDN-enabled Resource Provisioning Framework for Geo-Distributed Streaming Analytics
    Mostafaei, Habib
    Afridi, Shafi
    [J]. ACM TRANSACTIONS ON INTERNET TECHNOLOGY, 2023, 23 (01)
  • [28] Foundations of a generic framework for Distributed Applications
    Shamsi, J
    Abdu, H
    [J]. COMPUTERS AND THEIR APPLICATIONS, 2003, : 130 - 133
  • [29] A Framework of Hypergraph-Based Data Placement Among Geo-Distributed Datacenters
    Yu, Boyang
    Pan, Jianping
    [J]. IEEE TRANSACTIONS ON SERVICES COMPUTING, 2020, 13 (03) : 395 - 409
  • [30] Multi-level Elastic Deployment of Containerized Applications in Geo-distributed Environments
    Nardelli, Matteo
    Cardellini, Valeria
    Casalicchio, Emiliano
    [J]. 2018 IEEE 6TH INTERNATIONAL CONFERENCE ON FUTURE INTERNET OF THINGS AND CLOUD (FICLOUD 2018), 2018, : 1 - 8