David I. August

Performance Scalability of Decoupled Software Pipelining (2009)

Ram Rangan, Neil Vachharajani, Guilherme Ottoni, David I. August

Any successful solution to using multicore processors to scale general-purpose program performance will have to contend with rising intercore communication costs while exposing coarsegrained...

Achieving Structural and Composable Modeling of Complex Systems (2008)

David I. August, Sharad Malik, Li-shiuan Peh, Vijay Pai, Manish Vachharajani, Paul Willmann

This paper describes a recently released, structural and composable modeling system called the Liberty Simulation Environment (LSE). LSE automatically constructs simulators from system descriptions...

ABSTRACT Parallel-Stage Decoupled Software Pipelining Easwaran Raman Guilherme Ottoni Arun Raman (2008)

Matthew J. Bridges, David I. August

In recent years, the microprocessor industry has embraced chip multiprocessors (CMPs), also known as multi-core architectures, as the dominant design paradigm. For existing and new applications to...

Spice: Speculative Parallel Iteration Chunk Execution (2008)

Easwaran Raman, Neil Vachharajani, Ram Rangan, David I. August

ABSTRACT The recent trend in the processor industry of packing multiple pro-cessor cores in a chip has increased the importance of automatic techniques for extracting thread level parallelism. A...

Challenges (2008)

Kevin Skadron, Margaret Martonosi, David I. August, Mark D. Hill, David J. Lilja, Vijay S. Pai

National Science Foundation argues that simulation and benchmarking technology will require a leap in capability within the next few years to maintain ongoing innovation in computer systems. 30...

Achieving Structural and Composable Modeling of Complex Systems (2008)

David I. August, Sharad Malik, Li-shiuan Peh, Vijay Pai

This paper describes a recently-released, structural and composable modeling system called the Liberty Simulation Environment (LSE). LSE automatically constructs simulators from system descriptions...

Experience (2008)

Advisor Prof, David I. August, Advisor Prof, Chuen-liang Chen

Collaborated with Andes Technology Corporation on the development of embedded system software Designed and implemented a static/dynamic ARM-to-MIPS binary translation system Developed translation...

Challenges (2008)

Kevin Skadron, Margaret Martonosi, David I. August, Mark D. Hill, David J. Lilja, Vijay S. Pai

National Science Foundation argues that simulation and benchmarking technology will require a leap in capability within the next few years to maintain ongoing innovation in computer systems. 30...

The Liberty Structural Specification Language: AHigh-Level Modeling Language for Component Reuse (2008)

Manish Vachharajani, Neil Vachharajani, David I. August

ABSTRACT Rapid exploration of the design space with simulation models isessential for quality hardware systems research and development.

A Comparison of Reuse in Object-oriented Programming and Structural Modeling Systems (2008)

Manish Vachharajani, Neil Vachharajani, David I. August

Modeling systems in which users construct models by specifying the interconnect between concurrently executing components are a natural fit for hardware modeling. These concurrent-structural modeling...

Abstract Shape Analysis with Inductive Recursion Synthesis (2008)

Bolei Guo, Neil Vachharajani, David I. August

Separation logic with recursively defined predicates allows for concise yet precise description of the shapes of data structures. However, most uses of separation logic for program analysis rely on...

Selective Runtime Memory Disambiguation in a Dynamic Binary Translator (2008)

Bolei Guo, Youfeng Wu, Cheng Wang, Matthew J. Bridges, Guilherme Ottoni, Neil Vachharajani, ...

Abstract. Alias analysis, traditionally performed statically, is unsuited for a dynamic binary translator (DBT) due to incomplete control-flow information and the high complexity of an accurate...

D.3.3 Programming Languages: Language Constructs and Features– (2008)

Manish Vachharajani, Neil Vachharajani, Sharad Malik, David I. August

High-level hardware modeling is an essential, yet time-consuming, part of system design. However, effective component-based reuse in hardware modeling languages can reduce model construction time and...

