Front Page

The Liberty Research Group

Publications

The VELOCITY Compiler: Extracting Efficient Multicore Execution from Legacy Sequential Programs [abstract] (PDF, PostScript)
Matthew John Bridges
Ph.D. Thesis, Department of Computer Science, Princeton University, November 2008.

Intelligent Speculation for Pipelined Multithreading [abstract] (PDF)
Neil Amar Vachharajani
Ph.D. Thesis, Department of Computer Science, Princeton University, November 2008.

Global Instruction Scheduling for Multi-Threaded Architectures [abstract] (PDF, PostScript)
Guilherme de Lima Ottoni
Ph.D. Thesis, Department of Computer Science, Princeton University, September 2008.

Performance Scalability of Decoupled Software Pipelining [abstract] (PDF)
Ram Rangan, Neil Vachharajani, Guilherme Ottoni, and David I. August
ACM Transactions on Architecture and Code Optimization (TACO), Volume 5, Number 2, August 2008.

Software Modulated Fault Tolerance [abstract] (PDF, PostScript)
George A. Reis
Ph.D. Thesis, Department of Electrical Engineering, Princeton University, June 2008.

Shape Analysis with Inductive Recursion Synthesis [abstract] (PDF)
Bolei Guo
Ph.D. Thesis, Department of Computer Science, Princeton University, June 2008.

Spice: Speculative Parallel Iteration Chunk Execution [abstract] (PDF, PostScript)
Easwaran Raman, Neil Vachharajani, Ram Rangan, and David I. August
Proceedings of the 2008 International Symposium on Code Generation and Optimization (CGO), April 2008.

Parallel-Stage Decoupled Software Pipelining [abstract] (PDF, PostScript)
Easwaran Raman, Guilherme Ottoni, Arun Raman, Matthew Bridges, and David I. August
Proceedings of the 2008 International Symposium on Code Generation and Optimization (CGO), April 2008.

Communication Optimizations for Global Multi-Threaded Instruction Scheduling [abstract] (PDF, PostScript)
Guilherme Ottoni and David I. August
Proceedings of the 13th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), March 2008.

Speculation
Neil Vachharajani and David I. August
Encyclopedia of Computer Science and Engineering
Edited by Benjamin W. Wah. John Wiley & Sons, Inc., January 2008.

Revisiting the Sequential Programming Model for the Multicore Era [abstract] (Original Full Paper, PDF)
Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas Jablin, and David I. August
IEEE Micro, January 2008.
IEEE Micro's "Top Picks" special issue for papers "most relevant to industry and significant in contribution to the field of computer architecture" in 2007.

Optimizations for the Memory Hierarchy
Easwaran Raman and David I. August
Compiler Design Handbook
Edited by Y. N. Srikant. CRC Press, December 2007.

Global Multi-Threaded Instruction Scheduling [abstract] (PDF, PostScript)
Guilherme Ottoni and David I. August
Proceedings of the 40th IEEE/ACM International Symposium on Microarchitecture (MICRO), December 2007.

Revisiting the Sequential Programming Model for Multi-Core [abstract] (PDF, PostScript, Top Picks Version)
Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas Jablin, and David I. August
Proceedings of the 40th IEEE/ACM International Symposium on Microarchitecture (MICRO), December 2007.
Selected for IEEE Micro's "Top Picks" special issue for papers "most relevant to industry and significant in contribution to the field of computer architecture" in 2007.

UNISIM: An Open Simulation Environment and Library for Complex Architecture Design and Collaborative Development [abstract] (PDF, PostScript)
David I. August, Jonathan Chang, Sylvain Girbal, Daniel Gracia-Perez, Gilles Mouchard, David Penry, Olivier Temam, and Neil Vachharajani
IEEE Computer Architecture Letters (CAL), September 2007.

Speculative Decoupled Software Pipelining [abstract] (PDF, PostScript)
Neil Vachharajani, Ram Rangan, Easwaran Raman, Matthew J. Bridges, Guilherme Ottoni, and David I. August
Proceedings of the 16th International Conference on Parallel Architectures and Compilation Techniques (PACT), September 2007.

Shape Analysis with Inductive Recursion Synthesis [abstract] (PDF, PostScript)
Bolei Guo, Neil Vachharajani, and David I. August
Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation (PLDI), June 2007.

Pipelined Multithreading Transformations and Support Mechanisms [abstract] (PDF, PostScript)
Ram Rangan
Ph.D. Thesis, Department of Computer Science, Princeton University, June 2007.

Fault-tolerant Typed Assembly Language [abstract] (PDF, PostScript)
Frances Perry, Lester Mackey, George A. Reis, Jay Ligatti, David I. August, and David Walker
Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2007.
Winner Best Paper Award.

