scispace - formally typeset
Open AccessProceedings Article

The multicore revolution: the challenges for theory

Reads0
Chats0
TLDR
This paper surveys the area of Transactional memory, with a focus on open research problems, and promises to alleviate many (perhaps not all) of the problems associated with locking.
Abstract
Computer architecture is undergoing, if not another revolution, then a vigorous shaking-up. The major chip manufacturers have, for the time being, simply given up trying to make processors run faster. Instead, they have recently started shipping "multicore" architectures, in which multiple processors (cores) communicate directly through shared hardware caches, providing increased concurrency instead of increased clock speed. As a result, system designers and software engineers can no longer rely on increasing clock speed to hide software bloat. Instead, they must somehow learn to make effective use of increasing parallelism. This adaptation will not be easy. Conventional synchronization techniques based on locks and conditions are unlikely to be effective in such a demanding environment. Coarse-grained locks, which protect relatively large amounts of data, do not scale, and fine-grained locks introduce substantial software engineering problems. Transactional memory is a computational model in which threads synchronize by optimistic, lockfree transactions. This synchronization model promises to alleviate many (perhaps not all) of the problems associated with locking, and there is a growing community of researchers working on both software and hardware support for this approach. This paper surveys the area, with a focus on open research problems.

read more

Citations
More filters
Proceedings ArticleDOI

Multicore parallel min-cost flow algorithm for CAD applications

TL;DR: This work proposes a methodology to explore concurrency via nondeterministic transactional algorithm design, and to program them on multicore processors for CAD applications, and applies it to the min-cost flow problem.
Journal ArticleDOI

Multicore Parallelization of Min-Cost Flow for CAD Applications

TL;DR: The proposed methodology is applied to the min-cost flow problem which has been identified as the key problem in many design optimizations, from wire-length optimization in detailed placement to timing-constrained voltage assignment.
Proceedings ArticleDOI

Performance evaluation of medical imaging algorithms on Intel ® MIC platform

TL;DR: The analysis indicates that execution times of both of these algorithms are dominated by the memory access times and hence effective cache utilization as well as vectorization play a significant role in determining the achieved performance.

Economia de Energia usando Computação Voluntária Virtualizada

TL;DR: In this article, the authors propose an approach that uses underutilized hosts through virtualization, adjusting the use of grid applications to the leftover resources from daily usage of hosts, which can reduce the runtime of the applications while saving energy.
References
More filters
Journal ArticleDOI

Linearizability: a correctness condition for concurrent objects

TL;DR: This paper defines linearizability, compares it to other correctness conditions, presents and demonstrates a method for proving the correctness of implementations, and shows how to reason about concurrent objects, given they are linearizable.
Proceedings ArticleDOI

Transactional memory: architectural support for lock-free data structures

TL;DR: Simulation results show that transactional memory matches or outperforms the best known locking techniques for simple benchmarks, even in the absence of priority inversion, convoying, and deadlock.
Journal ArticleDOI

Wait-free synchronization

TL;DR: A hierarchy of objects is derived such that no object at one level has a wait-free implementation in terms of objects at lower levels, and it is shown that atomic read/write registers, which have been the focus of much recent attention, are at the bottom of the hierarchy.
Proceedings ArticleDOI

Software transactional memory

TL;DR: STM is used to provide a general highly concurrent method for translating sequential object implementations to non-blocking ones based on implementing a k-word compare&swap STM-transaction, a novel software method for supporting flexible transactional programming of synchronization operations.
Proceedings ArticleDOI

Software transactional memory for dynamic-sized data structures

TL;DR: A new form of software transactional memory designed to support dynamic-sized data structures, and a novel non-blocking implementation of this STM that uses modular contention managers to ensure progress in practice.