Selective Runtime Memory Disambiguation in a Dynamic Binary Translator (2008)

Bolei Guo, Youfeng Wu, Cheng Wang, Matthew J. Bridges, Guilherme Ottoni, Neil Vachharajani, ...

Abstract. Alias analysis, traditionally performed statically, is unsuited for a dynamic binary translator (DBT) due to incomplete control-flow information and the high complexity of an accurate...

A Comparison of Reuse in Object-oriented Programming and Structural Modeling Systems (2008)

Manish Vachharajani, Neil Vachharajani, David I. August

Modeling systems in which users construct models by specifying the interconnect between concurrently executing components are a natural fit for hardware modeling. These concurrent-structural modeling...

Abstract Automatic Instruction Scheduler Retargeting by Reverse-Engineering (2008)

Matthew J. Bridges, Neil Vachharajani, Guilherme Ottoni, David I. August

In order to generate high-quality code for modern processors, a compiler must aggressively schedule instructions, maximizing resource utilization for execution efficiency. For a compiler to produce...

A Comparison of Reuse in Object-oriented Programming and Structural Modeling Systems (2008)

Manish Vachharajani, Neil Vachharajani, David I. August

Modeling systems in which users construct models by specifying the interconnect between concurrently executing components are a natural fit for hardware modeling. These concurrent-structural modeling...

Facilitating Reuse in Hardware Models (2008)

With Enhanced Type, Manish Vachharajani, Neil Vachharajani, Sharad Malik, David I. August

High-level hardware modeling is an essential, yet time-consuming, part of system design. However, effective component-based reuse in hardware modeling languages can reduce model construction time and...

Recognition (2008)

Advisor Prof, David I. August, Advisor Prof, Scott F. Kaplan, Thomas Jablin, Matthew J. Bridges, ...

Implement every demand eviction strategy that could be found in literature search in a simulator. Advisor: Scott F. Kaplan Teaching

Program Decision Logic Optimization Using Predication and Control Speculation (2007)

David I. August, W. Sias, Student Member

The mainstream arrival of predication, a means other than branching of selecting instructions for execution, has required compiler architects to reformulate fundamental analyses and transformations....

Speculative decoupled software pipelining (2007)

Neil Vachharajani, Ram Rangan, Easwaran Raman, Matthew J. Bridges, Guilherme Ottoni, David I. August

In recent years, microprocessor manufacturers have shifted their focus from single-core to multi-core processors. To avoid burdening programmers with the responsibility of parallelizing their...

Speculative decoupled software pipelining (2007)

Neil Vachharajani, Ram Rangan, Easwaran Raman, Matthew J. Bridges, Guilherme Ottoni, David I. August

In recent years, microprocessor manufacturers have shifted their focus from single-core to multi-core processors. To avoid burdening programmers with the responsibility of parallelizing their...

Global multi-threaded instruction scheduling (2007)

Guilherme Ottoni, David I. August

In the last few years, the microprocessor industry hasbeen undergoing one of its most fundamental changes in

Revisiting the sequential programming model for multi-core (2007)

Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas Jablin, David I. August

Single-threaded programming is already considered a complicated task. The move to multi-threaded programming only increases the complexity and cost involved in software development due to rewriting...

Global multi-threaded instruction scheduling (2007)

Guilherme Ottoni, David I. August

In the last few years, the microprocessor industry hasbeen undergoing what is being considered one of its major

Revisiting the sequential programming model for multi-core (2007)

Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas Jablin, David I. August

Single-threaded programming is already considered a complicated task. The move to multi-threaded programming only increases the complexity and cost involved in software development due to rewriting...

Fault-tolerant typed assembly language (2007)

Frances Perry, Lester Mackey, George A. Reis, Jay Ligatti, David I. August, David Walker

A transient hardware fault occurs when an energetic particle strikes a transistor, causing it to change state. Although transient faults do not permanently damage the hardware, they may corrupt...

Static typing for a faulty lambda calculus (2006)

