首页 > 最新文献

Operating Systems Review (ACM)最新文献

英文 中文
Enabling Practical Cloud Performance Debugging with Unsupervised Learning 使用无监督学习实现实用的云性能调试
Q3 Computer Science Pub Date : 2022-06-14 DOI: 10.1145/3544497.3544503
Yu Gan, Mingyu Liang, Sundar Dev, David Lo, Christina Delimitrou
Abstract-Cloud applications are increasingly shifting from large monolithic services to complex graphs of loosely-coupled microservices. Despite their benefits, microservices are prone to cascading performance issues, and can lead to prolonged periods of degraded performance. We present Sage, a machine learning-driven root cause analysis system for interactive cloud microservices that is both accurate and practical. We show that Sage correctly identifies the root causes of performance issues across a diverse set of microservices and takes action to address them, leading to more predictable, performant, and efficient cloud systems.
摘要云应用程序正越来越多地从大型单片服务转向松散耦合微服务的复杂图。尽管微服务有好处,但它们容易出现级联性能问题,并可能导致长时间的性能下降。我们介绍了Sage,一个用于交互式云微服务的机器学习驱动的根本原因分析系统,它既准确又实用。我们表明,Sage能够正确识别各种微服务性能问题的根本原因,并采取行动解决这些问题,从而实现更可预测、更高性能、更高效的云系统。
{"title":"Enabling Practical Cloud Performance Debugging with Unsupervised Learning","authors":"Yu Gan, Mingyu Liang, Sundar Dev, David Lo, Christina Delimitrou","doi":"10.1145/3544497.3544503","DOIUrl":"https://doi.org/10.1145/3544497.3544503","url":null,"abstract":"Abstract-Cloud applications are increasingly shifting from large monolithic services to complex graphs of loosely-coupled microservices. Despite their benefits, microservices are prone to cascading performance issues, and can lead to prolonged periods of degraded performance. We present Sage, a machine learning-driven root cause analysis system for interactive cloud microservices that is both accurate and practical. We show that Sage correctly identifies the root causes of performance issues across a diverse set of microservices and takes action to address them, leading to more predictable, performant, and efficient cloud systems.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"56 1","pages":"34 - 41"},"PeriodicalIF":0.0,"publicationDate":"2022-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44298865","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Pharos Pharos
Q3 Computer Science Pub Date : 2022-06-14 DOI: 10.1145/3544497.3544505
Srinivas Vippagunta, Ken Finnigan, K. Pusukuri
Observability is a necessary capability of modern distributed systems as it allows us to gain actionable insights about reliability, availability, performance, etc., of the system.
可观察性是现代分布式系统的必要功能,因为它允许我们获得关于系统的可靠性、可用性、性能等的可操作的见解。
{"title":"Pharos","authors":"Srinivas Vippagunta, Ken Finnigan, K. Pusukuri","doi":"10.1145/3544497.3544505","DOIUrl":"https://doi.org/10.1145/3544497.3544505","url":null,"abstract":"Observability is a necessary capability of modern distributed systems as it allows us to gain actionable insights about reliability, availability, performance, etc., of the system.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"56 1","pages":"51 - 54"},"PeriodicalIF":0.0,"publicationDate":"2022-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"64052445","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
One Profile Fits All 一个配置文件适用于所有配置文件
Q3 Computer Science Pub Date : 2022-06-14 DOI: 10.1145/3544497.3544502
Muhammed Ugur, Cheng Jiang, Alex Erf, Tanvir Ahmed Khan, Baris Kasikci
Modern data center applications have multi-megabyte instruc- tion footprints that easily exhaust on-chip cache structures, which typically have a size of only a couple hundred kilobytes. Consequently, today's data center applications suffer from frequent Instruction cache (I-cache) and Instruction Transla- tion Lookaside Buffer (I-TLB) misses, causing performance losses worth millions of dollars. To make matters worse, the multi-megabyte instruction footprint of the Linux kernel pre- cipitates an undue burden on the performance of data center applications.
现代数据中心应用程序具有兆字节的指令占地面积,很容易耗尽片上缓存结构,而片上缓存的大小通常只有几百KB。因此,今天的数据中心应用程序经常会出现指令缓存(I-cache)和指令转换后备缓冲区(I-TLB)未命中的情况,导致价值数百万美元的性能损失。更糟糕的是,Linux内核的数百万字节指令占用空间给数据中心应用程序的性能带来了不必要的负担。
{"title":"One Profile Fits All","authors":"Muhammed Ugur, Cheng Jiang, Alex Erf, Tanvir Ahmed Khan, Baris Kasikci","doi":"10.1145/3544497.3544502","DOIUrl":"https://doi.org/10.1145/3544497.3544502","url":null,"abstract":"Modern data center applications have multi-megabyte instruc- tion footprints that easily exhaust on-chip cache structures, which typically have a size of only a couple hundred kilobytes. Consequently, today's data center applications suffer from frequent Instruction cache (I-cache) and Instruction Transla- tion Lookaside Buffer (I-TLB) misses, causing performance losses worth millions of dollars. To make matters worse, the multi-megabyte instruction footprint of the Linux kernel pre- cipitates an undue burden on the performance of data center applications.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"56 1","pages":"26 - 33"},"PeriodicalIF":0.0,"publicationDate":"2022-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"46111223","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
VAIF: Variance-driven Automated Instrumentation Framework 方差驱动的自动化仪器框架
Q3 Computer Science Pub Date : 2022-01-01 DOI: 10.1145/3544497.3544504
Mert Toslali, E. Ates, Darby Huye, Alex Ellis, Zhao Zhang, Lan Liu, Samantha Puterman, A. Coskun, Raja R. Sambasivan
Developers use logs to diagnose performance problems in distributed applications. But, it is difficult to know a priori where logs are needed and what information in them is needed to help diagnose problems that may occur in the future. We summarize our work on the Variance-driven Automated Instrumentation Framework (VAIF), which runs alongside distributed applications. In response to newly-observed performance problems, VAIF automatically searches the space of possible instrumentation choices to enable the logs needed to help diagnose them. To work, VAIF combines distributed tracing (an enhanced form of logging) with insights about how response-time variance can be decomposed on the criticalpath portions of requests’ traces.
开发人员使用日志来诊断分布式应用程序中的性能问题。但是,很难先验地知道哪些地方需要日志,以及需要其中的哪些信息来帮助诊断将来可能发生的问题。我们总结了方差驱动的自动化仪器框架(VAIF)的工作,它与分布式应用程序一起运行。为了响应新观察到的性能问题,VAIF会自动搜索可能的工具选择空间,以启用帮助诊断这些问题所需的日志。为了工作,VAIF将分布式跟踪(一种增强的日志记录形式)与如何在请求跟踪的关键路径部分分解响应时间方差的见解结合起来。
{"title":"VAIF: Variance-driven Automated Instrumentation Framework","authors":"Mert Toslali, E. Ates, Darby Huye, Alex Ellis, Zhao Zhang, Lan Liu, Samantha Puterman, A. Coskun, Raja R. Sambasivan","doi":"10.1145/3544497.3544504","DOIUrl":"https://doi.org/10.1145/3544497.3544504","url":null,"abstract":"Developers use logs to diagnose performance problems in distributed applications. But, it is difficult to know a priori where logs are needed and what information in them is needed to help diagnose problems that may occur in the future. We summarize our work on the Variance-driven Automated Instrumentation Framework (VAIF), which runs alongside distributed applications. In response to newly-observed performance problems, VAIF automatically searches the space of possible instrumentation choices to enable the logs needed to help diagnose them. To work, VAIF combines distributed tracing (an enhanced form of logging) with insights about how response-time variance can be decomposed on the criticalpath portions of requests’ traces.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"56 1","pages":"42-50"},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"64052326","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Moneo: Monitoring Fine-grained Metrics Nonintrusively in AI Infrastructure Moneo:在AI基础设施中非侵入性地监控细粒度指标
Q3 Computer Science Pub Date : 2022-01-01 DOI: 10.1145/3544497.3544501
Yuting Jiang, Yifan Xiong, L. Qu, Cheng Luo, Chen Tian, Peng Cheng, Y. Xiong
Cloud-based AI infrastructure is becoming increasingly important, especially on large-scale distributed training. To improve its efficiency and serviceability, real-time monitoring of the infrastructure and workload profiling are proved to be the effective approach empirically. However, cloud environment poses great challenges as service providers cannot interfere with their tenants’ workloads or touch user data, thus previous instrumentation-based monitoring approach cannot be applied, nor does the workload trace collection. In this paper, we propose Moneo, a non-intrusive cloudfriendly monitoring system for AI infrastructure. Moneo is capable of intelligently collecting the key architecture-level metrics at finer granularity in real-time without instrumenting or tracing the workloads, which has been deployed in real production cloud, Azure. We analyze the results reported by Moneo for typical large-scale distributed AI workloads from real deployment. Results demonstrate that Moneo can effectively help service providers understand the real resource usage patterns of various AI workloads and real networking requirements, so as to get valuable findings help improve the efficiency of cloud infrastructure and optimize the software stack with the consideration of the characteristic resource usage requirements for different AI workloads. This is a revised version of the symposium paper [23] presented in IEEE ICC 2022 originally.
基于云的人工智能基础设施正变得越来越重要,特别是在大规模分布式训练中。为了提高其效率和可维护性,实践证明,对基础设施进行实时监控和工作负载分析是有效的方法。然而,云环境带来了巨大的挑战,因为服务提供商无法干扰其租户的工作负载或触摸用户数据,因此无法应用以前基于仪器的监控方法,也无法应用工作负载跟踪收集。在本文中,我们提出了Moneo,一个非侵入式的云友好型人工智能基础设施监控系统。Moneo能够以更细的粒度实时智能地收集关键架构级指标,而无需检测或跟踪工作负载,这已经部署在真实的生产云Azure中。我们分析了Moneo报告的来自实际部署的典型大规模分布式AI工作负载的结果。结果表明,Moneo可以有效地帮助服务提供商了解各种AI工作负载的真实资源使用模式和真实的组网需求,从而在考虑不同AI工作负载的特征资源使用需求的情况下,获得有助于提高云基础设施效率和优化软件堆栈的有价值的发现。这是IEEE ICC 2022上发表的研讨会论文[23]的修订版。
{"title":"Moneo: Monitoring Fine-grained Metrics Nonintrusively in AI Infrastructure","authors":"Yuting Jiang, Yifan Xiong, L. Qu, Cheng Luo, Chen Tian, Peng Cheng, Y. Xiong","doi":"10.1145/3544497.3544501","DOIUrl":"https://doi.org/10.1145/3544497.3544501","url":null,"abstract":"Cloud-based AI infrastructure is becoming increasingly important, especially on large-scale distributed training. To improve its efficiency and serviceability, real-time monitoring of the infrastructure and workload profiling are proved to be the effective approach empirically. However, cloud environment poses great challenges as service providers cannot interfere with their tenants’ workloads or touch user data, thus previous instrumentation-based monitoring approach cannot be applied, nor does the workload trace collection. In this paper, we propose Moneo, a non-intrusive cloudfriendly monitoring system for AI infrastructure. Moneo is capable of intelligently collecting the key architecture-level metrics at finer granularity in real-time without instrumenting or tracing the workloads, which has been deployed in real production cloud, Azure. We analyze the results reported by Moneo for typical large-scale distributed AI workloads from real deployment. Results demonstrate that Moneo can effectively help service providers understand the real resource usage patterns of various AI workloads and real networking requirements, so as to get valuable findings help improve the efficiency of cloud infrastructure and optimize the software stack with the consideration of the characteristic resource usage requirements for different AI workloads. This is a revised version of the symposium paper [23] presented in IEEE ICC 2022 originally.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"56 1","pages":"18-25"},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"64052256","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
lODA lODA
Q3 Computer Science Pub Date : 2021-10-26 DOI: 10.1145/3477132.3483573
Huaicheng Li, Martin L. Putra, Ronald Shi, Xing Lin, G. Ganger, Haryadi S. Gunawi
Predictable latency on flash storage is a long-pursuit goal, yet, unpredictability stays due to the unavoidable disturbance from many well-known SSD internal activities. To combat this issue, the recent NVMe IO Determinism (IOD) interface advocates host-level controls to SSD internal management tasks. While promising, challenges remain on how to exploit it for truly predictable performance. We present IODA, an I/O deterministic flash array design built on top of small but powerful extensions to the IOD interface for easy deployment. IODA exploits data redundancy in the context of IOD for a strong latency predictability contract. In IODA, SSDs are expected to quickly fail an I/O on purpose to allow predictable I/Os through proactive data reconstruction. In the case of concurrent internal operations, IODA introduces busy remaining time exposure and predictable-latency-window formulation to guarantee predictable data reconstructions. Overall, IODA only adds 5 new fields to the NVMe interface and a small modification in the flash firmware, while keeping most of the complexity in the host OS. Our evaluation shows that IODA improves the 95-99.99th latencies by up to 75x. IODA is also the nearest to the ideal, no disturbance case compared to 7 state-of-the-art preemption, suspension, GC coordination, partitioning, tiny-tail flash controller, prediction, and proactive approaches.
{"title":"lODA","authors":"Huaicheng Li, Martin L. Putra, Ronald Shi, Xing Lin, G. Ganger, Haryadi S. Gunawi","doi":"10.1145/3477132.3483573","DOIUrl":"https://doi.org/10.1145/3477132.3483573","url":null,"abstract":"Predictable latency on flash storage is a long-pursuit goal, yet, unpredictability stays due to the unavoidable disturbance from many well-known SSD internal activities. To combat this issue, the recent NVMe IO Determinism (IOD) interface advocates host-level controls to SSD internal management tasks. While promising, challenges remain on how to exploit it for truly predictable performance. We present IODA, an I/O deterministic flash array design built on top of small but powerful extensions to the IOD interface for easy deployment. IODA exploits data redundancy in the context of IOD for a strong latency predictability contract. In IODA, SSDs are expected to quickly fail an I/O on purpose to allow predictable I/Os through proactive data reconstruction. In the case of concurrent internal operations, IODA introduces busy remaining time exposure and predictable-latency-window formulation to guarantee predictable data reconstructions. Overall, IODA only adds 5 new fields to the NVMe interface and a small modification in the flash firmware, while keeping most of the complexity in the host OS. Our evaluation shows that IODA improves the 95-99.99th latencies by up to 75x. IODA is also the nearest to the ideal, no disturbance case compared to 7 state-of-the-art preemption, suspension, GC coordination, partitioning, tiny-tail flash controller, prediction, and proactive approaches.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"112 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73513389","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 21
dSpace dSpace
Q3 Computer Science Pub Date : 2021-10-26 DOI: 10.1145/3477132.3483559
Silvery Fu, S. Ratnasamy
We present dSpace, an open and modular programming framework that aims to simplify and accelerate the development of smart space applications. To achieve this, dSpace provides two key building blocks~digivices that implement device control and actuation and digidata that process IoT data to generate events and insights. In addition, dSpace introduces novel abstractions - mount, yield, and pipe - via which digivices and digidata can be composed into higher-level abstractions. We apply dSpace to home automation systems and show how developers can easily and flexibly leverage these abstractions to support a wide range of home automation scenarios. Finally, we show how the dSpace concepts can be realized using a microservices-based architecture and implement dSpace as a Kubernetes-compatible framework.
{"title":"dSpace","authors":"Silvery Fu, S. Ratnasamy","doi":"10.1145/3477132.3483559","DOIUrl":"https://doi.org/10.1145/3477132.3483559","url":null,"abstract":"We present dSpace, an open and modular programming framework that aims to simplify and accelerate the development of smart space applications. To achieve this, dSpace provides two key building blocks~digivices that implement device control and actuation and digidata that process IoT data to generate events and insights. In addition, dSpace introduces novel abstractions - mount, yield, and pipe - via which digivices and digidata can be composed into higher-level abstractions. We apply dSpace to home automation systems and show how developers can easily and flexibly leverage these abstractions to support a wide range of home automation scenarios. Finally, we show how the dSpace concepts can be realized using a microservices-based architecture and implement dSpace as a Kubernetes-compatible framework.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"55 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77992865","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 23
Caracal
Q3 Computer Science Pub Date : 2021-10-26 DOI: 10.1145/3477132.3483591
Dai Qin, Angela Demke Brown, Ashvin Goel
Deterministic databases offer several benefits: they ensure serializable execution while avoiding concurrency-control related aborts, and they scale well in distributed environments. Today, most deterministic database designs use partitioning to scale up and avoid contention. However, partitioning requires significant programmer effort, leads to poor performance under skewed workloads, and incurs unnecessary overheads in certain uncontended workloads. We present the design of Caracal, a novel shared-memory, deterministic database that performs well under both skew and contention. Our deterministic scheme batches transactions in epochs and executes the transactions in an epoch in a predetermined order. Our scheme enables reducing contention by batching concurrency control operations. It also allows analyzing the transactions in the epoch to determine contended keys accurately. Certain transactions can then be split into independent contended and uncontended pieces and run deterministically and in parallel, further reducing contention. Based on these ideas, we present two novel optimizations, batch append and split-on-demand, for managing contention. With these optimizations, Caracal scales well and outperforms existing deterministic schemes in most workloads by 1.9x to 9.7x.
{"title":"Caracal","authors":"Dai Qin, Angela Demke Brown, Ashvin Goel","doi":"10.1145/3477132.3483591","DOIUrl":"https://doi.org/10.1145/3477132.3483591","url":null,"abstract":"Deterministic databases offer several benefits: they ensure serializable execution while avoiding concurrency-control related aborts, and they scale well in distributed environments. Today, most deterministic database designs use partitioning to scale up and avoid contention. However, partitioning requires significant programmer effort, leads to poor performance under skewed workloads, and incurs unnecessary overheads in certain uncontended workloads. We present the design of Caracal, a novel shared-memory, deterministic database that performs well under both skew and contention. Our deterministic scheme batches transactions in epochs and executes the transactions in an epoch in a predetermined order. Our scheme enables reducing contention by batching concurrency control operations. It also allows analyzing the transactions in the epoch to determine contended keys accurately. Certain transactions can then be split into independent contended and uncontended pieces and run deterministically and in parallel, further reducing contention. Based on these ideas, we present two novel optimizations, batch append and split-on-demand, for managing contention. With these optimizations, Caracal scales well and outperforms existing deterministic schemes in most workloads by 1.9x to 9.7x.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"53 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81406144","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Shard Manager: A Generic Shard Management Framework for Geo-distributed Applications Shard Manager:一个用于地理分布式应用程序的通用Shard管理框架
Q3 Computer Science Pub Date : 2021-10-26 DOI: 10.1145/3477132.3483546
Sangmin Lee, Zhenhua Guo, Omer Sunercan, Jun Ying, Thawan Kooburat, Suryadeep Biswal, Jun Chen, K. Huang, Yatpang Cheung, Yiding Zhou, K. Veeraraghavan, Biren Damani, Pol Mauri Ruiz, V. Mehta, Chunqiang Tang
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 ≈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.
分片被广泛用于扩展应用程序。尽管十年来人们一直在努力构建通用的分片框架,这些框架可以在不同的应用程序中重用,但它们的成功程度仍然不清楚。我们试图回答一个基本问题:是什么阻碍了分片框架被大多数分片应用程序采用?我们分析了Facebook上数百个分片应用程序,并确定了两个主要障碍:1)缺乏对地理分布式应用程序的支持,这占Facebook应用程序的大部分;2)在软件升级等计划事件期间无法维持应用程序的可用性,这比计划外故障发生的频率高出约1000倍。不能帮助应用程序解决这些基本挑战的分片框架对大多数应用程序来说没有足够的吸引力。其他采用障碍包括在一个通用的分片框架中支持许多复杂应用程序的负担,以及支持复杂的分片放置需求的困难。理论上,约束求解器可以处理复杂的放置需求,但在实践中,它的可扩展性不足以在全局范围内执行近实时的分片放置。我们已经在Facebook的分片框架Shard Manager中克服了这些采用障碍。目前,在超过100万台机器上运行的数百个应用程序使用了Shard Manager,这些机器约占Facebook所有分片应用程序的54%。
{"title":"Shard Manager: A Generic Shard Management Framework for Geo-distributed Applications","authors":"Sangmin Lee, Zhenhua Guo, Omer Sunercan, Jun Ying, Thawan Kooburat, Suryadeep Biswal, Jun Chen, K. Huang, Yatpang Cheung, Yiding Zhou, K. Veeraraghavan, Biren Damani, Pol Mauri Ruiz, V. Mehta, Chunqiang Tang","doi":"10.1145/3477132.3483546","DOIUrl":"https://doi.org/10.1145/3477132.3483546","url":null,"abstract":"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 ≈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.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"25 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87152392","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Cuckoo Trie: Exploiting Memory-Level Parallelism for Efficient DRAM Indexing 杜鹃树:利用内存级并行性实现高效的DRAM索引
Q3 Computer Science Pub Date : 2021-10-26 DOI: 10.1145/3477132.3483551
Adar Zeitak, Adam Morrison
We present the Cuckoo Trie, a fast, memory-efficient ordered index structure. The Cuckoo Trie is designed to have memory-level parallelism---which a modern out-of-order processor can exploit to execute DRAM accesses in parallel--- without sacrificing memory efficiency. The Cuckoo Trie thus breaks a fundamental performance barrier faced by current indexes, whose bottleneck is a series of dependent pointer-chasing DRAM accesses---e.g., traversing a search tree path--- which the processor cannot parallelize. Our evaluation shows that the Cuckoo Trie outperforms state-of-the-art-indexes by up to 20%-360% on a variety of datasets and workloads, typically with a smaller or comparable memory footprint.
我们提出了Cuckoo tree,一种快速、高效的有序索引结构。杜鹃树被设计成具有内存级并行性——现代乱序处理器可以利用这种并行性来执行DRAM访问——而不会牺牲内存效率。因此,布谷鸟树打破了当前索引面临的一个基本性能障碍,其瓶颈是一系列依赖的指针跟踪DRAM访问。,遍历搜索树路径——处理器无法并行处理。我们的评估表明,在各种数据集和工作负载上,Cuckoo tree的性能比最先进的索引高出20%-360%,通常具有更小或相当的内存占用。
{"title":"Cuckoo Trie: Exploiting Memory-Level Parallelism for Efficient DRAM Indexing","authors":"Adar Zeitak, Adam Morrison","doi":"10.1145/3477132.3483551","DOIUrl":"https://doi.org/10.1145/3477132.3483551","url":null,"abstract":"We present the Cuckoo Trie, a fast, memory-efficient ordered index structure. The Cuckoo Trie is designed to have memory-level parallelism---which a modern out-of-order processor can exploit to execute DRAM accesses in parallel--- without sacrificing memory efficiency. The Cuckoo Trie thus breaks a fundamental performance barrier faced by current indexes, whose bottleneck is a series of dependent pointer-chasing DRAM accesses---e.g., traversing a search tree path--- which the processor cannot parallelize. Our evaluation shows that the Cuckoo Trie outperforms state-of-the-art-indexes by up to 20%-360% on a variety of datasets and workloads, typically with a smaller or comparable memory footprint.","PeriodicalId":38935,"journal":{"name":"Operating Systems Review (ACM)","volume":"57 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90339222","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
期刊
Operating Systems Review (ACM)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1