Service restrictions from February 12-22, 2026—more information on the University Library website

Result: Implementing sequentially consistent programs on processor consistent platforms

Title:
Implementing sequentially consistent programs on processor consistent platforms
Source:
Journal of parallel and distributed computing (Print). 68(4):488-500
Publisher Information:
San Diego, CA: Elsevier, 2008.
Publication Year:
2008
Physical Description:
print, 41 ref
Original Material:
INIST-CNRS
Document Type:
Academic journal Article
File Description:
text
Language:
English
Author Affiliations:
Department of Computer Science, The University of Calgary, 2500 University Drive NW, Calgary, Alta., T2N IN4, Canada
Department of Computer Science, American University of Sharjah, United Arab Emirates
ISSN:
0743-7315
Rights:
Copyright 2008 INIST-CNRS
CC BY 4.0
Sauf mention contraire ci-dessus, le contenu de cette notice bibliographique peut être utilisé dans le cadre d’une licence CC BY 4.0 Inist-CNRS / Unless otherwise stated above, the content of this bibliographic record may be used under a CC BY 4.0 licence by Inist-CNRS / A menos que se haya señalado antes, el contenido de este registro bibliográfico puede ser utilizado al amparo de una licencia CC BY 4.0 Inist-CNRS
Notes:
Computer science; theoretical automation; systems
Accession Number:
edscal.20166787
Database:
PASCAL Archive

Further Information

Designers of distributed algorithms typically assume strong memory consistency guarantees, but system implementations provide weaker guarantees for better performance and scalability. This motivates the study of how to implement programs designed for sequential consistency on platforms with weaker consistency models. Typically, such implementations are impossible using only read and write operations to shared variables. One variant of processor consistency originally proposed by Goodman and called here PC-G is an exception because it provides just enough consistency to implement mutual exclusion using only reads and writes. This paper investigates the existence of compilers to convert arbitrary programs that use shared read/write variables with sequentially consistent memory semantics, to programs that use read/write variables with PC-G consistency semantics. We first provide a simple program transformation, and prove that it correctly compiles any 2-process program to a PC-G memory system, while preserving wait-freedom. We next prove that even a substantial generalization of this transformation cannot be a compiler for even a very restricted class of 3-process programs. Even though our program transformation is not a general compiler for three or more processes, it does correctly transform some specific n-process programs. In particular, for the special case of the (necessarily randomized) Test&Set algorithm of Tromp and Vitanyi, our transformation extends to any number of processes, thus providing the first algorithm for expected wait-free Test&Set on any weak memory system, using only read/write variables.