David Walker, Lester Mackey, Jay Ligatti, George A. Reis, David I. August

A transient hardware fault occurs when an energetic particle strikes a transistor, causing it to change state. These faults do not cause permanent damage, but may result in incorrect program...

Non-uniform fault tolerance (2006)

Jonathan Chang, George A. Reis, Neil Vachharajani, Ram Rangan, David I. August

As devices become more susceptible to transient faults that can affect program correctness, processor designers will increasingly compensate by adding hardware or software redundancy. Proposed...

Non-uniform fault tolerance (2006)

Jonathan Chang, George A. Reis, Neil Vachharajani, Ram Rangan, David I. August

As devices become more susceptible to transient faults that can affect program correctness, processor designers will increasingly compensate by adding hardware or software redundancy. Proposed...

Support for high-frequency streaming in cmps (2006)

Ram Rangan, Neil Vachharajani, Adam Stoler, Guilherme Ottoni, David I. August

As the industry moves toward larger-scale chip multiprocessors, the need to parallelize applications grows. High inter-thread communication delays, exacerbated by over-stressed high-latency memory...

Automatic Instruction-Level Software-Only Recovery Methods (2006)

Jonathan Chang, George A. Reis, David I. August

As chip densities and clock rates increase, processors are becoming more susceptible to transient faults that can affect program correctness. Computer architects have typically addressed reliability...

Exploiting parallelism and structure to accelerate the simulation of chip multi-processors (2006)

David A. Penry, Daniel Fay, David Hodgdon, Ryan Wells, Graham Schelle, David I. August, ...

Simulation is an important means of evaluating new microarchitectures. Current trends toward chip multiprocessors (CMPs) try the ability of designers to develop efficient simulators. CMP simulation...

A framework for unrestricted whole-program optimization (2006)

Spyridon Triantafyllis, Matthew J. Bridges, Easwaran Raman, Guilherme Ottoni, David I. August

Procedures have long been the basic units of compilation in conventional optimization frameworks. However, procedures are typically formed to serve software engineering rather than optimization...

Support for high-frequency streaming in cmps (2006)

Ram Rangan, Neil Vachharajani, Adam Stoler, Guilherme Ottoni, David I. August

As the industry moves toward larger-scale chip multiprocessors, the need to parallelize applications grows. High inter-thread communication delays, exacerbated by over-stressed high-latency memory...

Software fault detection using dynamic instrumentation (2006)

George A. Reis, David I. August

In recent decades, microprocessor performance has been increasing exponentially. A large fraction of this performance gain is directly due to smaller and faster transistors enabled by improved...

A framework for unrestricted whole-program optimization (2006)

Spyridon Triantafyllis, Matthew J. Bridges, Easwaran Raman, Guilherme Ottoni, David I. August

Procedures have long been the basic units of compilation in conventional optimization frameworks. However, procedures are typically formed to serve software engineering rather than optimization...

S.S.: Configurable Transient Fault Detection via Dynamic Binary Translation (2006)

George A. Reis, Jonathan Chang, David I. August

Smaller feature sizes, lower voltage levels, and reduced noise margins have helped improve the performance and lower the power consumption of modern microprocessors. These same advances have made...

Static typing for a faulty lambda calculus (2006)

David Walker, Lester Mackey, Jay Ligatti, George A. Reis, David I. August

A transient hardware fault occurs when an energetic particle strikes a transistor, causing it to change state. These faults do not cause permanent damage, but may result in incorrect program...

Experience Easwaran Raman Curriculum Vitae (2006)

Advisor Prof, David I. August, Hewlett Packard Corporation, Hewlett Packard Corporation

Research a new structure layout optimization technique for multithreaded programs. The work resulted in a publication and a patent application.

Static typing for a faulty lambda calculus (2006)

David Walker, Lester Mackey, Jay Ligatti, George A. Reis, David I. August

