Front Page

The Liberty Research Group

Guilherme's Publications

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

Performance Scalability of Decoupled Software Pipelining [abstract] (ACM DL, 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.

Parallel-Stage Decoupled Software Pipelining [abstract] (ACM DL, PDF)
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] (ACM DL, PDF)
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.

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

Method, System, and Program of a Compiler to Parallelize Source Code
Guilherme Ottoni, Xinmin Tian, Hong Wang, Richard Hankins, Wei Li, and John P. Shen
United States Patent Number 20070234276, Assignee Intel Corporation, October 2007.

Speculative Decoupled Software Pipelining [abstract] (IEEE CS, PDF)
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.

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

Support for High-Frequency Streaming in CMPs [abstract] (ACM DL, PDF)
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.

Offset Assignment Using Simultaneous Variable Coalescing [abstract] (ACM DL, PDF, PostScript)
Desiree Ottoni, Guilherme Ottoni, Guido Araujo, and Rainer Leupers
ACM Transactions on Embedded Computing Systems (TECS), Volume 5, Number 4, November 2006.

Automatic Instruction Scheduler Retargeting by Reverse-Engineering [abstract] (ACM DL, PDF)
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.

A Framework for Unrestricted Whole-Program Optimization [abstract] (ACM DL, PDF)
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.

Selective Runtime Memory Disambiguation in a Dynamic Binary Translator [abstract] (PDF)
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.

Automatic Thread Extraction with Decoupled Software Pipelining [abstract] (IEEE Xplore, PDF)
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.

A New Approach to Thread Extraction for General-Purpose Programs [abstract] (PDF)
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.

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

Practical and Accurate Low-Level Pointer Analysis [abstract] (IEEE Xplore, 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.

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.

RIFLE: An Architectural Framework for User-Centric Information-Flow Security [abstract] (ACM DL, PDF)
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.

Address Register Allocation for Arrays in Loops of Embedded Programs [abstract] (PDF, PostScript)
Guilherme Ottoni and Guido Araujo
Microelectronics Journal -- Special Issue on IEEE Workshop on Embedded System Codesign, Volume 34, Number 11, November 2003.

Navigation of Mobile Robots in Unknown Environments Using Ultrasound Sonars [abstract] (PDF, PostScript)
Guilherme Ottoni and Walter Lages
SBA Journal of Control and Automation, Volume 14, Number 4, November 2003.

Improving Offset Assignment through Simultaneous Variable Coalescing [abstract] (PDF, PostScript)
Desiree Ottoni, Guilherme Ottoni, Guido Araujo, and Rainer Leupers
Proceedings of the 7th International Workshop on Software and Compilers for Embedded Systems, LNCS 2826 (SCOPES), September 2003.
Best Paper Award.

Algorithms for Global Array Reference Allocation in DSPs [abstract] (CiteSeerX, PDF, PostScript)
Guilherme Ottoni and Guido Araujo
Proceedings of the 16th Theses and Dissertations Workshop -- Brazilian Computer Society, August 2003.
Best Master's Thesis Award (2nd Prize Nationwide).

Global Address Register Allocation for Array References in DSPs [abstract] (PDF, PostScript)
Guilherme de Lima Ottoni
Master's Thesis, Institute of Computing, Universidade Estadual de Campinas (UNICAMP), December 2002.
Best Master's Thesis Award (2nd Prize Nationwide).

Efficient Array Reference Allocation for Loops in Embedded Processors [abstract]
Guilherme Ottoni and Guido Araujo
Proceedings of the IEEE Workshop on Embedded System Codesign, September 2002.

Global Array Reference Allocation [abstract] (ACM DL, PDF, PostScript)
Guido Araujo, Guilherme Ottoni, and Marcelo Cintra
ACM Transactions on Design Automation of Electronic Systems (TODAES), Volume 7, Number 2, April 2002.

Optimal Live Range Merge for Address Register Allocation in Embedded Programs [abstract] (SpringerLink, PDF, PostScript)
Guilherme Ottoni, Sandro Rigo, Guido Araujo, Subramanian Rajagopalan, and Sharad Malik
Proceedings of the 10th International Conference on Compiler Construction, LNCS 2027 (CC), April 2001.

Path Planning for Mobile Robots in Unknown Environments [abstract] (PDF, PostScript)
Guilherme Ottoni and Walter Lages
Proceedings of the 13th Brazilian Automation Conference (CBA), September 2000.

Path Planning for Mobile Robots (PDF, PostScript)
Guilherme de Lima Ottoni
Senior Thesis, Computer Engineering, Fund. Universidade Federal do Rio Grande (FURG), January 2000.