The availability of Non-Volatile Main Memory (known as NVMM) enables the design of recoverable concurrent algorithms. We study the power of software combining in achieving recoverable synchronization and designing persistent data structures. Software combining is a general synchronization approach, which attempts to simulate the ideal world when executing synchronization requests (i.e., requests that must be executed in mutual exclusion). A single thread, called the combiner, executes all active requests, while the rest of the threads are waiting for the combiner to notify them that their requests have been applied. Software combining significantly decreases the synchronization cost and outperforms many other synchronization techniques in v...
Due to power constraints, future growth in computing capability must explicitly leverage parallelism...
One common cause of poor performance in large-scale shared-memory multiprocessors is limited memory ...
Manual memory management is error prone. Some of the errors it causes, in particular memory leaks an...
The availability of Non-Volatile Main Memory (known as NVMM) enables the design of recoverable concu...
We study the performance power of software combining in designing persistent algorithms and data str...
We study the performance power of software combining in designing recoverable algorithms and data st...
Two key synchronization paradigms for the construction of scalable concurrent data-structures are so...
This paper presents a generic approach for deriving detectably recoverable implementations of many w...
Multicore and many-core architectures have penetrated the vast majority of computing systems, from h...
The recent development of multi-core computer architectures has largely affected the creation of eve...
Synchronization is a central issue in concurrency and plays an important role in the behavior and pe...
his paper addresses the problem of universal synchronization primitives that can support scalable th...
We propose a technique for maintaining coherency of a transactional distributed shared memory, used ...
Parallelism plays a significant role in high-performance computing systems, from large clusters of c...
We present an efficient memory management scheme for concurrent programming languages where communic...
Due to power constraints, future growth in computing capability must explicitly leverage parallelism...
One common cause of poor performance in large-scale shared-memory multiprocessors is limited memory ...
Manual memory management is error prone. Some of the errors it causes, in particular memory leaks an...
The availability of Non-Volatile Main Memory (known as NVMM) enables the design of recoverable concu...
We study the performance power of software combining in designing persistent algorithms and data str...
We study the performance power of software combining in designing recoverable algorithms and data st...
Two key synchronization paradigms for the construction of scalable concurrent data-structures are so...
This paper presents a generic approach for deriving detectably recoverable implementations of many w...
Multicore and many-core architectures have penetrated the vast majority of computing systems, from h...
The recent development of multi-core computer architectures has largely affected the creation of eve...
Synchronization is a central issue in concurrency and plays an important role in the behavior and pe...
his paper addresses the problem of universal synchronization primitives that can support scalable th...
We propose a technique for maintaining coherency of a transactional distributed shared memory, used ...
Parallelism plays a significant role in high-performance computing systems, from large clusters of c...
We present an efficient memory management scheme for concurrent programming languages where communic...
Due to power constraints, future growth in computing capability must explicitly leverage parallelism...
One common cause of poor performance in large-scale shared-memory multiprocessors is limited memory ...
Manual memory management is error prone. Some of the errors it causes, in particular memory leaks an...