Complexity tradeoffs for read and update operations

Danny Hendler, V. Khait
{"title":"Complexity tradeoffs for read and update operations","authors":"Danny Hendler, V. Khait","doi":"10.1145/2611462.2611472","DOIUrl":null,"url":null,"abstract":"Recent work established that some restricted-use objects, such as max registers, counters and atomic snapshots, admit polylogarithmic step-/complexity wait-free implementations using only reads and writes: when only polynomially-many updates are allowed, reading the object (by performing a ReadMax, CounterRead or Scan operation, depending on the object's type) incurs O(log N) steps (where N is the number of processes), which was shown to be optimal. But what about the step-/complexity of update operations? With these implementations, updating the object's state (by performing a WriteMax, Counter Increment or Update operation, depending on the object's type) requires Ω(log N) steps. The question that we address in this work is the following: are there read-optimal implementations of these restricted-use objects for which the asymptotic step-/complexity of update operations is sub-logarithmic? We present tradeoffs between the step-/complexity of read and update operations on these objects, establishing that updating a read-optimal counter or snapshot incurs Ω(log N) steps. These tradeoffs hold also if compare-and-swap (CAS) operations may be used, in addition to reads and writes. We also derive a tradeoff between the step-complexities of read and update operations of M-bounded max registers: if the step-/complexity of the Read-Max operation is O(f(min(N,M))), then the step-/complexity of the Write-Max operation is Ω(log log min(N,M)/log f(min(N,M))). It follows from this tradeoff that the step-/complexity of Write-Max in any read-/optimal implementation of a max register from read, write and CAS is Ω(log log min(N,M)). On the positive side, we present a wait-free implementation of an M-bounded max register from read, write and CAS for which the step complexities of Read-Max and Write-Max operations are O(1) and O(log min(N,M)), respectively.","PeriodicalId":186800,"journal":{"name":"Proceedings of the 2014 ACM symposium on Principles of distributed computing","volume":"96 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2014 ACM symposium on Principles of distributed computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2611462.2611472","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

Recent work established that some restricted-use objects, such as max registers, counters and atomic snapshots, admit polylogarithmic step-/complexity wait-free implementations using only reads and writes: when only polynomially-many updates are allowed, reading the object (by performing a ReadMax, CounterRead or Scan operation, depending on the object's type) incurs O(log N) steps (where N is the number of processes), which was shown to be optimal. But what about the step-/complexity of update operations? With these implementations, updating the object's state (by performing a WriteMax, Counter Increment or Update operation, depending on the object's type) requires Ω(log N) steps. The question that we address in this work is the following: are there read-optimal implementations of these restricted-use objects for which the asymptotic step-/complexity of update operations is sub-logarithmic? We present tradeoffs between the step-/complexity of read and update operations on these objects, establishing that updating a read-optimal counter or snapshot incurs Ω(log N) steps. These tradeoffs hold also if compare-and-swap (CAS) operations may be used, in addition to reads and writes. We also derive a tradeoff between the step-complexities of read and update operations of M-bounded max registers: if the step-/complexity of the Read-Max operation is O(f(min(N,M))), then the step-/complexity of the Write-Max operation is Ω(log log min(N,M)/log f(min(N,M))). It follows from this tradeoff that the step-/complexity of Write-Max in any read-/optimal implementation of a max register from read, write and CAS is Ω(log log min(N,M)). On the positive side, we present a wait-free implementation of an M-bounded max register from read, write and CAS for which the step complexities of Read-Max and Write-Max operations are O(1) and O(log min(N,M)), respectively.
读取和更新操作的复杂性权衡
最近的研究表明,一些限制使用的对象,如最大寄存器、计数器和原子快照,允许只使用读和写的多对数步骤/复杂度无等待实现:当只允许多项式多次更新时,读取对象(通过执行ReadMax、CounterRead或Scan操作,取决于对象的类型)会导致O(log N)步(其中N是进程数),这被证明是最优的。但是更新操作的步骤/复杂性如何呢?使用这些实现,更新对象的状态(通过执行WriteMax、Counter Increment或Update操作,取决于对象的类型)需要Ω(log N)个步骤。我们在这项工作中解决的问题是:是否存在这些限制使用对象的读取最佳实现,其更新操作的渐近步长/复杂性是次对数的?我们在这些对象上的读取和更新操作的步长/复杂度之间进行了权衡,确定了更新读取最优计数器或快照需要Ω(log N)个步骤。除了读和写之外,如果可能使用比较和交换(CAS)操作,这些权衡也会保持不变。我们还得出了M-bounded max寄存器的读取和更新操作的步长复杂度之间的权衡:如果read - max操作的步长复杂度为O(f(min(N,M))),那么Write-Max操作的步长复杂度为Ω(log log min(N,M)/log f(min(N,M)))。从这种权衡中可以得出,在从读、写和CAS实现最大寄存器的任何读/最优实现中,write - max的步长/复杂度为Ω(log log min(N,M))。在积极的方面,我们提出了一个无等待的实现,从读,写和CAS的M有界最大寄存器,其中读-最大和写-最大操作的步骤复杂性分别为O(1)和O(log min(N,M))。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信