Lower Bounds on the Amortized Time Complexity of Shared Objects

IF 0.6 4区 计算机科学 Q4 COMPUTER SCIENCE, THEORY & METHODS Theory of Computing Systems Pub Date : 2024-07-12 DOI:10.1007/s00224-024-10184-w
Hagit Attiya, Arie Fouren, Jeremy Ko
{"title":"Lower Bounds on the Amortized Time Complexity of Shared Objects","authors":"Hagit Attiya, Arie Fouren, Jeremy Ko","doi":"10.1007/s00224-024-10184-w","DOIUrl":null,"url":null,"abstract":"<p>The <i>amortized</i> step complexity of an implementation measures its performance as a whole, rather than the performance of individual operations. Specifically, the amortized step complexity of an implementation is the average number of steps performed by invoked operations, in the worst case, taken over all possible executions. The <i>point contention</i> of an execution, denoted by <span>\\(\\dot{c}\\)</span>, measures the maximal number of precesses simultaneously active in the execution. Ruppert (2016) showed that the amortized step complexity of known lock-free implementations for many shared data structures includes an additive factor linear in the point contention <span>\\(\\dot{c}\\)</span>. This paper shows that there is no lock-free implementation with <span>\\(o(\\min \\{\\dot{c}, \\sqrt{\\log \\log n}\\})\\)</span> amortized <i>RMR</i> complexity of queues, stacks or heaps from reads, writes, comparison primitives (such as <span>compare &amp;swap</span>) and <span>LL/SC</span>, where <i>n</i> is the total number of the processes in the system. In addition, the paper shows a <span>\\(\\Omega (\\min \\{\\dot{c}, \\log \\log n\\})\\)</span> lower bound on the amortized <i>step</i> complexity for shared linked lists, skip lists, search trees and other pointer-based data structures. These lower bounds mean that the additive factor linear in <span>\\(\\dot{c}\\)</span> is inherent for these implementations, provided that the point contention is small compared to the number of processes in the system (i.e. <span>\\(\\dot{c}\\in O(\\sqrt{\\log \\log n})\\)</span> or <span>\\(\\dot{c}\\in O(\\log \\log n)\\)</span>).</p>","PeriodicalId":22832,"journal":{"name":"Theory of Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.6000,"publicationDate":"2024-07-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theory of Computing Systems","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s00224-024-10184-w","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0

Abstract

The amortized step complexity of an implementation measures its performance as a whole, rather than the performance of individual operations. Specifically, the amortized step complexity of an implementation is the average number of steps performed by invoked operations, in the worst case, taken over all possible executions. The point contention of an execution, denoted by \(\dot{c}\), measures the maximal number of precesses simultaneously active in the execution. Ruppert (2016) showed that the amortized step complexity of known lock-free implementations for many shared data structures includes an additive factor linear in the point contention \(\dot{c}\). This paper shows that there is no lock-free implementation with \(o(\min \{\dot{c}, \sqrt{\log \log n}\})\) amortized RMR complexity of queues, stacks or heaps from reads, writes, comparison primitives (such as compare &swap) and LL/SC, where n is the total number of the processes in the system. In addition, the paper shows a \(\Omega (\min \{\dot{c}, \log \log n\})\) lower bound on the amortized step complexity for shared linked lists, skip lists, search trees and other pointer-based data structures. These lower bounds mean that the additive factor linear in \(\dot{c}\) is inherent for these implementations, provided that the point contention is small compared to the number of processes in the system (i.e. \(\dot{c}\in O(\sqrt{\log \log n})\) or \(\dot{c}\in O(\log \log n)\)).

Abstract Image

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
共享对象摊销时间复杂度的下限
实现的摊销步骤复杂度衡量的是整体性能,而不是单个操作的性能。具体来说,实现的摊销步骤复杂度是在最坏情况下,所有可能执行中调用操作执行的平均步骤数。执行的点争用 \(\dot{c}\)表示,衡量的是执行中同时激活的预进程的最大数量。Ruppert (2016)表明,许多共享数据结构的已知无锁实现的摊销步骤复杂度包括一个与点争用(\(\dot{c}\))线性的添加因子。本文表明,在队列、栈或堆的读、写、比较原语(如比较&交换)和 LL/SC 的摊销 RMR 复杂性(其中 n 是系统中进程的总数)方面,不存在具有 \(o(\min\{dot{c}, \sqrt{log\log n}\})摊销 RMR 复杂性的无锁实现。此外,论文还展示了共享链表、跳转列表、搜索树和其他基于指针的数据结构的摊销步骤复杂度的下限((\Omega (\min \{dot{c}, \log \log n\})\) )。这些下限意味着,只要与系统中的进程数量相比,点争用很小(即 \(\dot{c}\in O(\sqrt{log \log n})\)或 \(\dot{c}\in O(\log \log n)\)),与 \(\dot{c}\in O(\log \log n)\)线性相关的附加因子对于这些实现来说是固有的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Theory of Computing Systems
Theory of Computing Systems 工程技术-计算机:理论方法
CiteScore
1.90
自引率
0.00%
发文量
36
审稿时长
6-12 weeks
期刊介绍: TOCS is devoted to publishing original research from all areas of theoretical computer science, ranging from foundational areas such as computational complexity, to fundamental areas such as algorithms and data structures, to focused areas such as parallel and distributed algorithms and architectures.
期刊最新文献
Elastic-Degenerate String Matching with 1 Error or Mismatch String Attractors of Some Simple-Parry Automatic Sequences Jumping Automata over Infinite Words On the Solution Sets of Three-Variable Word Equations Near-Optimal Auctions on Independence Systems
×
引用
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