David I. August
Professor in the Department of Computer Science, Princeton University
Visiting Professor in the Department of Electrical Engineering, Columbia University
Affiliated with the Department of Electrical Engineering, Princeton University
Ph.D. May 2000, Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign

Office: Computer Science Building Room 221
Email: august@princeton.edu
Phone: (609) 258-2085
Fax: (609) 964-1699


Front Page Publication List (with stats) Curriculum Vitae (PDF) The Liberty Research Group

NOTE:

Please beware of the "Princeton University - Part-Time Research Job" scam. I am not hiring remote research assistants for the Department of Computer Science. Anyone doing so would use a campus address or phone number. Princeton students, please visit the Phish Bowl before responding to unsolicited communication.

Research
My primary research interests are in compilers and computer architecture, especially as they relate to security and parallelism.
I lead the Liberty Research Group.
STUDENTS: Unless you have already been admitted to Princeton, read this before contacting me about joining my group.

Selected Publications (See Publication List or Curriculum Vitae (PDF) for full list.)
  • Architectural Support for Containment-based Security (ASPLOS 2019)
  • Hardware Multithreaded Transactions (ASPLOS 2018)
  • Parcae: A System for Flexible Parallel Execution (PLDI 2012, related work at PLDI 2011)
  • Speculative Separation for Privatization and Reductions (PLDI 2012)
  • A Survey of the Practice of Computational Science (SC 2011)
  • Automatic CPU-GPU Communication Management and Optimization (PLDI 2011, related work at CGO 2012)
  • Commutative Set: A Language Extension for Implicit Parallel Programming (PLDI 2011)
  • Scalable Speculative Parallelization on Commodity Clusters (MICRO 2010, related work at CGO 2012)
  • DAFT: Decoupled Acyclic Fault Tolerance (PACT 2010, selected for IJPP 2012)
  • Speculative Parallelization Using Software Multi-threaded Transactions (ASPLOS 2010)
  • Revisiting the Sequential Programming Model for Multi-Core (IEEE Micro’s "Top Picks" 2008, original work at MICRO 2007)
  • Automatic Instruction-Level Software-Only Recovery Methods (IEEE Micro’s "Top Picks" 2007, original work at DSN 2006)

  • Selected Professional Activities (See Curriculum Vitae (PDF) for full list.)
  • Program Chair: MICRO 2009 (with José Martínez)
  • Program Committees: ISCA, PLDI, MICRO, ASPLOS, CGO, IEEE Micro Top-Picks
  • Program Chair: CGO 2007 (Record submission rate!)
  • General Chair: CGO 2006 (Record attendance!)
  • Associate Editor: ACM Transactions on Architecture and Code Optimization, IEEE Computer Architecture Letters

  • Selected Recognition (See Curriculum Vitae (PDF) for full list.)
  • Elevation to IEEE Fellow for "contributions to compilers and architectures for multicore and parallel processing systems".
  • Selection of "SWIFT: Software Implemented Fault Tolerance," for The Test of Time Award at The 2015 International Symposium on Code Generation and Optimization (CGO).
  • 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 contribution to the field of computer architecture".
  • Selection of Automatic Instruction-Level Software-Only Recovery Methods for IEEE Micro’s "Top Picks" special issue for papers "most relevant to industry and significant in contribution to the field of computer architecture".

  • Current Graduate Students


    Alumni

    Nayana Prasad Nagendra
    [Publications] Ph.D. Thesis: Improving Instruction Cache Performance For Modern Processors With Growing Workloads, 2021.
    First Position: ARM

    Sotiris Apostolakis
    [Publications] Ph.D. Thesis: A Sensible Approach to Speculative Automatic Parallelization, 2021.
    First Position: Google

    Jordan Fix
    [Publications] Ph.D. Thesis: Hardware MultiThreaded Transactions: Enabling Speculative MultiThreaded Pipeline Parallelization For Complex Programs, 2020.
    First Position: Facebook

    Stephen R. Beard
    [Publications] Ph.D. Thesis: TrustGuard: A Model for Practical Trust in Real Systems, 2019.
    First Position: TigerStone

    Feng Liu
    [Publications] Ph.D. Thesis: Static and Dynamic Instruction Mapping for Spatial Architectures, 2018.
    First Position: Databricks

    Soumyadeep Ghosh
    [Publications] Ph.D. Thesis: TrustGuard: A Containment Architecture with Verified Output, 2017.
    First Position: Barefoot Networks

    Nick P. Johnson
    [Publications] Ph.D. Thesis: Static Dependence Analysis in an Infrastructure for Automatic Parallelization, 2015.
    First Position: D.E. Shaw Research

    Taewook Oh
    [Publications] Ph.D. Thesis: Automatic Exploitation of Input Parallelism, 2015.
    First Position: Facebook

    Hanjun Kim
    [Publications] Ph.D. Thesis: ASAP: Automatic Speculative Acyclic Parallelization for Clusters, 2013.
    First Position: Assistant Professor at Postech

    Thomas B. Jablin
    [Publications] Ph.D. Thesis: Automatic Parallelization for GPUs, 2013.
    First Position: Post-Doctoral Researcher with the IMPACT Research Group

    Prakash Prabhu
    [Publications] Ph.D. Thesis: Semantic Language Extensions for Implicit Parallel Programming, 2013.
    First Position: Google

    Jialu Huang
    [Publications] Ph.D. Thesis: Automatically Exploiting Cross-Invocation Parallelism Using Runtime Information, 2013.
    First Position: Goldman Sachs

    Arun Raman
    [Publications] Ph.D. Thesis: A System for Flexible Parallel Execution, 2012.
    First Position: Intel Research

    Yun Zhang
    [Publications] Ph.D. Thesis: Runtime Speculative Software-Only Fault Tolerance, 2012.
    First Position: Goldman Sachs

    Easwaran Raman
    [Publications] Ph.D. Thesis: Parallelization Techniques with Improved Dependence Handling, 2009.
    First Position: Google

    Matthew J. Bridges
    [Publications] Ph.D. Thesis: The VELOCITY Compiler: Extracting Efficient Multicore Execution from Legacy Sequential Codes, 2008.
    First Position: Google

    Bolei Guo
    [Publications] Ph.D. Thesis: Shape Analysis with Inductive Recursion Synthesis, 2008.
    First Position: J. P. Morgan

    Guilherme de Lima Ottoni
    [Publications] Ph.D. Thesis: Global Instruction Scheduling for Multi-Threaded Architectures, 2008.
    First Position: Intel Research

    Neil Vachharajani
    [Publications] Ph.D. Thesis: Intelligent Speculation for Pipelined Multithreading, 2008.
    First Position: Google

    George A. Reis
    [Publications] Ph.D. Thesis: Software Modulated Fault Tolerance, 2008.
    First Position: Google

    Ram Rangan
    [Publications] Ph.D. Thesis: Pipelined Multithreading Transformations and Support Mechanisms, 2007.
    First Position: Post-Doctoral Researcher at IBM Austin Research Laboratory

    Spyridon Triantafyllis
    [Publications] Ph.D. Thesis: Eliminating Scope and Selection Restrictions in Compiler Optimizations, 2006.
    First Position: D. E. Shaw

    David Penry
    [Publications] Ph.D. Thesis: The Acceleration of Structural Microarchitecture Simulation via Scheduling, 2006.
    First Position: Assistant Professor at Brigham Young University

    Manish Vachharajani
    [Publications] Ph.D. Thesis: Microarchitecture Modeling for Design-space Exploration, 2004.
    First Position: Assistant Professor at University of Colorado, Boulder


    Teaching
  • Introduction to Computer Science: COS-126
  • Compiling Techniques: COS-320
  • Computer Architecture: COS-375/ELE-375
  • Introduction to Programming Systems: COS-217
  • Graduate Seminars on Various Topics