1,037 research outputs found
Strong Memory Consistency For Parallel Programming
Correctly synchronizing multithreaded programs is challenging, and errors can lead to program failures (e.g., atomicity violations). Existing memory consistency models rule out some possible failures, but are limited by depending on subtle programmer-defined locking code and by providing unintuitive semantics for incorrectly synchronized code. Stronger memory consistency models assist programmers by providing them with easier-to-understand semantics with regard to memory access interleavings in parallel code. This dissertation proposes a new strong memory consistency model based on ordering-free regions (OFRs), which are spans of dynamic instructions between consecutive ordering constructs (e.g. barriers). Atomicity over ordering-free
regions provides stronger atomicity than existing strong memory consistency models with competitive performance. Ordering-free regions also simplify programmer reasoning by limiting the potential for atomicity violations to fewer points in the program’s execution. This dissertation explores both software-only and hardware-supported systems that provide OFR serializability
Tracing a paradigm for externalization: Avatars and the GPII Nexus
We will situate the concept of an avatar (a working simulacrum of part of a system separated from
it in space or time) with respect to traditional concepts of programming language and systems design.
Whilst much theory and practice argues in favour of insulation (the creation of architectural boundaries
prohibiting the leakage of information) we will find that many successful systems take a diametrically
opposed approach. We name this family of systems as those based on externalised state transfer.
Rather than hiding implementation details behind APIs, object interfaces or similar, these systems actively
advertise their internal structure and its coordinates via data and metadata. Examples of these
systems include RESTful web applications, MIDI devices, and the DWARF debugging file format. We
discuss such systems and how we can purposefully design new systems embodying such virtues in a more
distilled form
- …