{"title":"交换共识的空间复杂度","authors":"Sean Ovens","doi":"10.1145/3631390","DOIUrl":null,"url":null,"abstract":"Nearly thirty years ago, it was shown that \\(\\Omega (\\sqrt {n}) \\) read/write registers are needed to solve randomized wait-free consensus among n processes. This lower bound was improved to n registers in 2018, which exactly matches known algorithms. The \\(\\Omega (\\sqrt {n}) \\) space complexity lower bound actually applies to a class of objects called historyless objects, which includes registers, test-and-set objects, and readable swap objects. However, every known n -process obstruction-free consensus algorithm from historyless objects uses Ω ( n ) objects. In this paper, we give the first Ω ( n ) space complexity lower bounds on consensus algorithms for two kinds of historyless objects. First, we show that any obstruction-free consensus algorithm from swap objects uses at least n − 1 objects. More generally, we prove that any obstruction-free k -set agreement algorithm from swap objects uses at least \\(\\lceil \\frac{n}{k}\\rceil - 1 \\) objects. The k -set agreement problem is a generalization of consensus in which processes agree on no more than k different output values. This is the first non-constant lower bound on the space complexity of solving k -set agreement with swap objects when k > 1. We also present an obstruction-free k -set agreement algorithm from n − k swap objects, which exactly matches our lower bound when k = 1. Second, we show that any obstruction-free binary consensus algorithm from readable swap objects with domain size b uses at least \\(\\frac{n-2}{3b+1} \\) objects. When b is a constant, this asymptotically matches the best known obstruction-free consensus algorithms from readable swap objects with unbounded domains. Since any historyless object can be simulated by a readable swap object with the same domain, our results imply that any obstruction-free consensus algorithm from historyless objects with domain size b uses at least \\(\\frac{n-2}{3b+1} \\) objects. For b = 2, we show a slightly better lower bound of n − 2. There is an obstruction-free binary consensus algorithm using 2 n − 1 readable swap objects with domain size 2, asymptotically matching our lower bound.","PeriodicalId":50022,"journal":{"name":"Journal of the ACM","volume":"15 2","pages":"0"},"PeriodicalIF":2.3000,"publicationDate":"2023-11-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"The Space Complexity of Consensus from Swap\",\"authors\":\"Sean Ovens\",\"doi\":\"10.1145/3631390\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Nearly thirty years ago, it was shown that \\\\(\\\\Omega (\\\\sqrt {n}) \\\\) read/write registers are needed to solve randomized wait-free consensus among n processes. This lower bound was improved to n registers in 2018, which exactly matches known algorithms. The \\\\(\\\\Omega (\\\\sqrt {n}) \\\\) space complexity lower bound actually applies to a class of objects called historyless objects, which includes registers, test-and-set objects, and readable swap objects. However, every known n -process obstruction-free consensus algorithm from historyless objects uses Ω ( n ) objects. In this paper, we give the first Ω ( n ) space complexity lower bounds on consensus algorithms for two kinds of historyless objects. First, we show that any obstruction-free consensus algorithm from swap objects uses at least n − 1 objects. More generally, we prove that any obstruction-free k -set agreement algorithm from swap objects uses at least \\\\(\\\\lceil \\\\frac{n}{k}\\\\rceil - 1 \\\\) objects. The k -set agreement problem is a generalization of consensus in which processes agree on no more than k different output values. This is the first non-constant lower bound on the space complexity of solving k -set agreement with swap objects when k > 1. We also present an obstruction-free k -set agreement algorithm from n − k swap objects, which exactly matches our lower bound when k = 1. Second, we show that any obstruction-free binary consensus algorithm from readable swap objects with domain size b uses at least \\\\(\\\\frac{n-2}{3b+1} \\\\) objects. When b is a constant, this asymptotically matches the best known obstruction-free consensus algorithms from readable swap objects with unbounded domains. Since any historyless object can be simulated by a readable swap object with the same domain, our results imply that any obstruction-free consensus algorithm from historyless objects with domain size b uses at least \\\\(\\\\frac{n-2}{3b+1} \\\\) objects. For b = 2, we show a slightly better lower bound of n − 2. There is an obstruction-free binary consensus algorithm using 2 n − 1 readable swap objects with domain size 2, asymptotically matching our lower bound.\",\"PeriodicalId\":50022,\"journal\":{\"name\":\"Journal of the ACM\",\"volume\":\"15 2\",\"pages\":\"0\"},\"PeriodicalIF\":2.3000,\"publicationDate\":\"2023-11-02\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of the ACM\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3631390\",\"RegionNum\":2,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of the ACM","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3631390","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
Nearly thirty years ago, it was shown that \(\Omega (\sqrt {n}) \) read/write registers are needed to solve randomized wait-free consensus among n processes. This lower bound was improved to n registers in 2018, which exactly matches known algorithms. The \(\Omega (\sqrt {n}) \) space complexity lower bound actually applies to a class of objects called historyless objects, which includes registers, test-and-set objects, and readable swap objects. However, every known n -process obstruction-free consensus algorithm from historyless objects uses Ω ( n ) objects. In this paper, we give the first Ω ( n ) space complexity lower bounds on consensus algorithms for two kinds of historyless objects. First, we show that any obstruction-free consensus algorithm from swap objects uses at least n − 1 objects. More generally, we prove that any obstruction-free k -set agreement algorithm from swap objects uses at least \(\lceil \frac{n}{k}\rceil - 1 \) objects. The k -set agreement problem is a generalization of consensus in which processes agree on no more than k different output values. This is the first non-constant lower bound on the space complexity of solving k -set agreement with swap objects when k > 1. We also present an obstruction-free k -set agreement algorithm from n − k swap objects, which exactly matches our lower bound when k = 1. Second, we show that any obstruction-free binary consensus algorithm from readable swap objects with domain size b uses at least \(\frac{n-2}{3b+1} \) objects. When b is a constant, this asymptotically matches the best known obstruction-free consensus algorithms from readable swap objects with unbounded domains. Since any historyless object can be simulated by a readable swap object with the same domain, our results imply that any obstruction-free consensus algorithm from historyless objects with domain size b uses at least \(\frac{n-2}{3b+1} \) objects. For b = 2, we show a slightly better lower bound of n − 2. There is an obstruction-free binary consensus algorithm using 2 n − 1 readable swap objects with domain size 2, asymptotically matching our lower bound.
期刊介绍:
The best indicator of the scope of the journal is provided by the areas covered by its Editorial Board. These areas change from time to time, as the field evolves. The following areas are currently covered by a member of the Editorial Board: Algorithms and Combinatorial Optimization; Algorithms and Data Structures; Algorithms, Combinatorial Optimization, and Games; Artificial Intelligence; Complexity Theory; Computational Biology; Computational Geometry; Computer Graphics and Computer Vision; Computer-Aided Verification; Cryptography and Security; Cyber-Physical, Embedded, and Real-Time Systems; Database Systems and Theory; Distributed Computing; Economics and Computation; Information Theory; Logic and Computation; Logic, Algorithms, and Complexity; Machine Learning and Computational Learning Theory; Networking; Parallel Computing and Architecture; Programming Languages; Quantum Computing; Randomized Algorithms and Probabilistic Analysis of Algorithms; Scientific Computing and High Performance Computing; Software Engineering; Web Algorithms and Data Mining