A transient hardware fault occurs when an energetic particle strikes a transistor, causing it to change state. These faults do not cause permanent damage, but may result in incorrect program...

From sequential programs to concurrent threads (2005)

Guilherme Ottoni, Ram Rangan, Adam Stoler, Matthew J. Bridges, David I. August

Abstract — Chip multiprocessors are of increasing importance due to recent difficulties in achieving higher clock frequencies in uniprocessors, but their success depends on finding useful work for...

Design and evaluation of hybrid fault-detection systems (2005)

George A. Reis, Jonathan Chang, Neil Vachharajani, Ram Rangan, David I. August

As chip densities and clock rates increase, processors are becoming more susceptible to transient faults that can affect program correctness. Up to now, system designers have primarily considered...

Rapid development of a flexible validated processor model (2005)

David A. Penry, David I. August, Manish Vachharajani

For a variety of reasons, most architectural evaluations use simulation models. An accurate baseline model validated against existing hardware provides confidence in the results of these evaluations....

Automatic thread extraction with decoupled software pipelining (2005)

Guilherme Ottoni, Ram Rangan, Adam Stoler, David I. August

{ottoni, ram, astoler, august}@princeton.edu Abstract Until recently, a steadily rising clock rate and otheruniprocessor microarchitectural improvements could be relied upon to consistently deliver...

Compiler Optimization-Space Exploration (2005)

Spyridon Triantafyllis, Manish Vachharajani, David I. August

To meet the performance demands of modern architectures, compilers incorporate an everincreasing number of aggressive code transformations. Since most of these transformations are not universally...

SWIFT: Software Implemented Fault Tolerance (2005)

George A. Reis, Jonathan Chang, Neil Vachharajani, Ram Rangan, David I. August

To improve performance and reduce power, processor designers employ advances that shrink feature sizes, lower voltage levels, reduce noise margins, and increase clock rates. However, these advances...

Practical and Accurate Low-Level Pointer Analysis (2005)

Bolei Guo Matthew, Matthew J. Bridges, Spyridon Triantafyllis, Guilherme Ottoni, Easwaran Raman, David I. August

Pointer analysis is traditionally performed once, early in the compilation process, upon an intermediate representation (IR) with source-code semantics. However, performing pointer analysis only once...

Automatic thread extraction with decoupled software pipelining (2005)

Guilherme Ottoni, Ram Rangan, Adam Stoler, David I. August

Until recently, a steadily rising clock rate and other uniprocessor microarchitectural improvements could be relied upon to consistently deliver increasing performance for a wide range of...

Software-controlled fault tolerance (2005)

George A. Reis, Jonathan Chang, Neil Vachharajani, Ram Rangan, David I. August, Shubhendu S. Mukherjee

Traditional fault tolerance techniques typically utilize resources ineffectively because they cannot adapt to the changing reliability and performance demands of a system. This paper proposes...

A new approach to thread extraction for general-purpose programs (2005)

Guilherme Ottoni, Ram Rangan, Adam Stoler, David I. August

Until recently, a steadily rising clock rate and other uniprocessor microarchitectural improvements could be relied upon to consistently deliver increasing performance for a wide range of...

Rapid development of a flexible validated processor model (2005)

David A. Penry, David I. August

Given the central role of simulation in procesor design and research, an accurate, validated, and easily modified simulation model is extremely desirable. Prior work proposed a modeling methodology...

From sequential programs to concurrent threads (2005)

Guilherme Ottoni, Ram Rangan, Adam Stoler, Matthew J. Bridges, David I. August

Abstract — Chip multiprocessors are of increasing importance due to recent difficulties in achieving higher clock frequencies in uniprocessors, but their success depends on finding useful work for...

Chip multi-processor scalability for single-threaded applications (2005)

Neil Vachharajani, Matthew Iyer, Chinmay Ashok, Manish Vachharajani, David I. August, Daniel Connors

The exponential increase in uniprocessor performance has begun to slow. Designers have been unable to scale performance while managing thermal, power, and electrical effects. Furthermore, design...

