CS 260.2 Reading List
Advanced Execution Systems for Reliable High-Performance Computing


Monitoring Program Execution


  1. Online vs Offline Dynamic Analysis (Vijay Nagarajan & Rajiv Gupta)

  2. Dynamic Binary Translation Enabled Profiling

    • N. Nethercote and J. Seward,
      ``Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation,''
      PLDI, pages 89-100, 2007.

    • V. Nagarajan, H-S. Kim, Y. Wu, and R. Gupta,
      ``Dynamic Information Flow Tracking on Multicores,''
      INTERACT, Salt Lake City, Feb. 2008.

    • J. Chung, M. Dalton, H. Kannan, and C. Kozyrakis,
      ``Thread-Safe Dynamic Binary Translaction using Transactional Memory,''
      HPCA, Feb. 2008.

  3. Checkpointing/Logging & Replay (Chen Tian)


Speculative Optimization and Parallelization


  1. Speculation I

    • Neelakantam et al.,
      ``Hardware Atomicity for Reliable Software Speculation,''
      ISCA, 2007.

    • Bridges et al.,
      ``Revisiting the Sequential Programming Model for Multi-Core,''
      MICRO, 2007.

    • Douillet et al.,
      ``Software-Pipelining on Multi-Core Architectures,''
      PACT, 2007.

  2. Speculation II (Min Feng)

    • (**) C. Ding, X. Shen, K. Kelsey, C. Tice, R. Huang, and C. Zhang,
      ``Behavior-Oriented Parallelization,''
      PLDI, 2007.

    • (**) M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and P. Chew,
      ``Optimistic Parallelism Requires Abstractions,''
      PLDI, 2007.

    • K. Morita, A. Morihata, K. Matsuzaki, Z. Hu, and M. Takeichi,
      ``Automatic Inversion Generates Divide-and-Conquer Parallel Programs,''
      PLDI, 2007.

    • K. Chen, S. Malik, and P. Patra, ``Runtime Validation of Memory Ordering Using Constraint Graph Checking,''
      HPCA, 2008.

  3. Memory Locality (Jilong Kuang)

    • M. Chu, R. Ravindran, and S. Mahlke,
      ``Data Access Partitioning for Fine-grain Parallelism on Multicore Architectures,''
      MICRO, 2007.

    • M. Wegiel and C. Krintz,
      ``The Mapping Collector: Virtual Memory Support for Generational, Parallel, and Concurrent Compaction,''
      ASPLOS, 2008.

    • R. Bhargava, B. Serebrin, F. Spadini, and S. Manne,
      ``Accelerating Two-Dimensional Page Walks for Virtualized Systems,''
      ASPLOS, 2008.


High-Performance Architectures


  1. Power-Performance Trade-offs in Multicores and Multiprocessors (Kishore Kumar)

    • Andreas Merkel and Frank Bellosa,
      ``Balancing Power Consumption in Multiprocessor Systems,''
      EUROSYS, April 2006.

    • David Tam and Reza Azimi,
      ``Thread Clustering: Sharing-aware scheduling on SMP-CMP-SMT Multiprocessors,''
      EUROSYS, March 2007.

  2. Multicores and Multiprocessors: Architectural Support (Roger Moussalli)

    • Wenisch et al.,
      ``Mechanisms for Store-wait-free Multiprocessors,''
      ISCA, 2007.

    • Zhu et al.,
      ``Synchronization State Buffer: Supporting Efficient Fine-Grain Synchronization on Many-Core Architectures,''
      ISCA, 2007.

    • Kumar et al.,
      ``Express Virtual Channels: Towards the Ideal Interconnection Fabric,''
      ISCA, 2007.

  3. Parallel Applications / Specialized Architectures

    • Shaw et al.,
      ``Anton, a Special-Purpose Machine for Molecular Dynamics Simulation,''
      ISCA, 2007.

    • Amin et al.,
      ``AquaCore: A Programmable Architecture for Microfluidics,''
      ISCA, 2007.

    • Hughes et al.,
      ``Physical Simulation for Animation and Visual Effects: Parallelization and Characterization for Chip Multiprocessors,''
      ISCA, 2007.

    • Yeh et al.,
      ``ParallAX: An Architecture for Real-Time Physics,''
      ISCA, 2007.


Surviving Failures


  1. Surviving Failures in Parallel Systems

    • R. Gioiosa, J.C. Sancho, S. Jiang, F. Petrini, and K. Davis,
      ``Transparent Incremental Checkpointing at Kernel Level: A Foundation for Fault Tolerance for Parallel Computers,''
      ACM Supercomputing, 2005.

    • G. Bronevetsky, D. Marques, K. Pingal, M. Schulz, and P. Szwed,
      ``Application-level Checkpointing for Shared Memory Programs,''
      ASPLOS, 2004.

    • S-E. Choi and S.J. Deitz,
      ``Compiler Support for Automatic Checkpointing,''
      Intl Symp. on High Performance Computing Systems and Applications, 2002.

  2. Surviving Failures in Servers (Jessica Browdus)


Security


  1. Information Flow Analysis (Yuling Li)

  2. OS and Architectural Support (Vaibhav Parulkar)

    • D. Lie, C. Thekkath, M. Mitchell, P. Lincoln, D. Boneh, J. Mitchell, and M. Horowitz,
      ``Architectural Support for Copy and Tamper Resistant Software,''
      ASPLOS, pages 168-177, November 2000.

    • B. Rogers, C. Yan, S. Chhabra, M. Prvulovic, and Y. Solihin,
      ``Single-Level Integrity and Confidentiality Protection for Distributed Shared Memory Multiprocessors,''
      HPCA, Feb. 2008.

    • (**) X. Chen, T. Garfinkel, E.C. Lewis, P. Subrahmanyam, C.A. Waldspurger, D. Boneh, J. Dwoskin, D.R.K. Ports,
      ``Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems,''
      ASPLOS, 2008.

    • O. Mutlu and T. Moscibroda,
      ``Stall-Time Fair Memory Access Scheduling for Chip Multiprocessors,''
      MICRO, 2007.


Debugging Techniques


  1. Fault Location I (Rajiv Gupta)

  2. Fault Location II (Dennis Jeffrey)

    • (**) D. Jeffrey, N. Gupta, and R. Gupta,
      ``Fault Localization using Value Replacement,''
      ISSTA, July 2008.

    • (**) D. Jeffrey, N. Gupta, and R. Gupta,
      ``Uncovering the Root Cause of a Memory Bug,''
      submitted.

  3. Fault Location III (Casey Czechowski)

  4. Comparison Based Debugging (Dhrumil Shah)