Distributed systems expert, software engineering manager, stay-at-home dad

My latest teaching: a full online course on distributed systems. Available at www.distributedsystemscourse.com.

I'm also substitute teaching
these days, but that doesn't show up online. :-)

Writing:

Compiler and Hardware Support for Reducing the Synchronization of Speculative Threads. (PDF) Antonia Zhai, J. Gregory Steffan, Christopher B. Colohan and Todd C. Mowry. ACM Transactions on Architecture and Code Optimization (TACO), Volume 5, Number 1, March 2008.

Incrementally Parallelizing Database Transactions with Thread-Level Speculation. Christopher B. Colohan, Anastassia Ailamaki, J. Gregory Steffan and Todd C. Mowry. ACM Transactions on Computer Systems (TOCS), February 2008.

CMP Support for Large and Dependent Speculative Threads. Christopher B. Colohan, Anastassia Ailamaki, J. Gregory Steffan and Todd C. Mowry. IEEE Transactions on Parallel and Distributed Systems (TPDS), Volume 18 Issue 8, August 2007.

Tolerating Dependences Between Large Speculative Threads Via Sub-Threads (PDF, slides (PPT)). Christopher B. Colohan, Anastassia Ailamaki, J. Gregory Steffan and Todd C. Mowry. International Symposium on Computer Architecture 2006 (ISCA2006). Boston, MA, June 2006.

Applying Thread-Level Speculation to Database Transactions (PDF). Christopher B. Colohan. PhD thesis dissertation. Technical Report CMU-CS-05-188, School of Computer Science, Carnegie Mellon University, November 2005.

Optimistic Intra-Transaction Parallelism on Chip Multiprocessors (PDF, updated 11/25/05, slides (PPT)). Christopher B. Colohan, Anastassia Ailamaki, J. Gregory Steffan and Todd C. Mowry. 31st International Conference on Very Large Data Bases (VLDB 2005), Trondheim, Norway, Aug. 30-Sept. 2, 2005.

Supporting Large Speculative Threads for Databases and Beyond (PDF). Christopher B. Colohan, Anastassia Ailamaki, J. Gregory Steffan and Todd C. Mowry. Technical Report CMU-CS-05-109, School of Computer Science, Carnegie Mellon University, July 2005.

The STAMPede Approach to Thread-Level Speculation (PDF). J. Gregory Steffan, Christopher B. Colohan, Antonia Zhai and Todd C. Mowry. ACM Transactions on Computer Systems (TOCS), Volume 23, Issue 3, August 2005.

Compiler Optimization of Memory-Resident Value Communication Between Speculative Threads (PDF). Antonia Zhai, Christopher B. Colohan, J. Gregory Steffan and Todd C. Mowry. 2004 International Symposium on Code Generation and Optimization (CGO04), Palo Alto, CA, USA, March 20-24, 2004.

Compiler Optimization of Scalar Value Communication Between Speculative Threads (PDF). Antonia Zhai, Christopher B. Colohan, J. Gregory Steffan and Todd C. Mowry. Proceedings of the Tenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-X), San Jose, CA, USA, Oct 7-9, 2002.

Improving Value Communication for Thread-Level Speculation. (PDF). J. Gregory Steffan, Christopher B. Colohan, Antonia Zhai andTodd C. Mowry. High Performance Computer Architecture 8 (HPCA2002). Cambridge, MA, Feb 2002.

A Scalable Approach to Thread-Level Speculation. (PDF). J. Gregory Steffan, Christopher B. Colohan, Antonia Zhai andTodd C. Mowry. International Symposium on Computer Architecture 2000 (ISCA2000). Vancouver, Canada, June 2000.

Extending Cache Coherence to Support Thread-Level Data Speculation on a Single Chip and Beyond. (PDF). J. Gregory Steffan,Christopher B. Colohan and Todd C. Mowry . Technical Report CMU-CS-98-171, School of Computer Science, Carnegie Mellon University, December 1998.

Secure Sharing with Satan's File System, from Selected Reports: Fall 1997 Software Systems Course. (PDF). Chris Colohan , Chuck Rosenbergand Greg Steffan. Technical report CMU-CS-98-103, School of Computer Science, Carnegie Mellon University, April 1998.

Architectural Support for Thread-Level Data Speculation. (PDF). J. Gregory Steffan, Christopher B. Colohan and Todd C. Mowry . Technical Report CMU-CS-97-188, School of Computer Science, Carnegie Mellon University, November 1997.

Teaching:

2016: Distributed systems

Spring 2001: 15-412 Operating Systems

Fall 1999: 15-740 Computer Architecture

Fall 1998: 15-213 Introduction to Computer Systems