Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

How to share a data structure: A fast timingbased solution \Lambda

Summary: How to share a data structure:
A fast timing­based solution \Lambda
Rajeev Alur y Gadi Taubenfeld z
March 5, 1997
We consider the problem of transforming a given sequential implementation of a data
structure into a wait­free concurrent implementation. Given the code for different op­
erations of a data structure that is designed to work under the assumption that only a
single process accesses it, we want to construct an implementation that works correctly
in a concurrent environment where it may be accessed by many processes.
We assume a shared memory model with atomic registers. It is well known that,
in asynchronous systems, using atomic read/write registers only, it is impossible to
construct concurrent implementations of even very simple objects such as test­and­set
bits. We show that the knowledge about relative speeds of processes can be used for
such implementations. We assume that there is a known upper bound on the time
taken by the slowest process to execute a statement involving an access to the shared
memory. This timing assumption is very powerful and enables us to construct fast
wait­free implementations of data structures such as queues, stacks and synchronization
primitives such as test­and­set, compare­and­swap, fetch­and­add, etc.
Our transformation works only when the given sequential implementation is bounded,


Source: Alur, Rajeev - Department of Computer and Information Science, University of Pennsylvania


Collections: Computer Technologies and Information Sciences