9410421 Jayanti The main objective of this project is to obtain a classification of synchronization primitives in parallel processing systems, with the goal of reflecting the power and limitations of each primitive. The effectiveness of a parallel processing system to solve a computation depends to a large extent on the support for communication and synchronization among processes. In shared memory systems, higher level shared objects such as shared queues are implemented in software using shared hardware primitives like registers and test&set instructions. In fault- tolerant asynchronous systems, where processes progress at arbitrarily varying rates, such software implementations must guarantee that a process can complete successfully, regardless of how fast or slow the other processes are. It is known that hardware primitives vary widely in their ability to support such software implementations. The classification proposed in this research will bring out the capabilities and limitations of synchronization primitives. The classification will be useful to the designer of a multiprocessor in deciding which primitive to support in hardware. It will also be useful to the systems programmer in determining whether a high level object of interest (e.g., a queue that can be accessed concurrently by 100 processes) has a software implementation in a given system. ***

Project Start
Project End
Budget Start
1994-08-01
Budget End
1998-07-31
Support Year
Fiscal Year
1994
Total Cost
$74,939
Indirect Cost
Name
Dartmouth College
Department
Type
DUNS #
City
Hanover
State
NH
Country
United States
Zip Code
03755