首页 > 最新文献

Proceedings of the 2021 ACM SIGCOMM 2021 Conference最新文献

英文 中文
LAVA: fine-grained 3D indoor wireless coverage for small IoT devices LAVA:用于小型物联网设备的细粒度3D室内无线覆盖
Pub Date : 2021-08-09 DOI: 10.1145/3452296.3472890
R. I. Zelaya, W. Sussman, Jeremy Gummeson, K. Jamieson, Wenjun Hu
Small IoT devices deployed in challenging locations suffer from uneven 3D coverage in complex environments. This work optimizes indoor coverage with LAVA, a Large Array of Vanilla Amplifiers. LAVA is a standard-agnostic cooperative mesh of elements, i.e., RF devices each consisting of several switched input and output antennas connected to fixed-gain amplifiers. Each LAVA element is further equipped with rudimentary power sensing to detect nearby transmissions. The elements report power readings to the LAVA control plane, which then infers active link sessions without explicitly interacting with the endpoint transmitter or receiver. With simple on-off control of amplifiers and antenna switching, LAVA boosts passing signals via multi hop amplify-and-forward. LAVA explores a middle ground between smart surfaces and physical-layer relays. Multi-hopping over short inter-hop distances exerts more control over the end-to-end trajectory, supporting fine-grained coverage and spatial reuse. Ceiling testbed results show throughput improvements to individual Wi-Fi links by 50% on average and up to 100% at 15 dBm transmit power (193% on average, up to 8x at 0 dBm). ZigBee links see up to 17 dB power gain. For pairs of co-channel concurrent links, LAVA provides average per-link throughput improvements of 517% at 0 dBm and 80% at 15 dBm.
部署在具有挑战性位置的小型物联网设备在复杂环境中受到不均匀3D覆盖的影响。这项工作优化了LAVA的室内覆盖,这是一种大型香草放大器阵列。LAVA是一种与标准无关的单元合作网格,即每个射频设备由连接到固定增益放大器的几个开关输入和输出天线组成。每个LAVA单元都进一步配备了基本的功率感应装置,以探测附近的传输。这些元素向LAVA控制平面报告功率读数,然后LAVA控制平面推断活动链路会话,而无需与端点发送器或接收器显式交互。通过简单的放大器和天线开关的开关控制,LAVA通过多跳放大和转发来增强传递信号。LAVA探索了智能表面和物理层继电器之间的中间地带。在短跳间距离上的多跳对端到端轨迹施加了更多的控制,支持细粒度覆盖和空间重用。天花板测试结果显示,单个Wi-Fi链路的吞吐量平均提高了50%,在15 dBm发射功率下提高了100%(平均提高了193%,在0 dBm时提高了8倍)。ZigBee链路的功率增益高达17db。对于同信道并发链路对,LAVA在0 dBm时提供517%的平均每链路吞吐量提高,在15 dBm时提供80%的平均每链路吞吐量提高。
{"title":"LAVA: fine-grained 3D indoor wireless coverage for small IoT devices","authors":"R. I. Zelaya, W. Sussman, Jeremy Gummeson, K. Jamieson, Wenjun Hu","doi":"10.1145/3452296.3472890","DOIUrl":"https://doi.org/10.1145/3452296.3472890","url":null,"abstract":"Small IoT devices deployed in challenging locations suffer from uneven 3D coverage in complex environments. This work optimizes indoor coverage with LAVA, a Large Array of Vanilla Amplifiers. LAVA is a standard-agnostic cooperative mesh of elements, i.e., RF devices each consisting of several switched input and output antennas connected to fixed-gain amplifiers. Each LAVA element is further equipped with rudimentary power sensing to detect nearby transmissions. The elements report power readings to the LAVA control plane, which then infers active link sessions without explicitly interacting with the endpoint transmitter or receiver. With simple on-off control of amplifiers and antenna switching, LAVA boosts passing signals via multi hop amplify-and-forward. LAVA explores a middle ground between smart surfaces and physical-layer relays. Multi-hopping over short inter-hop distances exerts more control over the end-to-end trajectory, supporting fine-grained coverage and spatial reuse. Ceiling testbed results show throughput improvements to individual Wi-Fi links by 50% on average and up to 100% at 15 dBm transmit power (193% on average, up to 8x at 0 dBm). ZigBee links see up to 17 dB power gain. For pairs of co-channel concurrent links, LAVA provides average per-link throughput improvements of 517% at 0 dBm and 80% at 15 dBm.","PeriodicalId":20487,"journal":{"name":"Proceedings of the 2021 ACM SIGCOMM 2021 Conference","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88897101","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}
引用次数: 13
Lucid: a language for control in the data plane Lucid:用于数据平面控制的语言
Pub Date : 2021-07-05 DOI: 10.1145/3452296.3472903
J. Sonchack, Devon Loehr, J. Rexford, D. Walker
Programmable switch hardware makes it possible to move fine-grained control logic inside the network data plane, improving performance for a wide range of applications. However, applications with integrated control are inherently hard to write in existing data-plane programming languages such as P4. This paper presents Lucid, a language that raises the level of abstraction for putting control functionality in the data plane. Lucid introduces abstractions that make it easy to write sophisticated data-plane applications with interleaved packet-handling and control logic, specialized type and syntax systems that prevent programmer bugs related to data-plane state, and an open-sourced compiler that translates Lucid programs into P4 optimized for the Intel Tofino. These features make Lucid general and easy to use, as we demonstrate by writing a suite of ten different data-plane applications in Lucid. Working prototypes take well under an hour to write, even for a programmer without prior Tofino experience, have around 10x fewer lines of code compared to P4, and compile efficiently to real hardware. In a stateful firewall written in Lucid, we find that moving control from a switch's CPU to its data-plane processor using Lucid reduces the latency of performance-sensitive operations by over 300X.
可编程交换机硬件使得在网络数据平面内移动细粒度控制逻辑成为可能,从而提高了广泛应用的性能。但是,使用现有的数据平面编程语言(如P4)编写具有集成控件的应用程序本身就很困难。本文介绍了Lucid,一种提高了将控制功能放在数据平面中的抽象级别的语言。Lucid引入了抽象,使编写复杂的数据平面应用程序变得容易,这些应用程序具有交错的数据包处理和控制逻辑,专门的类型和语法系统可以防止与数据平面状态相关的程序员错误,以及一个开源编译器,可以将Lucid程序转换为针对Intel Tofino优化的P4。这些特性使得Lucid通用且易于使用,正如我们通过在Lucid中编写一套由十个不同的数据平面应用程序所演示的那样。即使对于没有Tofino经验的程序员来说,编写工作原型也需要不到一个小时的时间,与P4相比,它的代码行数减少了10倍左右,并且可以有效地编译到真实的硬件上。在用Lucid编写的有状态防火墙中,我们发现使用Lucid将控制从交换机的CPU转移到数据平面处理器可以将性能敏感操作的延迟减少300X以上。
{"title":"Lucid: a language for control in the data plane","authors":"J. Sonchack, Devon Loehr, J. Rexford, D. Walker","doi":"10.1145/3452296.3472903","DOIUrl":"https://doi.org/10.1145/3452296.3472903","url":null,"abstract":"Programmable switch hardware makes it possible to move fine-grained control logic inside the network data plane, improving performance for a wide range of applications. However, applications with integrated control are inherently hard to write in existing data-plane programming languages such as P4. This paper presents Lucid, a language that raises the level of abstraction for putting control functionality in the data plane. Lucid introduces abstractions that make it easy to write sophisticated data-plane applications with interleaved packet-handling and control logic, specialized type and syntax systems that prevent programmer bugs related to data-plane state, and an open-sourced compiler that translates Lucid programs into P4 optimized for the Intel Tofino. These features make Lucid general and easy to use, as we demonstrate by writing a suite of ten different data-plane applications in Lucid. Working prototypes take well under an hour to write, even for a programmer without prior Tofino experience, have around 10x fewer lines of code compared to P4, and compile efficiently to real hardware. In a stateful firewall written in Lucid, we find that moving control from a switch's CPU to its data-plane processor using Lucid reduces the latency of performance-sensitive operations by over 300X.","PeriodicalId":20487,"journal":{"name":"Proceedings of the 2021 ACM SIGCOMM 2021 Conference","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89675011","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}
引用次数: 27
Synthesizing safe and efficient kernel extensions for packet processing 综合安全高效的包处理内核扩展
Pub Date : 2021-02-26 DOI: 10.1145/3452296.3472929
Qiongwen Xu, Michael D. Wong, Tanvi Wagle, S. Narayana, Anirudh Sivaraman
Extended Berkeley Packet Filter (BPF) has emerged as a powerful method to extend packet-processing functionality in the Linux operating system. BPF allows users to write code in high-level languages (like C or Rust) and execute them at specific hooks in the kernel, such as the network device driver. To ensure safe execution of a user-developed BPF program in kernel context, Linux uses an in-kernel static checker. The checker allows a program to execute only if it can prove that the program is crash-free, always accesses memory within safe bounds, and avoids leaking kernel data. BPF programming is not easy. One, even modest-sized BPF programs are deemed too large to analyze and rejected by the kernel checker. Two, the kernel checker may incorrectly determine that a BPF program exhibits unsafe behaviors. Three, even small performance optimizations to BPF code (e.g., 5% gains) must be meticulously hand-crafted by expert developers. Traditional optimizing compilers for BPF are often inadequate since the kernel checker's safety constraints are incompatible with rule-based optimizations. We present K2, a program-synthesis-based compiler that automatically optimizes BPF bytecode with formal correctness and safety guarantees. K2 produces code with 6--26% reduced size, 1.36%--55.03% lower average packet-processing latency, and 0--4.75% higher throughput (packets per second per core) relative to the best clang-compiled program, across benchmarks drawn from Cilium, Facebook, and the Linux kernel. K2 incorporates several domain-specific techniques to make synthesis practical by accelerating equivalence-checking of BPF programs by 6 orders of magnitude.
扩展伯克利包过滤器(BPF)已经成为Linux操作系统中扩展包处理功能的一种强大方法。BPF允许用户用高级语言(如C或Rust)编写代码,并在内核中的特定钩子(如网络设备驱动程序)上执行它们。为了确保在内核上下文中安全执行用户开发的BPF程序,Linux使用内核内静态检查器。只有当检查器能够证明程序没有崩溃,总是在安全范围内访问内存,并避免泄漏内核数据时,检查器才允许程序执行。BPF编程并不容易。首先,即使是中等规模的BPF程序也会被认为太大而无法分析,从而被内核检查器拒绝。第二,内核检查器可能错误地确定BPF程序显示不安全的行为。第三,即使是对BPF代码进行很小的性能优化(例如,5%的增益),也必须由专业开发人员精心手工设计。由于内核检查器的安全约束与基于规则的优化不兼容,传统的BPF优化编译器通常是不够的。我们提出了K2,一个基于程序合成的编译器,可以自动优化BPF字节码,并提供形式正确性和安全性保证。在Cilium、Facebook和Linux内核的基准测试中,与最佳的clang编译程序相比,K2生成的代码大小减少了6—26%,平均数据包处理延迟降低了1.36%—55.03%,吞吐量(每核每秒数据包数)提高了0—4.75%。K2结合了几种特定领域的技术,通过加速BPF程序的6个数量级的等效检查,使合成实用。
{"title":"Synthesizing safe and efficient kernel extensions for packet processing","authors":"Qiongwen Xu, Michael D. Wong, Tanvi Wagle, S. Narayana, Anirudh Sivaraman","doi":"10.1145/3452296.3472929","DOIUrl":"https://doi.org/10.1145/3452296.3472929","url":null,"abstract":"Extended Berkeley Packet Filter (BPF) has emerged as a powerful method to extend packet-processing functionality in the Linux operating system. BPF allows users to write code in high-level languages (like C or Rust) and execute them at specific hooks in the kernel, such as the network device driver. To ensure safe execution of a user-developed BPF program in kernel context, Linux uses an in-kernel static checker. The checker allows a program to execute only if it can prove that the program is crash-free, always accesses memory within safe bounds, and avoids leaking kernel data. BPF programming is not easy. One, even modest-sized BPF programs are deemed too large to analyze and rejected by the kernel checker. Two, the kernel checker may incorrectly determine that a BPF program exhibits unsafe behaviors. Three, even small performance optimizations to BPF code (e.g., 5% gains) must be meticulously hand-crafted by expert developers. Traditional optimizing compilers for BPF are often inadequate since the kernel checker's safety constraints are incompatible with rule-based optimizations. We present K2, a program-synthesis-based compiler that automatically optimizes BPF bytecode with formal correctness and safety guarantees. K2 produces code with 6--26% reduced size, 1.36%--55.03% lower average packet-processing latency, and 0--4.75% higher throughput (packets per second per core) relative to the best clang-compiled program, across benchmarks drawn from Cilium, Facebook, and the Linux kernel. K2 incorporates several domain-specific techniques to make synthesis practical by accelerating equivalence-checking of BPF programs by 6 orders of magnitude.","PeriodicalId":20487,"journal":{"name":"Proceedings of the 2021 ACM SIGCOMM 2021 Conference","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-02-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89537857","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
Two beams are better than one: towards reliable and high throughput mmWave links 两个波束比一个波束好:通向可靠和高吞吐量的毫米波链路
Pub Date : 2021-01-12 DOI: 10.1145/3452296.3472924
I. Jain, Raghav Subbaraman, Dinesh Bharadia
Millimeter-wave communication with high throughput and high reliability is poised to be a gamechanger for V2X and VR applications. However, mmWave links are notorious for low reliability since they suffer from frequent outages due to blockage and user mobility. We build mmReliable, a reliable mmWave system that implements multi-beamforming and user tracking to handle environmental vulnerabilities. It creates constructive multi-beam patterns and optimizes their angle, phase, and amplitude to maximize the signal strength at the receiver. Multi-beam links are reliable since they are resilient to occasional blockages of few constituent beams compared to a single-beam system. We implement mmReliable on a 28 GHz testbed with 400 MHz bandwidth, and a 64 element phased array supporting 5G NR waveforms. Rigorous indoor and outdoor experiments demonstrate that mmReliable achieves close to 100% reliability providing 2.3x improvement in the throughput-reliability product than single-beam systems.
具有高吞吐量和高可靠性的毫米波通信有望成为V2X和VR应用的游戏规则改变者。然而,毫米波链路因可靠性低而臭名昭著,因为它们经常因阻塞和用户移动性而中断。我们构建了mmReliable,这是一个可靠的毫米波系统,实现了多波束形成和用户跟踪,以处理环境漏洞。它创建建设性的多波束模式,并优化它们的角度、相位和幅度,以最大限度地提高接收机的信号强度。与单波束系统相比,多波束链路是可靠的,因为它们对少数组成波束的偶尔阻塞具有弹性。我们在带宽为400 MHz的28 GHz测试台上实现了mmReliable,并使用了支持5G NR波形的64元相控阵。严格的室内和室外实验表明,mmReliable实现了接近100%的可靠性,在吞吐量可靠性产品上比单光束系统提高了2.3倍。
{"title":"Two beams are better than one: towards reliable and high throughput mmWave links","authors":"I. Jain, Raghav Subbaraman, Dinesh Bharadia","doi":"10.1145/3452296.3472924","DOIUrl":"https://doi.org/10.1145/3452296.3472924","url":null,"abstract":"Millimeter-wave communication with high throughput and high reliability is poised to be a gamechanger for V2X and VR applications. However, mmWave links are notorious for low reliability since they suffer from frequent outages due to blockage and user mobility. We build mmReliable, a reliable mmWave system that implements multi-beamforming and user tracking to handle environmental vulnerabilities. It creates constructive multi-beam patterns and optimizes their angle, phase, and amplitude to maximize the signal strength at the receiver. Multi-beam links are reliable since they are resilient to occasional blockages of few constituent beams compared to a single-beam system. We implement mmReliable on a 28 GHz testbed with 400 MHz bandwidth, and a 64 element phased array supporting 5G NR waveforms. Rigorous indoor and outdoor experiments demonstrate that mmReliable achieves close to 100% reliability providing 2.3x improvement in the throughput-reliability product than single-beam systems.","PeriodicalId":20487,"journal":{"name":"Proceedings of the 2021 ACM SIGCOMM 2021 Conference","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-01-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87280501","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}
引用次数: 26
Semi-automated protocol disambiguation and code generation 半自动协议消歧和代码生成
Pub Date : 2020-10-09 DOI: 10.1145/3452296.3472910
Jane Yen, Tam'as L'evai, Qinyuan Ye, Xiang Ren, R. Govindan, B. Raghavan
For decades, Internet protocols have been specified using natural language. Given the ambiguity inherent in such text, it is not surprising that protocol implementations have long exhibited bugs. In this paper, we apply natural language processing (NLP) to effect semi-automated generation of protocol implementations from specification text. Our system, Sage, can uncover ambiguous or under-specified sentences in specifications; once these are clarified by the author of the protocol specification, Sage can generate protocol code automatically. Using Sage, we discover 5 instances of ambiguity and 6 instances of under-specification in the ICMP RFC; after fixing these, Sage is able to automatically generate code that interoperates perfectly with Linux implementations. We show that Sage generalizes to sections of BFD, IGMP, and NTP and identify additional conceptual components that Sage needs to support to generalize to complete, complex protocols like BGP and TCP.
几十年来,互联网协议都是使用自然语言指定的。考虑到这些文本中固有的模糊性,协议实现长期以来出现bug也就不足为奇了。在本文中,我们应用自然语言处理(NLP)从规范文本实现半自动化的协议实现。我们的系统Sage可以发现规范中模棱两可或未明确的句子;一旦协议规范的作者澄清了这些,Sage就可以自动生成协议代码。使用Sage,我们在ICMP RFC中发现了5个歧义实例和6个规格不足实例;在修复这些问题之后,Sage能够自动生成与Linux实现完美互操作的代码。我们展示了Sage泛化到BFD、IGMP和NTP的部分,并确定了Sage需要支持的其他概念组件,以泛化到完整的、复杂的协议,如BGP和TCP。
{"title":"Semi-automated protocol disambiguation and code generation","authors":"Jane Yen, Tam'as L'evai, Qinyuan Ye, Xiang Ren, R. Govindan, B. Raghavan","doi":"10.1145/3452296.3472910","DOIUrl":"https://doi.org/10.1145/3452296.3472910","url":null,"abstract":"For decades, Internet protocols have been specified using natural language. Given the ambiguity inherent in such text, it is not surprising that protocol implementations have long exhibited bugs. In this paper, we apply natural language processing (NLP) to effect semi-automated generation of protocol implementations from specification text. Our system, Sage, can uncover ambiguous or under-specified sentences in specifications; once these are clarified by the author of the protocol specification, Sage can generate protocol code automatically. Using Sage, we discover 5 instances of ambiguity and 6 instances of under-specification in the ICMP RFC; after fixing these, Sage is able to automatically generate code that interoperates perfectly with Linux implementations. We show that Sage generalizes to sections of BFD, IGMP, and NTP and identify additional conceptual components that Sage needs to support to generalize to complete, complex protocols like BGP and TCP.","PeriodicalId":20487,"journal":{"name":"Proceedings of the 2021 ACM SIGCOMM 2021 Conference","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90387998","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}
引用次数: 14
Efficient sparse collective communication and its application to accelerate distributed deep learning 高效稀疏集体通信及其在分布式深度学习中的应用
Pub Date : 2020-09-30 DOI: 10.1145/3452296.3472904
Jiawei Fei, Chen-Yu Ho, Atal Narayan Sahu, M. Canini, Amedeo Sapio
Efficient collective communication is crucial to parallel-computing applications such as distributed training of large-scale recommendation systems and natural language processing models. Existing collective communication libraries focus on optimizing operations for dense inputs, resulting in transmissions of many zeros when inputs are sparse. This counters current trends that see increasing data sparsity in large models. We propose OmniReduce, an efficient streaming aggregation system that exploits sparsity to maximize effective bandwidth use by sending only non-zero data blocks. We demonstrate that this idea is beneficial and accelerates distributed training by up to 8.2x. Even at 100 Gbps, OmniReduce delivers 1.4--2.9x better performance for network-bottlenecked DNNs.
高效的集体通信对于大规模推荐系统和自然语言处理模型的分布式训练等并行计算应用至关重要。现有的集体通信库侧重于优化密集输入的操作,导致在输入稀疏时传输许多零。这与当前在大型模型中看到数据稀疏性增加的趋势相反。我们提出了OmniReduce,一个高效的流聚合系统,利用稀疏性,通过只发送非零数据块来最大化有效的带宽使用。我们证明了这种想法是有益的,并将分布式训练速度提高了8.2倍。即使在100 Gbps的速度下,OmniReduce也能为网络瓶颈dnn提供1.4- 2.9倍的性能提升。
{"title":"Efficient sparse collective communication and its application to accelerate distributed deep learning","authors":"Jiawei Fei, Chen-Yu Ho, Atal Narayan Sahu, M. Canini, Amedeo Sapio","doi":"10.1145/3452296.3472904","DOIUrl":"https://doi.org/10.1145/3452296.3472904","url":null,"abstract":"Efficient collective communication is crucial to parallel-computing applications such as distributed training of large-scale recommendation systems and natural language processing models. Existing collective communication libraries focus on optimizing operations for dense inputs, resulting in transmissions of many zeros when inputs are sparse. This counters current trends that see increasing data sparsity in large models. We propose OmniReduce, an efficient streaming aggregation system that exploits sparsity to maximize effective bandwidth use by sending only non-zero data blocks. We demonstrate that this idea is beneficial and accelerates distributed training by up to 8.2x. Even at 100 Gbps, OmniReduce delivers 1.4--2.9x better performance for network-bottlenecked DNNs.","PeriodicalId":20487,"journal":{"name":"Proceedings of the 2021 ACM SIGCOMM 2021 Conference","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82003610","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}
引用次数: 56
Hoplite: efficient and fault-tolerant collective communication for task-based distributed systems Hoplite:基于任务的分布式系统的高效和容错的集体通信
Pub Date : 2020-02-13 DOI: 10.1145/3452296.3472897
Siyuan Zhuang, Zhuohan Li, Danyang Zhuo, Stephanie Wang, Eric Liang, Robert Nishihara, Philipp Moritz, I. Stoica
Task-based distributed frameworks (e.g., Ray, Dask, Hydro) have become increasingly popular for distributed applications that contain asynchronous and dynamic workloads, including asynchronous gradient descent, reinforcement learning, and model serving. As more data-intensive applications move to run on top of task-based systems, collective communication efficiency has become an important problem. Unfortunately, traditional collective communication libraries (e.g., MPI, Horovod, NCCL) are an ill fit, because they require the communication schedule to be known before runtime and they do not provide fault tolerance. We design and implement Hoplite, an efficient and fault-tolerant collective communication layer for task-based distributed systems. Our key technique is to compute data transfer schedules on the fly and execute the schedules efficiently through fine-grained pipelining. At the same time, when a task fails, the data transfer schedule adapts quickly to allow other tasks to keep making progress. We apply Hoplite to a popular task-based distributed framework, Ray. We show that Hoplite speeds up asynchronous stochastic gradient descent, reinforcement learning, and serving an ensemble of machine learning models that are difficult to execute efficiently with traditional collective communication by up to 7.8x, 3.9x, and 3.3x, respectively.
基于任务的分布式框架(例如Ray、Dask、Hydro)在包含异步和动态工作负载的分布式应用程序中变得越来越流行,包括异步梯度下降、强化学习和模型服务。随着越来越多的数据密集型应用程序运行在基于任务的系统之上,集体通信效率已成为一个重要问题。不幸的是,传统的集体通信库(例如MPI、Horovod、NCCL)不适合,因为它们要求在运行前知道通信计划,而且它们不提供容错性。我们为基于任务的分布式系统设计并实现了一种高效、容错的集体通信层Hoplite。我们的关键技术是动态地计算数据传输调度,并通过细粒度的流水线高效地执行调度。同时,当一个任务失败时,数据传输计划会迅速调整,以允许其他任务继续进行下去。我们将Hoplite应用于一个流行的基于任务的分布式框架,Ray。我们表明,Hoplite加快了异步随机梯度下降、强化学习和服务于机器学习模型集合的速度,这些模型在传统的集体通信中难以有效执行,分别提高了7.8倍、3.9倍和3.3倍。
{"title":"Hoplite: efficient and fault-tolerant collective communication for task-based distributed systems","authors":"Siyuan Zhuang, Zhuohan Li, Danyang Zhuo, Stephanie Wang, Eric Liang, Robert Nishihara, Philipp Moritz, I. Stoica","doi":"10.1145/3452296.3472897","DOIUrl":"https://doi.org/10.1145/3452296.3472897","url":null,"abstract":"Task-based distributed frameworks (e.g., Ray, Dask, Hydro) have become increasingly popular for distributed applications that contain asynchronous and dynamic workloads, including asynchronous gradient descent, reinforcement learning, and model serving. As more data-intensive applications move to run on top of task-based systems, collective communication efficiency has become an important problem. Unfortunately, traditional collective communication libraries (e.g., MPI, Horovod, NCCL) are an ill fit, because they require the communication schedule to be known before runtime and they do not provide fault tolerance. We design and implement Hoplite, an efficient and fault-tolerant collective communication layer for task-based distributed systems. Our key technique is to compute data transfer schedules on the fly and execute the schedules efficiently through fine-grained pipelining. At the same time, when a task fails, the data transfer schedule adapts quickly to allow other tasks to keep making progress. We apply Hoplite to a popular task-based distributed framework, Ray. We show that Hoplite speeds up asynchronous stochastic gradient descent, reinforcement learning, and serving an ensemble of machine learning models that are difficult to execute efficiently with traditional collective communication by up to 7.8x, 3.9x, and 3.3x, respectively.","PeriodicalId":20487,"journal":{"name":"Proceedings of the 2021 ACM SIGCOMM 2021 Conference","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-02-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80857852","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}
引用次数: 17
期刊
Proceedings of the 2021 ACM SIGCOMM 2021 Conference
全部 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