Design and evaluation of hybrid fault-detection systems (2005)

George A. Reis, Jonathan Chang, Neil Vachharajani, Ram Rangan, David I. August

As chip densities and clock rates increase, processors are becoming more susceptible to transient faults that can affect program correctness. Up to now, system designers have primarily considered...

Exposing memory access regularities using object-relative memory profiling (2004)

Qiang Wu, Artem Pyatakov, Alexey Spiridonov, Easwaran Raman, Douglas W. Clark, David I. August

Memory profiling is the process of characterizing a program's memory behavior by observing and recording its response to specific input sets. Relevant aspects of the program's memory...

RIFLE: An architectural framework for user-centric information-flow security (2004)

Neil Vachharajani, Matthew J. Bridges, Jonathan Chang, Ram Rangan, Guilherme Ottoni, Jason A. Blome, ...

Even as modern computing systems allow the manipulation and distribution of massive amounts of information, users of these systems are unable to manage the confidentiality of their data in a...

The Liberty Simulation Environment: A deliberate approach to high-level system modeling (2004)

Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason A. Blome, Sharad Malik, David I. August

In digital hardware system design, the quality of the product is directly related to the number of meaningful design alternatives properly considered. Unfortunately, existing modeling methodologies...

Exposing memory access regularities using object-relative memory profiling (2004)

Qiang Wu, Artem Pyatakov, Alexey Spiridonov, Easwaran Raman, Douglas W. Clark, David I. August

Memory profiling is the process of characterizing a program’s memory behavior by observing and recording its response to specific input sets. Relevant aspects of the program’s memory behavior may...

RIFLE: An architectural framework for user-centric information-flow security (2004)

Neil Vachharajani, Matthew J. Bridges, Jonathan Chang, Ram Rangan, Guilherme Ottoni, Jason A. Blome, ...

Even as modern computing systems allow the manipulation and distribution of massive amounts of information, users of these systems are unable to manage the confidentiality of their data in a...

The Liberty Structural Specification Language: A High-Level Modeling Language for Component Reuse (2004)

Manish Vachharajani, Neil Vachharajani, David I. August

Rapid exploration of the design space with simulation models is essential for quality hardware systems research and development. Despite striking commonalities across hardware systems, designers...

The Liberty Simulation Environment, Version 1.0 (2004)

Manish Vachharajani Neil, Neil Vachharajani, David A. Penry, Jason A. Blome, David I. August

High-level hardware modeling via simulation is an essential step in hardware systems design and research. Despite the importance of simulation, current model creation methods are error prone and are...

RIFLE: An Architectural Framework for User-Centric (2004)

Neil Vachharajani, Matthew J. Bridges, Jonathan Chang, Ram Rangan, Guilherme Ottoni, ...

Even as modern computing systems allow the manipulation and distribution of massive amounts of information, users of these systems are unable to manage the confidentiality of their data in a...

The Liberty Simulation Environment: A Deliberate (2004)

Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason A. Blome, Sharad Malik, ...

This article identifies and evaluates the shortcomings of existing methods to motivate the Liberty Simulation Environment (LSE). LSE is a high-level modeling tool engineered to address these...

The Liberty Simulation Environment, Version 1.0 (2004)

Manish Vachharajani Neil, Neil Vachharajani, David A. Penry, Jason A. Blome, David I. August

High-level hardware modeling via simulation is an essential step in hardware systems design and research. Despite the importance of simulation, current model creation methods are error prone and are...

RIFLE: An Architectural Framework for User-Centric (2004)

Neil Vachharajani, Matthew J. Bridges, Jonathan Chang, Ram Rangan, Guilherme Ottoni, ...

Even as modern computing systems allow the manipulation and distribution of massive amounts of information, users of these systems are unable to manage the confidentiality of their data in a...

The Liberty Structural Specification Language: A high-level modeling language for component reuse (2004)

Manish Vachharajani, Neil Vachharajani, David I. August

