J. Gregory Steffan Computer Science Department Carnegie Mellon University 5000 Forbes Ave, Pittsburgh PA 15217 Phone: (412) 268-7555 Fax: (412) 268-3608 steffan@cs.cmu.edu http://www.cs.cmu.edu/~steffan CURRENT POSITION ---------------- Ph.D. candidate in Computer Science, Carnegie Mellon University. EDUCATION --------- PhD in Computer Science, Carnegie Mellon University, expected May 2002. MSc in Computer Science, Carnegie Mellon University, May 1999. MASc in Computer Engineering, University of Toronto, May 1997. BASc in Computer Engineering, University of Toronto, May 1995. PROFESSIONAL EXPERIENCE ----------------------- Research Carnegie Mellon University, School of Computer Science, Pittsburgh, Pennsylvania. 1997-present. PhD candidate with advisor Todd Mowry. Investigating the architectural and compiler support required to exploit thread-level data speculation (TLDS), a means of automatic parallelization in the midst of ambiguous memory references. Alpha Development Group, Compaq Computer Corporation, Shrewsbury, Massachusetts. 06/99-09/99. Intern with host Joel Emer. Investigated advanced architectural techniques for improving performance (in other words, confidential). Assisted in the development of a processor model. MIPS Technologies Inc., Mountain View, California. 03/97-06/97. Intern with host Earl Killian. Designed a simulator to measure the maximum available instruction-level parallelism---the model assumes that branch and jump prediction, caches, and pipeline latencies are realistic. Also designed a model to compute result-latency for the integer divide unit of a processor under development, and implemented a back-end for MINT, a MIPS code emulator and instrumentation package, that generates a Mixie trace. Sandcraft Inc., Santa Clara, California. 02/97. Microprocessor Performance Analyst. Assisted in the design and maintenance of a performance model for a processor under development. Teaching Carnegie Mellon University, Pittsburgh, PA. 01/00-05/00. Teaching Assistant, "Computer Networks" (a 4th-year course), Dept. of Computer Science. Gave guest lecture, created project infrastructure, created and graded exams. Carnegie Mellon University, Pittsburgh, PA. 01/99-05/99. Teaching Assistant, "Introduction to Computer Systems" (a 2nd-year course), Dept. of Computer Science. Gave weekly recitations, created and graded labs and exams. University of Toronto, Toronto, Ontario. 09/96-12/96 and 01/96-04/96. Teaching Assistant, Optimizing Compilers, Dept. of Electrical and Computer Engineering. Assisted in the development of assignment infrastructure for this graduate-level course. Monitored laboratories and marked assignments. University of Toronto, Toronto, Ontario. 01/96-04/96. Teaching Assistant, Computer Fundamentals, Dept. of Electrical and Computer Engineering. Monitored laboratories and marked assignments. Technical Consumers Gas Company Ltd., Willowdale, Ontario. Summer '94 and Summer '95. Programmer/Analyst, I.S. Client Services. Designed relational database applications, and wrote user manuals and system documentation for applications. Border Technologies Inc., Toronto, Ontario. Instructed and aided in database construction. PUBLICATIONS ------------ Refereed Conferences Generating Network Topologies That Obey Power Laws, Christopher R. Palmer and J. Gregory Steffan, Proceedings of the Global Internet Symposium, Globecom2000, November 2000, San Francisco. A Scalable Approach to Thread-Level Speculation, J. Gregory Steffan, Christopher B. Colohan, Antonia Zhai, and Todd C. Mowry. Proceedings of the 27th International Symposium on Computer Architecture, June 12-14, 2000, Vancouver, British Columbia, Canada. The Potential for Using Thread-Level Data Speculation to Facilitate Automatic Parallelization. J. Gregory Steffan and Todd C. Mowry. Proceedings of the Fourth International Symposium on High-Performance Computer Architecture, February 2-4, 1998, Las Vegas, Nevada. Technical Reports Extending Cache Coherence to Support Thread-Level Data Speculation on a Single Chip and Beyond. 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. Selected Reports: Fall 1997 Software Systems Course. Chris Colohan, Chuck Rosenberg, and Greg Steffan (edited by Garth Gibson). Technical Report CMU-CS-98-103, School of Computer Science, Carnegie Mellon University, April 1998. Architectural Support for Thread-Level Data Speculation. 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. The Potential for Thread-Level Data Speculation in Tightly-Coupled Multiprocessors. J. Gregory Steffan and Todd C. Mowry Technical Report CSRI-TR-350, Computer Science Research Institute, University of Toronto, February 1997. AWARDS ------ * Information Technology Research Centre Graduate Scholarship. * National Sciences and Engineering Research Council of Canada Postgraduate Scholarship, declined. COMPUTER SKILLS --------------- Programming Languages: C++, C, Java, Perl, WWW/HTML, VHDL, Verilog, Spice, LaTeX, Visual Basic, ML, Fortran, Pascal, Awk, Sed. Assembly Languages: MIPS, ALPHA, Motorola 68000. Operating Systems: Unix, Linux, Windows9X, Dos, Emacs. ORGANIZATIONS AND COMMITTEES ---------------------------- * Student representative to the Graduate Student Assembly (GSA) at Carnegie Mellon University (2 years). * Member of the Institute of Electrical and Electronics Engineers (9 years). * Completed Royal Conservatory of Music exams in classical guitar and music theory. LANGUAGES: English, functionally fluent in French, learning Italian. --------- HOBBIES: Classical guitar, golf, squash, ball hockey, tennis, and fishing. -------