EDBT 2026 Demo / reviewers in the wild / expert
Ronald D. Barnes
dblp:77/1584
· DBLP profile ↗
9ranked-venue papers
4as first author
0since 2021 · last 2012
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 8 · 4 first-authorSoftware engineering, systems software and programming languages · 1
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
5 papers |
Processor architecture and microarchitecture · 65% Memory systems · 17% Parallel and multicore computing · 9% | |
| Software engineering, system software, and programming languages
4 papers |
Compilers and program optimization · 75% Program analysis · 25% |
Topics — the 17 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture › microprocessor design › processor core design
in-order core |
0.1 | 2 | 2005 | "Flea-flicker" Multipass Pipelining: An Alternative to the High-Power Out-of-Order Offense · MICRO 2005 Beating in-order stalls with "flea-flicker" two-pass pipelining · MICRO 2003 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.1 | 1 | 2006 | Beating In-Order Stalls with "Flea-Flicker" Two-Pass Pipelining · IEEE Trans. Computers 2006 |
Processor architecture and microarchitecture
latency hiding |
0.1 | 1 | 2006 | Beating In-Order Stalls with "Flea-Flicker" Two-Pass Pipelining · IEEE Trans. Computers 2006 |
Memory systems › memory access latency
load latency |
0.1 | 1 | 2006 | Beating In-Order Stalls with "Flea-Flicker" Two-Pass Pipelining · IEEE Trans. Computers 2006 |
Processor architecture and microarchitecture
pipelining |
0.1 | 1 | 2006 | Beating In-Order Stalls with "Flea-Flicker" Two-Pass Pipelining · IEEE Trans. Computers 2006 |
Parallel and multicore computing
runtime optimization |
0.1 | 2 | 2001 | An Architectural Framework for Runtime Optimization · IEEE Trans. Computers 2001 A hardware mechanism for dynamic extraction and relayout of program hot spots · ISCA 2000 |
Energy-efficient computing › power management › device power management
processor power management |
0.1 | 1 | 2005 | "Flea-flicker" Multipass Pipelining: An Alternative to the High-Power Out-of-Order Offense · MICRO 2005 |
Memory systems › cache
cache miss tolerance |
0.0 | 1 | 2003 | Beating in-order stalls with "flea-flicker" two-pass pipelining · MICRO 2003 |
Processor architecture and microarchitecture › pipelining
pipeline stall |
0.0 | 1 | 2003 | Beating in-order stalls with "flea-flicker" two-pass pipelining · MICRO 2003 |
Program analysis
dynamic analysis |
0.0 | 1 | 2002 | Vacuum packing: extracting hardware-detected program phases for post-link optimization · MICRO 2002 |
Compilers and program optimization › binary rewriting
post-link optimization |
0.0 | 1 | 2002 | Vacuum packing: extracting hardware-detected program phases for post-link optimization · MICRO 2002 |
Compilers and program optimization › dynamic optimization
profile-guided optimization |
0.0 | 1 | 2002 | Vacuum packing: extracting hardware-detected program phases for post-link optimization · MICRO 2002 |
Processor architecture and microarchitecture
branch prediction |
0.0 | 1 | 2001 | An Architectural Framework for Runtime Optimization · IEEE Trans. Computers 2001 |
Processor architecture and microarchitecture
instruction fetch |
0.0 | 1 | 2000 | A hardware mechanism for dynamic extraction and relayout of program hot spots · ISCA 2000 |
Processor architecture and microarchitecture › instruction fetch
trace cache |
0.0 | 1 | 2000 | A hardware mechanism for dynamic extraction and relayout of program hot spots · ISCA 2000 |
Compilers and program optimization
instruction scheduling |
0.0 | 1 | 2006 | Beating In-Order Stalls with "Flea-Flicker" Two-Pass Pipelining · IEEE Trans. Computers 2006 |
Compilers and program optimization
dynamic optimization |
0.0 | 1 | 2001 | An Architectural Framework for Runtime Optimization · IEEE Trans. Computers 2001 |
Methods — techniques the papers use, named apart from their topics
instruction marking · 0.1out-of-order execution · 0.1instruction profiling · 0.1hardware speculation · 0.1runahead execution · 0.1compile-time scheduling · 0.1branch target buffer · 0.1code replication · 0.0code extraction · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2012 | Phase-based scheduling and thread migration for heterogeneous multicore processorsabstractHeterogeneous multicore processors (HMPs) can provide better performance and reduced energy consumption than homogeneous ones [3]. Differences between cores provide different processing capabilities for different applications; a dynamic scheduler can exploit these differences to maximize performance and minimize energy consumption [5, 6] by adapting to fine changes in programs behavior. This work proposes new fine-grained online HMP schedulers using program phase identification. However, exploiting fine-grained scheduling results in frequent thread migrations that can harm performance. OS context switching is time consuming (30-60μs [4]). To reduce context switching overhead, a context switching circuit that both accelerates thread switches among cores in HMPs and reduces switching cost within each core (multitasking) is introduced. Lina Sawalha, Ronald D. Barnes |
PACT | 2 |
| 2011 | Phase-Guided Scheduling on Single-ISA Heterogeneous Multicore ProcessorsabstractSingle-ISA heterogeneous (also known as asymmetric) multicore processors offer significant advantages over homogenous multicores in terms of both power and performance. Power-efficient cores can be paired with higher-performance cores to achieve advantageous power/performance tradeoffs. Unfortunately, such processors also create unique challenges in effective mapping of processes to cores. The greater the diversity of cores, the more complex this problem becomes. Previous scheduling approaches sample performance while permuting the schedule across each type of core each time a change in application behavior is detected. However, approaches that require frequent sampling of the performance of threads (or combinations of threads) on each core may be impractical. We propose scheduling threads on a heterogeneous multicore processor using not just the detection of a change in program behavior or phase, but instead an identification and recording of these phase behaviors. We highlight the correlation between the execution phases of an application and the performance of those phases on any particular core type. We present mechanisms that exploit this correlation between program phases and appropriate scheduling decisions and demonstrate near optimal mapping of thread segments to processor cores can be done without frequently sampling the performance of each thread on each processor core type. Lina Sawalha, Sonya R. Wolff, Monte P. Tull, Ronald D. Barnes |
DSD | 4 |
| 2011 | Exploiting trunked radio to support ITS network expansion and redundancyabstractTypical intelligent transportation systems (ITS) are comprised of geographically distributed ITS devices including sensors, cameras and dynamic message signs (DMS). There are several options for providing data communication between these field devices and traffic management centers (TMC). Wireless networks are attractive due to their relatively lower cost and ease of deployment compared to fixed networks. However, these face unique security and signal interference problems, and deploying new wireless networks can require significant equipment investment. In this work, a new extremely low-cost wireless strategy for ITS network communication is presented. This approach applies control channels of the Network Trunking System (NTS), a licensed radio frequency to support the voice communication, to control DMS operation under the National Transportation Communications for ITS Protocol (NTCIP). Because the NTS network has already installed in the metropolitan, urban, and rural areas in Oklahoma, it provides a cheap deployment solution requiring only additional adapter devices. Long term operation and maintenance costs can further be amortized between voice and data services. The proposed technique is compared to the existing ITS wireless networking strategies and hybrid network strategies merging wired and wireless networks deployed in Oklahoma. Details of the strategy for using wireless networking in the Oklahoma ITS and experiences with wireless ITS device deployment are also provided. Ekasit Vorakitolan, Joseph P. Havlicek, Mohammed Atiquzzaman, Ronald D. Barnes |
PIMRC | 4 |
| 2006 | Beating In-Order Stalls with "Flea-Flicker" Two-Pass PipeliningabstractWhile compilers have generally proven adept at planning useful static instruction-level parallelism for in-order microarchitectures, the efficient accommodation of unanticipateable latencies, like those of load instructions, remains a vexing problem. Traditional out-of-order execution hides some of these latencies, but repeats scheduling work already done by the compiler and adds additional pipeline overhead. Other techniques, such as prefetching and multithreading, can hide some anticipateable, long-latency misses, but not the shorter, more diffuse stalls due to difficult-to-anticipate, first or second-level misses. Our work proposes a microarchitectural technique, two-pass pipelining, whereby the program executes on two in-order back-end pipelines coupled by a queue. The "advance" pipeline often defers instructions dispatching with unready operands rather than stalling. The "backup" pipeline allows concurrent resolution of instructions deferred by the first pipeline allowing overlapping of useful "advanced" execution with miss resolution. An accompanying compiler technique and instruction marking further enhance the handling of miss latencies. Applying our technique to an Itanium 2-like design achieves a speedup of 1.38x in mcf, the most memory-intensive SPECint2000 benchmark, and an average of 1.12 x across other selected benchmarks, yielding between 32 percent and 67 percent of an idealized out-of-order design's speedup at a much lower design cost and complexity. Ronald D. Barnes, John W. Sias, Erik M. Nystrom, Sanjay J. Patel, Nacho Navarro, Wen-Mei W. Hwu |
IEEE Trans. Computers | 1 |
| 2005 | "Flea-flicker" Multipass Pipelining: An Alternative to the High-Power Out-of-Order OffenseabstractAs microprocessor designs become increasingly power-and complexity-conscious, future microarchitectures must decrease their reliance on expensive dynamic scheduling structures. While compilers have generally proven adept at planning useful static instruction-level parallelism, relying solely on the compiler's instruction execution arrangement performs poorly when cache misses occur, because variable latency is not well tolerated. This paper proposes a new micro architectural model, multipass pipelining, that exploits meticulous compile-time scheduling on simple in-order hardware while achieving excellent cache miss tolerance through persistent advance preexecution beyond otherwise stalled instructions. The pipeline systematically makes multiple passes through instructions that follow a stalled instruction. Each pass increases the speed and energy efficiency of the subsequent ones by preserving computed results. The concept of multiple passes and successive improvement of efficiency across passes in a single pipeline distinguishes multipass pipelining from other runahead schemes. Simulation results show that the multipass technique achieves 77% of the cycle reduction of aggressive out-of-order execution relative to in-order execution. In addition, micro architectural-level power simulation indicates that benefits of multipass are achieved at a fraction of the power overhead of full dynamic scheduling. Ronald D. Barnes, Shane Ryoo, Wen-Mei W. Hwu |
MICRO | 1 |
| 2003 | Beating in-order stalls with "flea-flicker" two-pass pipeliningabstractAccommodating the uncertain latency of load instructions is one of the most vexing problems in in-order microarchitecture design and compiler development. Compilers can generate schedules with a high degree of instruction-level parallelism but cannot effectively accommodate unanticipated latencies; incorporating traditional out-of-order execution into the microarchitecture hides some of this latency but redundantly performs work done by the compiler and adds additional pipeline stages. Although effective techniques, such as prefetching and threading, have been proposed to deal with anticipable, long latency misses, the shorter, more diffuse stalls due to difficult-to-anticipate, first- or second-level misses are less easily hidden on in-order architectures. This paper addresses this problem by proposing a microarchitectural technique, referred to as two-pass pipelining, wherein the program executes on two in-order back-end pipelines coupled by a queue. The "advance" pipeline executes instructions greedily, without stalling on unanticipated latency dependences (executing independent instructions while otherwise blocking instructions are deferred). The "backup" pipeline allows concurrent resolution of instructions that were deferred in the other pipeline, resulting in the absorption of shorter misses and the overlap of longer ones. This paper argues that this design is both achievable and a good use of transistor resources and shows results indicating that it can deliver significant speedups for in-order processor designs. Ronald D. Barnes, Erik M. Nystrom, John W. Sias, Sanjay J. Patel, Nacho Navarro, Wen-Mei W. Hwu |
MICRO | 1 |
| 2002 | Vacuum packing: extracting hardware-detected program phases for post-link optimizationabstractThis paper presents Vacuum Packing, a new approach to profile-based program optimization. Instead of using traditional aggregate or summarized execution profile weights, this approach uses a transparent hardware profiler to automatically detect execution phases and record branch profile information for each new phase. The code extraction algorithm then produces code packages that are specially formed for their corresponding phases. The algorithm compensates for the incomplete and often incoherent branch profile information that arises due to the nature of hardware profilers. The technique avoids unnecessary code replication by focusing on hot code, making efficient connections between the original code and the new code, linking code packages at select points to facilitate phase transitions, and providing a platform for efficient optimization. We demonstrate that using a concise set of profile information from a hardware profiler, we can generate code packages, specialized for each phase of execution, that capture more than 80% of the average total program execution. We further show that the approach is very effective in extracting code regions that capture the phasing behavior of programs, that the code size increase is moderate, and that the code regions benefit from sample optimizations. Ronald D. Barnes, Erik M. Nystrom, Matthew C. Merten, Wen-Mei W. Hwu |
MICRO | 1 |
| 2001 | An Architectural Framework for Runtime OptimizationabstractWide-issue processors continue to achieve higher performance by exploiting greater instruction-level parallelism. Dynamic techniques such as out-of-order execution and hardware speculation have proven effective at increasing instruction throughput. Runtime optimization promises to provide an even higher level of performance by adaptively applying aggressive code transformations on a larger scope. This paper presents a new hardware mechanism for generating and deploying runtime optimized code. The mechanism can be viewed as a filtering system that resides in the retirement stage of the processor pipeline, accepts an instruction execution stream as input, and produces instruction profiles and sets of linked, optimized traces as output. The code deployment mechanism uses an extension to the branch prediction mechanism to migrate execution into the new code without modifying the original code. These new components do not add delay to the execution of the program except during short bursts of reoptimization. This technique provides a strong platform for runtime optimization because the hot execution regions are extracted, optimized, and written to main memory for execution and because these regions persist across context switches. The current design of the framework supports a suite of optimizations, including partial function inlining (even into shared libraries), code straightening optimizations, loop unrolling, and peephole optimizations. Matthew C. Merten, Andrew R. Trick, Ronald D. Barnes, Erik M. Nystrom, Christopher N. George, John C. Gyllenhaal, Wen-Mei W. Hwu |
IEEE Trans. Computers | 3 |
| 2000 | A hardware mechanism for dynamic extraction and relayout of program hot spotsabstractThis paper presents a new mechanism for collecting and deploying runtime optimized code. The code-collecting component resides in the instruction retirement stage and lays out hot execution paths to improve instruction fetch rate as well as enable further code optimization. The code deployment component uses an extension to the Branch Target Buffer to migrate execution into the new code without modifying the original code. No significant delay is added to the total execution of the program due to these components. The code collection scheme enables safe runtime optimization along paths that span function boundaries. This technique provides a better platform for runtime optimization than trace caches, because the traces are longer and persist in main memory across context switches. Additionally, these traces are not as susceptible to transient behavior because they are restricted to frequently executed code. Empirical results show that on average this mechanism can achieve better instruction fetch rates using only 12KB of hardware than a trace cache requiring 15KB of hardware, while producing long, persistent traces more suited to optimization. Matthew C. Merten, Andrew R. Trick, Erik M. Nystrom, Ronald D. Barnes, Wen-Mei W. Hwu |
ISCA | 4 |