首页> 外文学位 >Time complexity bounds for shared-memory mutual exclusion.
【24h】

Time complexity bounds for shared-memory mutual exclusion.

机译:共享内存互斥的时间复杂度范围。

获取原文
获取原文并翻译 | 示例

摘要

Mutual exclusion algorithms are used to resolve conflicting accesses to shared resources by concurrent processes. The problem of designing such an algorithm is widely regarded as one of the "classic" problems in concurrent programming.; Recent work on scalable shared-memory mutual exclusion algorithms has shown that the most crucial factor in determining an algorithm's performance is the amount of traffic it generates on the processors-to-memory interconnect [23, 38, 61, 84]. In light of this, the RMR (remote-memory-reference) time complexity measure was proposed [84). Under this measure, an algorithm's time complexity is defined to be the worst-case number of remote memory references required by one process in order to enter and then exit its critical section.; In the study of shared-memory mutual exclusion algorithms, the following fundamental question arises: for a given system model, what is the most efficient mutual exclusion algorithm that can be designed under the RMR measure? This question is important because its answer enables us to compare the cost of synchronization in different systems with greater accuracy. With some primitives, constant-time algorithms are known, so the answer to this question is trivial. However, with other primitives (e.g. , under read/write atomicity), there are still gaps between the best known algorithms and lower bounds.; In this dissertation, we address this question. The main thesis to be supported by this dissertation can be summarized as follows. The mutual exclusion problem exhibits different time-complexity bounds as a function of both the number of processes (N) and the number of simultaneously active processes (contention, k), depending on the available synchronization primitives and the underlying system model. Moreover, these time-complexity bounds are nontrivial, in that constant-time algorithms are impossible in many cases .; In support of this thesis, we present a time-complexity lower bound of O(log N/log log N) for systems using atomic reads, writes, and comparison primitives, such as compare-and-swap. This bound is within a factor of theta(log log N) of being optimal. Given that constant-time algorithms based on fetch-and-&phis; primitives exist, this lower bound points to an unexpected weakness of compare-and-swap, which is widely regarded as being the most useful of all primitives to provide in hardware.; We also present an adaptive algorithm with theta(min(k, log N)) RMR time complexity under read/write atomicity, where k is contention. In addition, we present another lower bound that precludes the possibility of an o(k) algorithm for such systems, even if comparison primitives are allowed.; Regarding nonatomic systems, we present a theta(log N) nonatomic algorithm, and show that adaptive mutual exclusion is impossible in such systems by proving that any nonatomic algorithm must have a single-process execution that accesses O(log N/log log N) distinct variables.; Finally, we present a generic fetch-and-&phis;-based local-spin mutual exclusion algorithm with theta(logr N) RMR time complexity. This algorithm is "generic" in the sense that it can be implemented using any fetch-and-&phis; primitive of rank r, where 2 ≤ r N. The rank of a fetch-and-&phis; primitive expresses the extent to which processes may "order themselves" using that primitive. For primitives that meet a certain additional condition, we present a O(log N/log log N) algorithm, which is time-optimal for certain primitives of constant rank.
机译:互斥算法用于解决并发进程对共享资源的冲突访问。设计这种算法的问题被广泛认为是并发编程中的“经典”问题之一。关于可伸缩共享内存互斥算法的最新研究表明,确定算法性能的最关键因素是处理器到内存互连上产生的通信量[23,38,61,84]。有鉴于此,提出了RMR(远程存储参考)时间复杂度度量[84]。在这种情况下,算法的时间复杂度定义为一个进程进入和退出其关键部分所需的最坏情况的远程内存引用数。在共享内存互斥算法的研究中,出现了以下基本问题:对于给定的系统模型,在RMR措施下可以设计出最有效的互斥算法是什么?这个问题很重要,因为它的答案使我们能够更精确地比较不同系统中的同步成本。对于某些原语,恒定时间算法是已知的,因此,此问题的答案很简单。但是,对于其他原语(例如,在读/写原子性下),最知名的算法与下限之间仍然存在差距。在本文中,我们解决了这个问题。论文的主要工作概括如下。互斥问题根据进程数(N)和同时活动的进程数(竞争,k)的不同,表现出不同的时间复杂性界限,具体取决于可用的同步原语和底层系统模型。而且,这些时间复杂性边界是不平凡的,因为在许多情况下不可能使用恒定时间算法。为了支持这一论点,我们提出了使用原子读取,写入和比较原语(例如compare-and-swap)的系统的O(log N / log log N)的时间复杂度下界。该界限在最佳θ(log log N)的范围内。考虑到基于取和&phis的恒定时间算法;存在原语,该下限指出了比较和交换的意外弱点,被广泛认为是在硬件中提供的所有原语中最有用的。我们还提出了一种在读写原子性下具有theta(min(k,log N))RMR时间复杂度的自适应算法,其中k是竞争。另外,我们提出了另一个下限,即使允许比较原语,也排除了此类系统使用o(k)算法的可能性。关于非原子系统,我们提出了theta(log N)非原子算法,并通过证明任何非原子算法都必须具有访问O(log N / log log N)的单进程执行,来证明在此类系统中不可能实现自适应互斥不同的变量。最后,我们提出了一种具有theta(logr N)RMR时间复杂度的通用的基于fetch-and-phis的局部自旋互斥算法。从某种意义上说,该算法是“泛型”的,可以使用任何fetch-and-phis;等级r的基元,其中2≤r

著录项

  • 作者

    Kim, Yong-Jik.;

  • 作者单位

    The University of North Carolina at Chapel Hill.;

  • 授予单位 The University of North Carolina at Chapel Hill.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2003
  • 页码 457 p.
  • 总页数 457
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号