Rapid exploration of the design space with simulation models is essential for quality hardware systems research and development. Despite striking commonalities across hardware systems, designers...

Decoupled Software Pipelining with the Synchronization Array (2004)

Ram Rangan, Neil Vachharajani, Manish Vachharajani, David I. August

Despite the success of instruction-level parallelism (ILP) optimizations in increasing the performance of microprocessors, certain codes remain elusive. In particular, codes containing recursive data...

Exposing memory access regularities using object-relative memory profiling (2004)

Qiang Wu, Artem Pyatakov, Alexey Spiridonov, Easwaran Raman, Douglas W. Clark, David I. August

Memory profiling is the process of characterizing a program’s memory behavior by observing and recording its response to specific input sets. Relevant aspects of the program’s memory behavior may...

Decoupled Software Pipelining with the Synchronization Array (2004)

Ram Rangan, Neil Vachharajani, Manish Vachharajani, David I. August

Despite the success of instruction-level parallelism (ILP) optimizations in increasing the performance of microprocessors, certain codes remain elusive. In particular, codes containing recursive data...

Exposing memory access regularities using object-relative memory profiling (2004)

Qiang Wu, Artem Pyatakov, Alexey Spiridonov, Easwaran Raman, Douglas W. Clark, David I. August

Memory profiling is the process of characterizing a program’s memory behavior by observing and recording its response to specific input sets. Relevant aspects of the program’s memory behavior may...

The Liberty Simulation Environment, Version 1.0 (2004)

Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason A. Blome, David I. August

High-level hardware modeling via simulation is an essential step in hardware systems design and research. Despite the importance of simulation, current model creation methods are error prone and are...

Finding dominators in practice (2004)

Loukas Georgiadis, Renato F. Werneck, Robert E. Tarjan, David I. August

Abstract. The computation of dominators in a flowgraph has applications in program optimization, circuit testing, and other areas. Lengauer and Tarjan [17] proposed two versions of a fast algorithm...

The Liberty Simulation Environment: A Deliberate Approach to High-Level System Modeling (2004)

Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason A. Blome, Sharad Malik, David I. August

This article identi es and evaluates the shortcomings of existing methods to motivate the Liberty Simulation Environment (LSE). LSE is a high-level modeling tool engineered to address these...

References (2003)

Mark D. Hill, Kevin Skadron, Margaret Martonosi, David I. August, Mark D. Hill

Many future multiprocessor servers will execute large commercial workloads, such as database management systems and web servers. Thus, simulations of new multiprocessor designs should run these...

Compiler optimization-space exploration (2003)

Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani, David I. August

To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger number of increasingly complex transformation algorithms. Since code transformations may often...

Compiler optimization-space exploration (2003)

Spyridon Triantafyllis, Manish Vachharajani, David I. August

To meet the performance demands of modern architectures, compilers incorporate an everincreasing number of aggressive code transformations. Since most of these transformations are not universally...

Compiler Optimization-Space Exploration (2003)

Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani, David I. August

To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger number of increasingly complex transformation algorithms. Since code transformations may often...

The Liberty Simulation Environment as a Pedagogical Tool (2003)

Jason Blome Manish, Manish Vachharajani, Neil Vachharajani, David I. August

This paper describes how the Liberty Simulation Environment (LSE) and its graphical visualizer can be used in a computer architecture course. LSE allows for the rapid construction of simulators from...

Compiler optimization-space exploration (2003)

Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani, David I. August

To meet the demands of modern architectures, optimizing compilers must incorporate an ever larger number of increasingly complex transformation algorithms. Since code transformations may often...

Microarchitectural exploration with Liberty (2002)

Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason A. Blome, David I. August

To find the best designs, architects must rapidly simulate many design alternatives and have confidence in the results. Unfortunately, the most prevalent simulator construction methodology,...

Procedure Boundary Elimination for EPIC Compilers (2002)

Spyridon Triantafyllis, Manish Vachharajani, David I. August

