【24h】

A methodology for implementing highly concurrent data structures

机译:实现高度并发数据结构的方法

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

摘要

A concurrent object is a data structure shared by concurrent processes. Conventional techniques for implementing concurrent objects typically rely on critical sections: ensuring that only one process at a time can operate on the object. Nevertheless, critical sections are poorly suited for asynchronous systems: if one process is halted or delayed in a critical section, other, non-faulty processes will be unable to progress. By contrast, a concurrent object implementation is non-blocking if it always guarantees that some process will complete an operation in a finite number of steps, and it is wait-free if it guarantees that each process will complete an operation in a finite number of steps. This paper proposes a new methodology for constructing non-blocking and wait-free implementations of concurrent objects. The object's representation and operations are written as stylized sequential programs, with no explicit synchronization. Each sequential operation is automatically transformed into a non-blocking or wait-free operation using novel synchronization and memory management algorithms. These algorithms are presented for a multiple instruction/multiple data (MIMD) architecture in which n processes communicate by applying read, write, and compare&swap operations to a shared memory.

机译:

并发对象是并发进程共享的数据结构。用于实现并发对象的常规技术通常依赖于关键部分:确保一次只能在该对象上运行一个进程。但是,关键部分不太适合异步系统:如果一个进程在关键部分中被暂停或延迟,则其他无故障的进程将无法进行。相比之下,并发对象实现是 non-blocking ,如果它总是保证某个进程将在有限的步骤中完成操作,则它是 wait-free 它保证每个进程将在有限的步骤中完成一个操作。本文提出了一种构造并发对象的非阻塞和免等待实现的新方法。对象的表示形式和操作被编写为风格化的顺序程序,没有显式同步。使用新颖的同步和内存管理算法,每个顺序操作都会自动转换为无阻塞或无等待操作。这些算法针对多指令/多数据(MIMD)架构而提出,其中 n 进程通过应用读,写 compare&swap 操作进行通信到共享内存。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号