As core counts increase and as heterogeneity becomes more common in parallel computing, we face the prospect of pro-gramming hundreds or even thousands of concurrent threads in a single shared-memory system. At these scales, even highly-efficient concurrent algorithms and data structures can become bottlenecks, unless they are designed from the ground up with throughput as their primary goal. In this paper, we present three contributions: (1) a char-acterization of queue designs in terms of modern multi- and many-core architectures, (2) the design of a high-throughput, linearizable, blocking, concurrent FIFO queue for many-core architectures that avoids the bottlenecks and pitfalls com-mon in modern queue designs, and (3) a thorough evalu-a...
Ensuring the continuous scaling of parallel applications is challenging on many-core processors, due...
Multi-core processors are becoming omnipresent in all kinds of computing platforms. Applications dev...
The convergence of highly parallel many-core graphics processors with conventional multi-core proces...
In this paper we revisit the design of concurrent data structures -- specifically queues -- and exam...
Abstract. In this work, we study the scalability, performance, design and implementation of basic da...
Synchronization of concurrent threads is the central problem in order to design efficient concurrent...
Advanced many-core CPU chips already have few hundreds of processing cores (e.g. 160 cores in an IBM...
The concurrent priority queue is one of the shared memory data structures that can be dynamically ma...
Core-to-core communication is critical to the effective use of multi-core processors. A number of so...
Link to published version: http://portal.acm.org/ft_gateway.cfm?id=248106&type=pdf&coll=portal&dl=AC...
The Single-chip Cloud Computer (SCC) is an experimental multicore processor created by Intel Labs fo...
The efficiency of concurrent data structures is crucial to the performance of multi-threaded program...
Multicore architectures are an inflection point in mainstream software development because they forc...
Conventional wisdom in designing concurrent data structures is to use the most powerful synchronizat...
There’s no doubt that the fundamentals of computer programming were broken at the launch of the mu...
Ensuring the continuous scaling of parallel applications is challenging on many-core processors, due...
Multi-core processors are becoming omnipresent in all kinds of computing platforms. Applications dev...
The convergence of highly parallel many-core graphics processors with conventional multi-core proces...
In this paper we revisit the design of concurrent data structures -- specifically queues -- and exam...
Abstract. In this work, we study the scalability, performance, design and implementation of basic da...
Synchronization of concurrent threads is the central problem in order to design efficient concurrent...
Advanced many-core CPU chips already have few hundreds of processing cores (e.g. 160 cores in an IBM...
The concurrent priority queue is one of the shared memory data structures that can be dynamically ma...
Core-to-core communication is critical to the effective use of multi-core processors. A number of so...
Link to published version: http://portal.acm.org/ft_gateway.cfm?id=248106&type=pdf&coll=portal&dl=AC...
The Single-chip Cloud Computer (SCC) is an experimental multicore processor created by Intel Labs fo...
The efficiency of concurrent data structures is crucial to the performance of multi-threaded program...
Multicore architectures are an inflection point in mainstream software development because they forc...
Conventional wisdom in designing concurrent data structures is to use the most powerful synchronizat...
There’s no doubt that the fundamentals of computer programming were broken at the launch of the mu...
Ensuring the continuous scaling of parallel applications is challenging on many-core processors, due...
Multi-core processors are becoming omnipresent in all kinds of computing platforms. Applications dev...
The convergence of highly parallel many-core graphics processors with conventional multi-core proces...