Global Multi-Threaded Instruction Scheduling: Technique and Initial Results [abstract] (PDF, PostScript)
Guilherme Ottoni and David I. August
Proceedings of the Sixth Workshop on Explicitly Parallel Instruction Computer Architectures and Compiler Technology (EPIC), March 2007.

Automatic Instruction-Level Software-Only Recovery Methods [abstract] (Original Full Paper, PDF)
George A. Reis, Jonathan Chang, and David I. August
IEEE Micro, Volume 27, Number 1, January 2007.
IEEE Micro's "Top Picks" special issue for papers "most relevant to industry and significant in contribution to the field of computer architecture" in 2006.

The Static Single Assignment Form: Construction and Application to Program Optimization
Prakash Prabhu, Priti Shankar, and Y N Srikant
Compiler Design Handbook: Optimizations and Machine Code Generation (ISBN: 9781420043822)
Edited by Y N Srikant and Priti Shankar. CRC Press, 2007.

Configurable Transient Fault Detection via Dynamic Binary Translation [abstract] (PDF, PostScript)
George A. Reis, Jonathan Chang, David I. August, Robert Cohn, and Shubhendu S. Mukherjee
Proceedings of the 2nd Workshop on Architectural Reliability (WAR), December 2006.

Support for High-Frequency Streaming in CMPs [abstract] (PDF, PostScript)
Ram Rangan, Neil Vachharajani, Adam Stoler, Guilherme Ottoni, David I. August, and George Z. N. Cai
Proceedings of the 39th IEEE/ACM International Symposium on Microarchitecture (MICRO), December 2006.

Non-Uniform Fault Tolerance [abstract] (PDF, PostScript)
Jonathan Chang, George A. Reis, and David I. August
Proceedings of the 2nd Workshop on Architectural Reliability (WAR), December 2006.

The Acceleration of Structural Microarchitectural Simulation via Scheduling [abstract] (PDF, PostScript)
David A. Penry
Ph.D. Thesis, Department of Computer Science, Princeton University, November 2006.

Amortizing Software Queue Overhead for Pipelined Inter-Thread Communication [abstract] (PDF, PostScript)
Ram Rangan and David I. August
Proceedings of the Workshop on Programming Models for Ubiquitous Parallelism (PMUP), September 2006.

Eliminating Scope and Selection Restrictions in Compiler Optimizations [abstract] (PDF, PostScript)
Spyridon Triantafyllis
Ph.D. Thesis, Department of Computer Science, Princeton University, September 2006.

Static Typing for a Faulty Lambda Calculus [abstract] (PDF)
David Walker, Lester Mackey, Jay Ligatti, George A. Reis, and David I. August
Proceedings of the 11th ACM SIGPLAN International Conference on Functional Programming (ICFP), September 2006.

The Liberty Simulation Environment: A Deliberate Approach to High-Level System Modeling [abstract] (PDF)
Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason A. Blome, Sharad Malik, and David I. August
ACM Transactions on Computer Systems (TOCS), Volume 24, Number 3, August 2006.

A Framework for Unrestricted Whole-Program Optimization [abstract] (PDF, PostScript)
Spyridon Triantafyllis, Matthew J. Bridges, Easwaran Raman, Guilherme Ottoni, and David I. August
Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2006.

Automatic Instruction Scheduler Retargeting by Reverse-Engineering [abstract] (PDF, PostScript)
Matthew J. Bridges, Neil Vachharajani, Guilherme Ottoni, and David I. August
Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2006.

Automatic Instruction-Level Software-Only Recovery Methods [abstract] (PDF, Top Picks Version)
Jonathan Chang, George A. Reis, and David I. August
Proceedings of the International Conference on Dependable Systems and Networks (DSN), June 2006.
Winner of the William C. Carter Award.
Selected for IEEE Micro's "Top Picks" special issue for papers "most relevant to industry and significant in contribution to the field of computer architecture" in 2006.

Selective Runtime Memory Disambiguation in a Dynamic Binary Translator [abstract] (PDF, PostScript)
Bolei Guo, Youfeng Wu, Cheng Wang, Matthew J. Bridges, Guilherme Ottoni, Neil Vachharajani, Jonathan Chang, and David I. August
Proceedings of the 15th International Conference on Compiler Construction (CC), March 2006.

Software Fault Detection Using Dynamic Instrumentation [abstract] (PDF)
George A. Reis, David I. August, Robert Cohn, and Shubhendu S. Mukherjee
Proceedings of the Fourth Annual Boston Area Architecture Workshop (BARC), February 2006.

Exploiting Parallelism and Structure to Accelerate the Simulation of Chip Multi-processors [abstract] (PDF, PostScript)
David A. Penry, Daniel Fay, David Hodgdon, Ryan Wells, Graham Schelle, David I. August, and Daniel A. Connors
Proceedings of the Twelfth International Symposium on High-Performance Computer Architecture (HPCA), February 2006.