Procedures are the basic units of compilation in traditional optimization frameworks. This presents problems to compilers targeting EPIC architectures, since the limited scope of a single procedure...

Optimizations for a Simulator Construction System Supporting Reusable Components (2002)

David A. Penry, David I. August

Exploring a large portion of the microprocessor design space requires the rapid development of efficient simulators. While some systems support rapid model development through the structural...

Microarchitectural Exploration with Liberty (2002)

Manish Vachharajani Neil, Neil Vachharajani, David A. Penry, Jason A. Blome, David I. August

To find the best designs, architects must rapidly simulate many design alternatives and have confidence in the results. Unfortunately, the most prevalent simulator construction methodology,...

Procedure boundary elimination for EPIC compilers (2002)

Spyridon Triantafyllis, Manish Vachharajani, David I. August

Procedures are the basic units of compilation in traditional optimization frameworks. This presents problems to compilers targeting EPIC architectures, since the limited scope of a single procedure...

Microarchitectural exploration with Liberty (2002)

Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason A. Blome, David I. August

To find the best designs, architects must rapidly simulate many design alternatives and have confidence in the results. Unfortunately, the most prevalent simulator construction methodology,...

Procedure boundary elimination for EPIC compilers (2002)

Spyridon Triantafyllis, Manish Vachharajani, David I. August

Procedures are the basic units of compilation in traditional optimization frameworks. This presents problems to compilers targeting EPIC architectures, since the limited scope of a single procedure...

Accurate and efficient predicate analysis with binary decision diagrams (2000)

John W. Sias, David I. August

Functionality and performance of EPIC architectural features depend on extensive compiler support. Predication, one of these features, promises to reduce control flow overhead and to enhance...

The partial reverse if-conversion framework for balancing control flow and predication (1999)

David I. August, Scott A. Mahlke

Predicated execution is a promising architectural feature for exploiting instruction-level parallelism in the presence of control flow. Compiling for predicated execution involves converting program...

The program decision logic approach to predicated execution (1999)

David I. August, John W. Sias, Jean-michel Puiatti, Scott A. Mahlke, Daniel A. Connors, Kevin M. Crozier, ...

Modern compilers must expose sufficient amounts of Instruction-Level Parallelism (ILP) to achieve the promised performance increases of superscalar and VLIW processors. One of the major impediments...

An Architecture Framework for Introducing Predicated Execution into Embedded Microprocessors (1999)

Daniel A. Connors, Jean-Michel Puiatti, David I. August, Kevin M. Crozier

. Growing demand for high performance in embedded systems is creating new opportunities for Instruction-Level Parallelism (ILP) techniques that are traditionally used in high performance systems....

The Program Decision Logic Approach to Predicated Execution (1999)

David I. August, John W. Sias, Jean-Michel Puiatti, Scott A. Mahlke, Daniel A. Connors, Kevin M. Crozier, ...

Modern compilers must expose sufficient amounts of Instruction-Level Parallelism (ILP) to achieve the promised performance increases of superscalar and VLIW processors. One of the major impediments...

An architecture framework for introducing predicated execution into embedded microprocessors (1999)

Daniel A. Connors, Jean-michel Puiatti, David I. August, Kevin M. Crozier

Abstract. Growing demand for high performance in embedded systems is creating new opportunities for Instruction-Level Parallelism (ILP) techniques that are traditionally used in high performance...

Integrated predicated and speculative execution in the impact epic architecture (1998)

David I. August, Daniel A. Connors, Scott A. Mahlke, John W. Sias, Kevin M. Crozier, Ben-chung Cheng, ...

Explicitly Parallel Instruction Computing (EPIC) architectures require the compiler to express program instruction level parallelism directly to the hardware. EPIC techniques which enable the...

Integrated Predicated and Speculative Execution in the IMPACT EPIC Architecture (1998)

David I. August, Daniel A. Connors, Scott A. Mahlke, John W. Sias, Kevin M. Crozier, Ben-chung Cheng, ...

