Scalable Spin Locks for Multiprogrammed Systems

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

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 01, 1993
Accession Number
ADA265007

Entities

People

  • Leonidas I. Kontothanassis
  • Michael L. Scott
  • Robert W. Wisniewski

Organizations

  • University of Rochester

Tags

DTIC Thesaurus Topics

  • Algorithms
  • Computer Programming
  • Computer Science
  • Computers
  • Environment
  • Information Science
  • Information Systems
  • Instructions
  • Lists (Data Structures)
  • Military Research
  • Multiprocessors
  • Multiprogramming
  • Operating Systems
  • Scheduling (Production)
  • Standards
  • Universities

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.
  • Superconducting Magnet Technology