Software-Controlled Fault Tolerance [abstract] (PDF, PostScript)
George A. Reis, Jonathan Chang, Neil Vachharajani, Ram Rangan, David I. August, and Shubhendu S. Mukherjee
ACM Transactions on Architecture and Code Optimization (TACO), December 2005.

Automatic Thread Extraction with Decoupled Software Pipelining [abstract] (PDF, PostScript)
Guilherme Ottoni, Ram Rangan, Adam Stoler, and David I. August
Proceedings of the 38th IEEE/ACM International Symposium on Microarchitecture (MICRO), November 2005.
One of five papers nominated for the Best Paper Award by the Program Committee.

Chip Multi-Processor Scalability for Single-Threaded Applications [abstract] (PDF)
Neil Vachharajani, Matthew Iyer, Chinmay Ashok, Manish Vachharajani, David I. August, and Daniel A. Connors
Proceedings of the 2005 Workshop on Design, Architecture and Simulation of Chip Multi-Processors (dasCMP), November 2005.

A New Approach to Thread Extraction for General-Purpose Programs [abstract] (PDF, PostScript)
Guilherme Ottoni, Ram Rangan, Adam Stoler, and David I. August
Proceedings of the 2nd Watson Conference on Interaction between Architecture, Circuits, and Compilers (PAC2), September 2005.

Achieving Structural and Composable Modeling of Complex Systems [abstract]
David I. August, Sharad Malik, Li-Shiuan Peh, Vijay Pai, Manish Vachharajani, and Paul Willmann
The International Journal of Parallel Programming (IJPP), Volume 33, June 2005. Invited.

Recursive Data Structure Profiling [abstract] (PDF)
Easwaran Raman and David I. August
Proceedings of the Third Annual ACM SIGPLAN Workshop on Memory Systems Performance (MSP), June 2005.

Design and Evaluation of Hybrid Fault-Detection Systems [abstract] (PDF)
George A. Reis, Jonathan Chang, Neil Vachharajani, Ram Rangan, David I. August, and Shubhendu S. Mukherjee
Proceedings of the 32nd International Symposium on Computer Architecture (ISCA), June 2005.

Rapid Development of Flexible Validated Processor Models [abstract] (PDF, PostScript)
David A. Penry, Manish Vachharajani, and David I. August
Proceedings of the Workshop on Modeling, Benchmarking, and Simulation (MoBS), June 2005.

From Sequential Programs to Concurrent Threads [abstract] (PDF, PostScript)
Guilherme Ottoni, Ram Rangan, Adam Stoler, Matthew J. Bridges, and David I. August
IEEE Computer Architecture Letters (CAL), June 2005.

Branch Predication
David I. August
Speculative Execution in High Performance Computer Architectures (ISBN: 1584884479)
Edited by D. Kaeli and P.-C. Yew. CRC Press, April 2005.

Practical and Accurate Low-Level Pointer Analysis [abstract] (PDF)
Bolei Guo, Matthew J. Bridges, Spyridon Triantafyllis, Guilherme Ottoni, Easwaran Raman, and David I. August
Proceedings of the Third International Symposium on Code Generation and Optimization (CGO), March 2005.

SWIFT: Software Implemented Fault Tolerance [abstract] (PDF)
George A. Reis, Jonathan Chang, Neil Vachharajani, Ram Rangan, and David I. August
Proceedings of the Third International Symposium on Code Generation and Optimization (CGO), March 2005.
Winner Best Paper Award.

Decoupled Software Pipelining: A Promising Technique to Exploit Thread-Level Parallelism [abstract]
Guilherme Ottoni, Ram Rangan, Neil Vachharajani, and David I. August
Proceedings of the Fourth Workshop on Explicitly Parallel Instruction Computer Architectures and Compiler Technology (EPIC), March 2005.

Compiler Optimization-Space Exploration [abstract] (Research Notes, PDF)
Spyridon Triantafyllis, Manish Vachharajani, and David I. August
The Journal of Instruction-level Parallelism (JILP), February 2005.

RIFLE: An Architectural Framework for User-Centric Information-Flow Security [abstract] (PDF, PostScript)
Neil Vachharajani, Matthew J. Bridges, Jonathan Chang, Ram Rangan, Guilherme Ottoni, Jason A. Blome, George A. Reis, Manish Vachharajani, and David I. August
Proceedings of the 37th International Symposium on Microarchitecture (MICRO), December 2004.

Microarchitecture Modeling for Design-space Exploration [abstract] (PDF, PostScript)
Manish Vachharajani
Ph.D. Thesis, Department of Electrical Engineering, Princeton University, November 2004.

