TreadMarks: Shared Memory Computing on Networks of Workstations

  • Authors:
  • Cristiana Amza;Alan L. Cox;Sandhya Dwarkadas;Pete Keleher;Honghui Lu;Ramakrishnan Rajamony;Weimin Yu;Willy Zwaenepoel

  • Affiliations:
  • -;-;-;-;-;-;-;-

  • Venue:
  • Computer
  • Year:
  • 1996

Quantified Score

Hi-index 4.16

Visualization

Abstract

High-speed networks and improved microprocessor performance are making networks of workstations an appealing, low-cost vehicle for parallel computing. The hardware cost is essentially zero, since many organizations already have extensive workstation networks. In terms of performance, networked workstations can approach or exceed supercomputer performance for some applications, especially those without stringent synchronization and communication requirements. The authors' implementation, called TreadMarks, supports parallel computing on networks of workstations by providing the application with a shared memory abstraction. Shared memory facilitates the transition from sequential to parallel programs. After identifying possible sources of parallelism in the code, most of the data structures can be retained without change, and only synchronization needs to be added to achieve a correct shared-memory parallel program. TreadMarks is implemented entirely as a user-level library on top of Unix. Kernel modifications are unnecessary because modern Unix implementations provide all required communication and memory management functions. Programs written in C, C++, or Fortran are compiled and linked with the TreadMarks library using any standard compiler for that language. As a result, the system is fairly portable, and it has been ported to a number of platforms. These include IBM RS-6000, SP-1, and SP-2; DEC Alpha and DECStation; and Hewlett-Packard, Silicon Graphics, and Sun systems.