![Loading...](https://link.springer.com/static/c4a417b97a76cc2980e3c25e2271af3129e08bbe/images/pdf-preview/spacer.gif)
-
Chapter
Architectural Background
The correctness and performance of synchronization algorithms depend crucially on architectural details of multicore and multiprocessor machines. This chapter provides an overview of these details. It can be s...
-
Chapter
Practical Spin Locks
The mutual exclusion problem was first identified in the early 1960s. Dijkstra attributes the first 2-thread solution to Theodorus Dekker [Dijkstra, 1968b]. Dijkstra himself published an n-thread solution in 1965...
-
Chapter
Nonblocking Algorithms
When devising a concurrent data structure, we typically want to arrange for methods to be atomic—most often linearizable (Section 3.1.2). Most concurrent algorithms achieve atomicity by means of mutual exclusi...
-
Chapter and Conference Paper
Generic Multiversion STM
Multiversion software transactional memory (STM) allows a transaction to read old values of a recently updated object, after which the transaction may serialize before transactions that committed earlier in physi...
-
Chapter
Essential Theory
Concurrent algorithms and synchronization techniques have a long and very rich history of formalization—far too much to even survey adequately here. Arguably the most accessible resource for practitioners is t...
-
Article
Dynamics of Plains Cottonwood (Populus deltoides) Forests and Historical Landscape Change along Unchannelized Segments of the Missouri River, USA
Construction of six large dams and reservoirs on the Missouri River over the last 50–75 years has resulted in major landscape changes and alterations in flow patterns, with implications for riparian forests do...
-
Reference Work Entry In depth
Synchronization
-
Chapter and Conference Paper
Toward a Formal Semantic Framework for Deterministic Parallel Programming
Deterministic parallelism has become an increasingly attractive concept: a deterministic parallel program may be easier to construct, debug, understand, and maintain. However, there exist many different defini...
-
Chapter and Conference Paper
Fastpath Speculative Parallelization
We describe Fastpath, a system for speculative parallelization of sequential programs on conventional multicore processors. Our system distinguishes between the lead thread, which executes at almost-native speed,...
-
Chapter and Conference Paper
Transactions as the Foundation of a Memory Consistency Model
We argue that traditional synchronization objects, such as locks, conditions, and atomic/volatile variables, should be defined in terms of transactions, rather than the other way around. A traditional critical se...
-
Article
Assessing the extent and diversity of riparian ecosystems in Sonora, Mexico
Conservation of forested riparian ecosystems is of international concern. Relatively little is known of the structure, composition, diversity, and extent of riparian ecosystems in Mexico. We used high- and low...
-
Chapter and Conference Paper
Ordering-Based Semantics for Software Transactional Memory
It has been widely suggested that memory transactions should behave as if they acquired and released a single global lock. Unfortunately, this behavior can be expensive to achieve, particularly when—as in the ...
-
Article
Open AccessEarly Vegetation Development on an Exposed Reservoir: Implications for Dam Removal
The 4-year drawdown of Horsetooth Reservoir, Colorado, for dam maintenance, provides a case study analog of vegetation response on sediment that might be exposed from removal of a tall dam. Early vegetation re...
-
Chapter and Conference Paper
Transaction Safe Nonblocking Data Structures
This brief announcement focuses on interoperability of software transactions with ad hoc nonblocking algorithms. Specifically, we modify arbitrary nonblocking operations so that (1) they can be used both insid...
-
Chapter and Conference Paper
Conflict Detection and Validation Strategies for Software Transactional Memory
In a software transactional memory (STM) system, conflict detection is the problem of determining when two transactions cannot both safely commit. Validation is the related problem of ensuring that a transaction ...
-
Article
Dominance of non-native riparian trees in western USA
Concern about spread of non-native riparian trees in the western USA has led to Congressional proposals to accelerate control efforts. Debate over these proposals is frustrated by limited knowledge of non-nati...
-
Article
Use of individualistic streamflow-vegetation relations along the Fremont River, Utah, USA to assess impacts of flow alteration on wetland and riparian areas
We analyzed the transverse pattern of vegetation along a reach of the Fremont River in Capitol Reef National Park, Utah, USA using models that support both delineation of wetland extent and projection of the c...
-
Chapter and Conference Paper
Preemption Adaptivity in Time-Published Queue-Based Spin Locks
The proliferation of multiprocessor servers and multithreaded applications has increased the demand for high-performance synchronization. Traditional scheduler-based locks incur the overhead of a full context ...
-
Chapter and Conference Paper
Adaptive Software Transactional Memory
Software Transactional Memory (STM) is a generic synchronization construct that enables automatic conversion of correct sequential objects into correct nonblocking concurrent objects. Recent STM systems, though s...
-
Chapter and Conference Paper
Nonblocking Concurrent Data Structures with Condition Synchronization
We apply the classic theory of linearizability to operations that must wait for some other thread to establish a precondition. We model such an operation as a request and a follow-up, each with its own linearizat...