Explicitly Parallel Instruction Computing (EPIC) architectures require the compiler to express program instruction level parallelism directly to the hardware. EPIC techniques which enable the...

Curriculum Vitae (1998)

David I. August

• Selection of “Revisiting the Sequential Programming Model for Multi-Core ” for IEEE Micro’s “Top Picks ” special issue for papers “most relevant to industry and significant in...

A framework for balancing control flow and predication (1997)

David I. August, Scott A. Mahlke

Predicated execution is a promising architectural feature for exploiting instruction-level parallelism in the presence of control flow. Compiling for predicated execution involves converting program...

Architectural support for compiler-synthesized dynamic branch prediction strategies: Rationale and initial results (1997)

David I. August, Daniel A. Connors, John C. Gyllenhaal

This paper introduces a new architectural approach that supports compiler-synthesized dynamic branch predication. In compiler-synthesized dynamic branch prediction, the compiler generates code...

A Framework for Balancing Control Flow and Predication (1997)

David I. August, Scott A. Mahlke

Predicated execution is a promising architectural feature for exploiting instruction-level parallelism in the presence of control flow. Compiling for predicated execution involves converting program...

Architectural support for compiler-synthesized dynamic branch prediction strategies: Rationale and initial results (1997)

David I. August, Daniel A. Connors, John C. Gyllenhaal

This paper introduces a new architectural approach that supports compiler-synthesized dynamic branch predication. In compiler-synthesized dynamic branch prediction, the compiler generates code...

Compiler technology for future microprocessors (1995)

Richard E. Hank, David M. Gallagher, Scott A. Mahlke, Daniel M. Lavery, Grant E. Haab, ...

Advances in hardware technology have made it possible for microprocessors to execute a large number of instructions concurrently (i.e., in parallel). These microprocessors take advantage of the...

Sentinel scheduling with recovery blocks. Computer Science (1995)

David I. August, Brian L. Deitrich, Scott A. Mahlke

This paper introduces a method for speculative execution, sentinel scheduling with recovery blocks, which is an improvement uponsentinel scheduling. This method is compared against speculative models...

Compiler technology for future microprocessors (1995)

Richard E. Hank, David M. Gallagher, Scott A. Mahlke, Daniel M. Lavery, Grant E. Haab, ...

Advances in hardware technology have made it possible for microprocessors to execute a large number of instructions concurrently (i.e., in parallel). These microprocessors take advantage of the...

A comparison of full and partial predicated execution support for ILP processors (1995)

Scott A. Mahlke, Richard E. Hank, James E. Mccormick, David I. August

One can effectively utilize predicated execution to improve branch handling in instruction-level parallel processors. Although the potential benefits of predicated execution are high, the tradeoffs...

A comparison of full and partial predicated execution support for ILP processors (1995)

Scott A. Mahlke, Richard E. Hank, James E. Mccormick, David I. August

One can effectively utilize predicated execution to improve branch handling in instruction-level parallel processors. Although the potential benefits of predicated execution are high, the tradeoffs...

A comparison of full and partial predicated execution support for ILP processors (1995)

Scott A. Mahlke, Richard E. Hank, James E. Mccormick, David I. August

One can e ectively utilize predicated execution to improve branch handling in instruction-level parallel processors. Although the potential bene ts of predicated execution are high, the tradeo s...

Sentinel Scheduling with Recovery Blocks (1995)

David I. August, Brian L. Deitrich, Scott A. Mahlke

This paper introduces a method for speculative execution, sentinel scheduling with recovery blocks, which is an improvement upon sentinel scheduling. This method is compared against speculative...

Sentinel scheduling with recovery blocks. Computer Science (1995)

David I. August, Brian L. Deitrich, Scott A. Mahlke

This paper introduces a method for speculative execution, sentinel scheduling with recovery blocks, which is an improvement uponsentinel scheduling. This method is compared against speculative models...