Lower Bounds on the Amortized Time Complexity of Shared Objects

被引:0
|
作者
Attiya, Hagit [1 ]
Fouren, Arie [2 ]
Ko, Jeremy [3 ]
机构
[1] Technion, Dept Comp Sci, IL-32000 Haifa, Israel
[2] Ono Acad Coll, Fac Business Adm, IL-5545173 Kiryat Ono, Israel
[3] Univ Toronto, Dept Comp Sci, Toronto, ON, Canada
基金
以色列科学基金会;
关键词
Monotone objects; Lists; Trees; Stacks and queues; Step complexity; Remote memory references;
D O I
10.1007/s00224-024-10184-w
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 c(center dot)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot{c}$$\end{document}, 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 c(center dot)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot{c}$$\end{document}. This paper shows that there is no lock-free implementation with o(min{c(center dot),loglogn})\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$o(\min \{\dot{c}, \sqrt{\log \log n}\})$$\end{document} 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{c(center dot),loglogn})\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Omega (\min \{\dot{c}, \log \log n\})$$\end{document} 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 c(center dot)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot{c}$$\end{document} is inherent for these implementations, provided that the point contention is small compared to the number of processes in the system (i.e. c(center dot)is an element of O(loglogn)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot{c}\in O(\sqrt{\log \log n})$$\end{document} or c(center dot)is an element of O(loglogn)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot{c}\in O(\log \log n)$$\end{document}).
引用
收藏
页码:1372 / 1426
页数:55
相关论文
共 50 条