Atomic blocks allow programmers to delimit sections of code as ‘atomic’, leaving the language’s implementation to enforce atomicity. Existing work has shown how to implement atomic blocks over word-based transactional memory that provides scalable multiprocessor performance without requiring changes to the basic structure of objects in the heap. However, these implementations perform poorly because they interpose on all accesses to shared memory in the atomic block, redirecting updates to a thread-private log which must be searched by reads in the block and later reconciled with the heap when leaving the block. This paper takes a four-pronged approach to improving performance: (1) we introduce a new ‘direct access ’ implementation that avoi...
Thesis (Ph. D.)--University of Rochester. Dept. of Computer Science, 2009.In the past, only a small ...
Exploiting thread-level parallelism has become a part of mainstream programming in recent years. Man...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
Research on transactional memory began as a tool to improve the experience of programmers working on...
Transactional memory (TM) is a new optimistic synchronization technique which has the potential of m...
This paper introduces atomic deferral, an extension to TM that allows programmers to move long-runni...
Writing shared-memory parallel programs is an error-prone process. Atomicity violations are especial...
If future systems provide efficient support for atomic execution (i.e., by transactional memory), we...
Arguably, one of the biggest deterrants for software developers who might otherwise choose to write ...
Multithreaded programs often suffer from synchronization bugs such as atomicity violations and deadl...
As new trends in computer architecture yield towards shared-memory chip multiprocessors (CMP), the r...
In todays ubiquitous multiprocessor environment parallel programming becomes an important tool to re...
Transactional memory has great potential for simplifying multithreaded programming by allowing progr...
The Synchronized-By-Default (SBD) concurrency model synchronizes all accesses to shared memory by d...
The runtime system of dynamic languages such as Prolog or Lisp and their derivatives contain a symbo...
Thesis (Ph. D.)--University of Rochester. Dept. of Computer Science, 2009.In the past, only a small ...
Exploiting thread-level parallelism has become a part of mainstream programming in recent years. Man...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
Research on transactional memory began as a tool to improve the experience of programmers working on...
Transactional memory (TM) is a new optimistic synchronization technique which has the potential of m...
This paper introduces atomic deferral, an extension to TM that allows programmers to move long-runni...
Writing shared-memory parallel programs is an error-prone process. Atomicity violations are especial...
If future systems provide efficient support for atomic execution (i.e., by transactional memory), we...
Arguably, one of the biggest deterrants for software developers who might otherwise choose to write ...
Multithreaded programs often suffer from synchronization bugs such as atomicity violations and deadl...
As new trends in computer architecture yield towards shared-memory chip multiprocessors (CMP), the r...
In todays ubiquitous multiprocessor environment parallel programming becomes an important tool to re...
Transactional memory has great potential for simplifying multithreaded programming by allowing progr...
The Synchronized-By-Default (SBD) concurrency model synchronizes all accesses to shared memory by d...
The runtime system of dynamic languages such as Prolog or Lisp and their derivatives contain a symbo...
Thesis (Ph. D.)--University of Rochester. Dept. of Computer Science, 2009.In the past, only a small ...
Exploiting thread-level parallelism has become a part of mainstream programming in recent years. Man...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...