1,580 research outputs found
Hardware Barrier Synchronization: Static Barrier MIMD (SBM)
In this paper, we give the design, and performance analysis, of a new, highly efficient, synchronization mechanism called “Static Barrier MIMD” or “SBM.” Unlike traditional barrier synchronization, the proposed barriers are designed to facilitate the use of static (compile-time) code scheduling for eliminating some synchronizations. For this reason, our barrier hardware is more general than most hardware barrier mechanisms, allowing any subset of the processors to participate in each barrier. Since code scheduling typically operates on fine-grain parallelism, it is also vital that barriers be able to execute in a small number of clock ticks. The SBM is actually only one of two new classes of barrier machines proposed to facilitate static code scheduling; the other architecture is the “Dynamic Barrier MIMD,” or “DBM,” which is described in a companion paper1. The DBM differs from the SBM in that the DBM employs more complex hardware to make the system less dependent on the precision of the static analysis and code scheduling; for example, an SBM cannot efficiently manage simultaneous execution of independent parallel programs, whereas a DBM can
Recommended from our members
Taxonomy of synchronization and barrier as a basic mechanism for building other synchronization from it
A Distributed Shared Memory(DSM) system consists of several computers that share a memory area and has no global clock. Therefore, an ordering of events in the system is necessary. Synchronization is a mechanism for coordinating activities between processes, which are program instantiations in a system
Performance Implications of Synchronization Support for Parallel FORTRAN Programs
Coordinated Science Laboratory was formerly known as Control Systems LaboratoryJoint Services Electronics Program / N00014-90-J-1270National Science Foundation / MIP-8809478National Aeronautics and Space Administration / NASA NAG 1-613NCRAMD 29K Advanced Processor Development Divisio
Types for X10 Clocks
X10 is a modern language built from the ground up to handle future parallel
systems, from multicore machines to cluster configurations. We take a closer
look at a pair of synchronisation mechanisms: finish and clocks. The former
waits for the termination of parallel computations, the latter allow multiple
concurrent activities to wait for each other at certain points in time. In
order to better understand these concepts we study a type system for a stripped
down version of X10. The main result assures that well typed programs do not
run into the errors identified in the X10 language reference, namely the
ClockUseException. The study will open, we hope, doors to a more flexible
utilisation of clocks in the X10 language.Comment: In Proceedings PLACES 2010, arXiv:1110.385
- …