Rapid Development of Flexible Validated Processor Models [abstract] (PDF, PostScript)
David A. Penry, Manish Vachharajani, and David I. August
Liberty Research Group Technical Report 04-03, November 2004.

Facilitating Reuse in Hardware Models with Enhanced Type Inference [abstract] (PDF, PostScript)
Manish Vachharajani, Neil Vachharajani, Sharad Malik, and David I. August
The IEEE/ACM/IFIP Second International Conference on Hardware/Software Codesign and System Synthesis (ISSS), September 2004.

Decoupled Software Pipelining with the Synchronization Array [abstract] (PDF, PostScript)
Ram Rangan, Neil Vachharajani, Manish Vachharajani, and David I. August
Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques (PACT), September 2004.
Highest ranked paper by the anonymous reviewers.

The Liberty Structural Specification Language: A High-Level Modeling Language for Component Reuse [abstract] (PDF, PostScript)
Manish Vachharajani, Neil Vachharajani, and David I. August
Proceedings of the 2004 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2004.

The Liberty Simulation Environment, Version 1.0 [abstract] (PDF, PostScript)
Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason Blome, and David I. August
Performance Evaluation Review: Special Issue on Tools for Architecture Research (PER), Volume 31, Number 4, March 2004. Invited.

The Liberty Simulation Environment: A Deliberate Approach to High-Level System Modeling [abstract] (PDF, PostScript)
Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason A. Blome, Sharad Malik, and David I. August
Liberty Research Group Technical Report 04-02, March 2004.

Exposing Memory Access Regularities Using Object-Relative Memory Profiling [abstract] (PDF, PostScript)
Qiang Wu, Artem Pyatakov, Alexey N. Spiridonov, Easwaran Raman, Douglas W. Clark, and David I. August
Proceedings of the Second International Symposium on Code Generation and Optimization (CGO), March 2004.

A Study of the Clarity of Functionally and Structurally Composed High-level Simulation Models (PDF, PostScript)
Manish Vachharajani and David I. August
Liberty Research Group Technical Report 04-01, January 2004.

Liberty Simulation Environment, Version 1.0
Manish Vachharajani, David A. Penry, Neil Vachharajani, Jason A. Blome, and David I. August
Available at http://liberty.princeton.edu/Software/LSE, December 2003.

A Comparison of Reuse in Object-oriented Programming and Structural Modeling Systems [abstract] (PDF, PostScript)
Manish Vachharajani, Neil Vachharajani, and David I. August
Liberty Research Group Technical Report 03-01, October 2003.

Optimizations for a Simulator Construction System Supporting Reusable Components [abstract] (PDF, PostScript)
David A. Penry and David I. August
Proceedings of the 40th Design Automation Conference (DAC), June 2003.

The Liberty Simulation Environment as a Pedagogical Tool [abstract] (PDF, PostScript)
Jason Blome, Manish Vachharajani, Neil Vachharajani, and David I. August
Proceedings of the Workshop on Computer Architecture Education (WCAE), June 2003.

Compiler Optimization-Space Exploration [abstract] (Research Notes, PDF, PostScript)
Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani, and David I. August
Proceedings of the 2003 International Symposium on Code Generation and Optimization (CGO), March 2003.
Winner Best Paper Award.

A Disciplined Approach to the Development of Platform Architectures [abstract]
David I. August, Kurt Keutzer, Sharad Malik, and A. Richard Newton
Microelectronics Journal, Volume 33, Number 11, November 2002. Invited.

Procedure Boundary Elimination for EPIC Compilers [abstract] (PDF, PostScript)
Spyridon Triantafyllis, Manish Vachharajani, and David I. August
Proceedings of the Second Workshop on Explicitly Parallel Instruction Computer Architectures and Compiler Technology (EPIC), November 2002.

Microarchitectural Exploration with Liberty [abstract] (PDF, PostScript)
Manish Vachharajani, Neil Vachharajani, David A. Penry, Jason A. Blome, and David I. August
Proceedings of the 35th International Symposium on Microarchitecture (MICRO), November 2002.
Winner Best Student Paper Award.

Design Tools for Application Specific Embedded Processors [abstract] (PDF, PostScript)
Wei Qin, Subramanian Rajagopalan, Manish Vachharajani, Hangsheng Wang, Xinping Zhu, David I. August, Kurt Keutzer, Sharad Malik, and Li-Shiuan Peh
Proceedings of the Second International Workshop on Embedded Software, Lecture Notes in Computer Science (EMSOFT), Volume 2491, October 2002. Invited.

A Disciplined Approach to the Development of Platform Architectures [abstract] (PDF, PostScript)
David I. August, Kurt Keutzer, Sharad Malik, and A. Richard Newton
Proceedings of the Tenth Workshop on Synthesis and System Integration of Mixed Technologies (SASIMI), April 2001. Invited.