Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Steven A. Lieberman

dblp:08/1655 · DBLP profile ↗
← Back
2ranked-venue papers
0as first author
0since 2021 · last 2008
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 2

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 72% Processor architecture and microarchitecture · 28%
Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%

Topics — the 11 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
dependence analysis
0.112008
Uncovering hidden loop level parallelism in sequential applications · HPCA 2008
Compilers and program optimization
program transformation
0.112008
Uncovering hidden loop level parallelism in sequential applications · HPCA 2008
Compilers and program optimization › parallelization
speculative parallelization
0.112008
Uncovering hidden loop level parallelism in sequential applications · HPCA 2008
Parallel and multicore computing › parallel programming models
automatic parallelization
0.112008
Uncovering hidden loop level parallelism in sequential applications · HPCA 2008
Parallel and multicore computing › parallelization strategies
loop parallelism
0.112008
Uncovering hidden loop level parallelism in sequential applications · HPCA 2008
Parallel and multicore computing › speculative parallelization
thread-level speculation
0.112008
Uncovering hidden loop level parallelism in sequential applications · HPCA 2008
Processor architecture and microarchitecture
chip multiprocessor
0.112007
Extending Multicore Architectures to Exploit Hybrid Parallelism in Single-thread Applications · HPCA 2007
Parallel and multicore computing › parallelization strategies
hybrid parallelism
0.112007
Extending Multicore Architectures to Exploit Hybrid Parallelism in Single-thread Applications · HPCA 2007
Processor architecture and microarchitecture › dataflow architecture
scalar operand network
0.112007
Extending Multicore Architectures to Exploit Hybrid Parallelism in Single-thread Applications · HPCA 2007
Parallel and multicore computing › parallel architecture
multicore performance
0.012008
Uncovering hidden loop level parallelism in sequential applications · HPCA 2008
Parallel and multicore computing
thread-level parallelism
0.012007
Extending Multicore Architectures to Exploit Hybrid Parallelism in Single-thread Applications · HPCA 2007

Methods — techniques the papers use, named apart from their topics

thread-level speculation · 0.2code transformation · 0.2compiler orchestration · 0.1
YearPublicationVenuePosition
2008 Uncovering hidden loop level parallelism in sequential applications
abstract
As multicore systems become the dominant mainstream computing technology, one of the most difficult challenges the industry faces is the software. Applications with large amounts of explicit thread-level parallelism naturally scale performance with the number of cores, but single-threaded applications realize little to no gains with additional cores. One solution to this problem is automatic parallelization that frees the programmer from the difficult task of parallel programming and offers hope for handling the vast amount of legacy single-threaded software. There is a long history of automatic parallelization for scientific applications, but the techniques have generally failed in the context of general-purpose software. Thread-level speculation overcomes the problem of memory dependence analysis by speculating unlikely dependences that serialize execution. However, this approach has lead to only modest performance gains. In this paper, we take another look at exploiting loop-level parallelism in single-threaded applications. We show that substantial amounts of loop-level parallelism is available in general-purpose applications, but it lurks beneath the surface and is often obfuscated by a small number of data and control dependences. We adapt and extend several code transformations from the instruction-level and scientific parallelization communities to uncover the hidden parallelism. Our results show that 61% of the dynamic execution of studied benchmarks can be parallelized with our techniques compared to 27% using traditional thread-level speculation techniques, resulting in a speedup of 1.84 on a four core system compared to 1.41 without transformations.
Hongtao Zhong, Mojtaba Mehrara, Steven A. Lieberman, Scott A. Mahlke
HPCA3
2007 Extending Multicore Architectures to Exploit Hybrid Parallelism in Single-thread Applications
abstract
Chip multiprocessors with multiple simpler cores are gaining popularity because they have the potential to drive future performance gains without exacerbating the problems of power dissipation and complexity. Current chip multiprocessors increase throughput by utilizing multiple cores to perform computation in parallel. These designs provide real benefits for server-class applications that are explicitly multi-threaded. However, for desktop and other systems where single-thread applications dominate, multicore systems have yet to offer much benefit. Chip multiprocessors are most efficient at executing coarse-grain threads that have little communication. However, general-purpose applications do not provide many opportunities for identifying such threads, due to frequent use of pointers, recursive data structures, if-then-else branches, small function bodies, and loops with small trip counts. To attack this mismatch, this paper proposes a multicore architecture, referred to as Voltron that extends traditional multicore systems in two ways. First, it provides a dual-mode scalar operand network to enable efficient inter-core communication and lightweight synchronization. Second, Voltron can organize the cores for execution in either coupled or decoupled mode. In coupled mode, the cores execute multiple instruction streams in lock-step to collectively function as a wide-issue VLIW. In decoupled mode, the cores execute a set of fine-grain communicating threads extracted by the compiler. This paper describes the Voltron architecture and associated compiler support for orchestrating bi-modal execution
Hongtao Zhong, Steven A. Lieberman, Scott A. Mahlke
HPCA2