Accession Number:

ADA265007

Title:

Scalable Spin Locks for Multiprogrammed Systems

Descriptive Note:

Technical rept.

Corporate Author:

ROCHESTER UNIV NY DEPT OF COMPUTER SCIENCE

Report Date:

1993-04-01

Pagination or Media Count:

15.0

Abstract:

Synchronization primitives for large-scale multiprocessors need to provide low latency and low contention to achieve good performance. Queue-based locks implemented in software with fetch and Phi instructions can greatly reduce contention and improve overall performance by arranging for processors to spin only local locations. Unfortunately, queued locks exhibit poor behavior in the presence of multiprogramming a process near the end of the queue, in addition to waiting for any process ahead of it in the queue. To solve this problem, we present two queue-based locks that recover from in queue preemption. The first employs the kernel interface of the NYU Symunix project. The second employs an extended interface that shares information in both directions across the user-kernel boundary, resulting in simpler code and better performance. Experiments with these locks in both real and synthetic applications on SGI and KSR multiprocessors confirm the feasibility of high-performance software locks on systems that are both very large and multiprogrammed

Subject Categories:

  • Electrical and Electronic Equipment
  • Computer Programming and Software

Distribution Statement:

APPROVED FOR PUBLIC RELEASE