my photo

Troy A. Johnson

my email

Electrical and Computer Engineering
Computational Science & Engineering

2006 (Fall) - 2007 (Spring) Research Assistant
2006 (Spring) ECE 461 Software Engineering TA
2006 Gerald I. Gilbert Memorial Scholar
2003-2005 CS&E GAANN Fellow
2001-2002 Purdue Andrews / Williams Fellow

I have accepted employment with Cray Inc. in Mendota Heights, MN and will be relocating soon. This web page likely will move somewhere once I find a permanent place for it.

Education

Ph.D. Electrical & Computer Engineering, Purdue University, May 2007
M.S. Electrical & Computer Engineering, Purdue University, May 2003
B.S. Computer Engineering summa cum laude, University of Pittsburgh, December 2000, Fessenden Honors in Engineering Program Alumnus

Mailing Address

Electrical Engineering Building
Box 213
465 Northwestern Avenue
West Lafayette, IN 47907-2035

Office

Compiler Research Laboratory
EE 347
Phone: 765-494-3550


Research Interests

I am a member of the ParaMount Research Group. We do compiler systems research: source-level optimization, parallelization, thread decomposition, adaptive optimization, etc. We tend to avoid things like code generation and type theory.

Teaching

Spring 2006: ECE 461 Software Engineering TA

Fall 2005: Assisted Prof. Eigenmann with ECE 573, a graduate compiler course, by teaching two lectures, grading projects, and proctoring a midterm. Assisted Prof. Midkiff with ECE 468, an undergraduate compiler course, by teaching one lecture.

Spring 2005: Remotely assisted Prof. Eigenmann with Automatic Program Parallelization, at Universitat Politècnica de Catalunya, Barcelona, Spain, by supplying students with documentation and technical support for Cetus.

Spring 2004: Assisted Prof. Eigenmann with ECE 663, a graduate compiler course, by teaching three lectures, maintaining the course project web page, and supplying the students with documentation and technical support for Cetus.

Fall 2003: Assisted Prof. Eigenmann with ECE 573, a graduate compiler course, by teaching three lectures and answering questions on the course newsgroup.

Research Projects

Summary [PDF]

Personal Projects

Involvement

1 As a rule, I do not prefer Artistic Licenses, but in the case of Cetus it was the existing license that was least disagreeable to everyone involved. See Open Source Licensing by Lawrence Rosen (ISBN 0-13-148787-6), pp. 95-101, for a good discussion.


Links of Interest

Computer Related: ACM Digital Library CiteSeer Electronic Frontier Foundation IEEE Xplore Kernel Trap New Egg Open Source Initiative Slashdot Software Patents Subversion W3C

Distributed Computing Projects: Folding@Home Mersenne Prime Search SETI Project

Other: Creative Commons First Monday Grad School Survival Google News Google Scholar Piled Higher and Deeper Project Gutenberg Wikipedia


Publications

All of my publications are listed below. Please be aware that in computer engineering conference papers are more important than journal publications. The acceptance rate (AR) of the conference is noted when available. Total publication breakdown: 6 Conference, 2 Journal, 4 Workshop, 1 Tech Report, 1 MS Thesis, 1 PhD Thesis.

The documents contained in these pages are included to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Publications from graduate work at Purdue University (4 Conference, 1 Journal, 3 Workshop, 1 Tech Report, 1 MS Thesis, 1 PhD Thesis):

[15]Context-Sensitive Domain-Independent Algorithm Composition and Selection, Troy A. Johnson, PhD Thesis, Purdue University, May 2007.

[14]Speculative Thread Decomposition Through Empirical Optimization, Troy A. Johnson, Rudolf Eigenmann, and T. N. Vijaykumar, In Proceedings of the ACM SIGPLAN Symposium on the Principles and Practice of Parallel Programming (PPoPP), pages 205--214, March 2007, San Jose, California. (AR 22/65)

[13]Can Transactions Enhance Parallel Programs?, Troy A. Johnson, Sang-Ik Lee, Seung-Jai Min, and Rudolf Eigenmann, In Proceedings of the 19th International Workshop on Languages and Compilers for Parallel Computing (LCPC), pages 2-16, November 2006, New Orleans, Louisiana. (AR 23/56)

[12]Kosha: A Peer-to-Peer Enhancement for the Network File System, Ali Raza Butt, Troy A. Johnson, Yili Zheng, and Y. Charlie Hu, Journal of Grid Computing, Volume 4, Number 3, pages 323-341, September 2006. (AR 7/28)

[11]Context-Sensitive Domain-Independent Algorithm Composition and Selection, Troy A. Johnson and Rudolf Eigenmann, In Proceedings of the ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation (PLDI), pages 181-192, June 2006, Ottawa, Canada. (AR 36/169)

[10]Experiences in Using Cetus for Source-to-Source Transformations, Troy A. Johnson, Sang-Ik Lee, Long Fei, Ayon Basumallik, Gautam Upadhyaya, Rudolf Eigenmann, Samuel P. Midkiff, In Proceedings of the 17th International Workshop on Languages and Compilers for Parallel Computing (LCPC), pages 1-14, September 2004, West Lafayette, Indiana. (unreviewed tutorial supplement)

[9]Kosha: A Peer-to-Peer Enhancement for the Network File System, Ali Raza Butt, Troy A. Johnson, Yili Zheng, and Y. Charlie Hu, In Proceedings of the ACM/IEEE Conference on Supercomputing (SC) 2004, November 2004, Pittsburgh, PA. (AR 59/192)

[8]Min-Cut Program Decomposition for Thread-Level Speculation, Troy A. Johnson, Rudolf Eigenmann, and T. N. Vijaykumar, In Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation (PLDI), pages 59-70, June 2004, Washington, D.C. (AR 25/128)

[7]Cetus - An Extensible Compiler Infrastructure for Source-to-Source Transformation, Sang-Ik Lee, Troy A. Johnson, and Rudolf Eigenmann, In Proceedings of the 16th International Workshop on Languages and Compilers for Parallel Computing (LCPC), pages 539-553, October 2003, College Station, Texas. (AR 35/48)

[6]Hoard: A Peer-to-Peer Enhancement for the Network File System, Ali Raza Butt, Troy A. Johnson, Yili Zheng, and Y. Charlie Hu, Technical Report ECE-03-08, Purdue University, 2003.

[5]Min-Cut-Based Program Decomposition for Thread-Level Speculation, Troy A. Johnson, Masters Thesis, Purdue University, May 2003.

Publications from undergraduate work at the University of Pittsburgh (2 Conference, 1 Journal, 1 Workshop):

[4]Cross-Institutional Assessment: Development and Implementation of the On-line Student Survey System, Raymond R. Hoare, Mary Besterfield-Sacre, Dan Ertman, Jessica Gerchak, Troy A. Johnson, Robert Shields, and Larry Shuman, in Journal of Computer Applications in Engineering Education, John Wiley & Sons, Inc., pages 88-97, Volume 10, Issue 2, 2002.

[3]The On-Line Student Survey System: A Customizable Web-Based Survey System for Cross-Institutional Assessment, Raymond R. Hoare, Mary Besterfield-Sacre, Larry Shuman, Robert Shields, and Troy A. Johnson, In Proceedings of the 31st Annual ASEE/IEEE Frontiers in Education Conference (FIE), pages S3C-11-16, Volume 3, 2001, Reno.

[2]A Single Latch, High Speed Double-Edge Triggered Flip-Flop (DETFF), Troy A. Johnson and Ivan S. Kourtev, 8th IEEE International Conference on Electronics, Circuits and Systems (ICECS 2001), Volume 1, pages 189-192, September 2001, Malta.

[1]Cyclical Cascade Chains: A Dynamic Barrier Synchronization Mechanism for Multiprocessor Systems, Troy A. Johnson and Raymond R. Hoare, In Proceedings of the IEEE Workshop on Massively Parallel Processing (WMPP) of the International Parallel and Distributed Processing Symposium (IPDPS), pages 2061-2068, April 2001, San Francisco, CA. (AR 10/??)

Presentations

[4]Can Transactions Enhance Parallel Programs?, Troy A. Johnson, Sang-Ik Lee, Seung-Jai Min, and Rudolf Eigenmann, At the 19th International Workshop on Languages and Compilers for Parallel Computing (LCPC), November 2006, New Orleans, Louisiana.

[3]Context-Sensitive Domain-Independent Algorithm Composition and Selection, Troy A. Johnson, Rudolf Eigenmann, At the ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation (PLDI), June 2006, Ottawa, Ontario, Canada.

[2]From Polaris for Fortran to Cetus for C, C++ and Java, Troy A. Johnson and Rudolf Eigenmann, At the 17th International Workshop on Languages and Compilers for Parallel Computing (LCPC), Miniworkshop on Compiler Infrastructures, September 2004, West Lafayette, IN.

[1]Min-Cut Program Decomposition for Thread-Level Speculation, Troy A. Johnson, Rudolf Eigenmann, and T. N. Vijaykumar, At the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation (PLDI), June 2004, Washington, D.C.


WARNING: Grad school is not for everyone. Side effects may include drowsiness, fatigue, loss of simple arithmetic skills, nausea, myopia, delusions of grandeur, inability to sleep, inability to not sleep, flu-like symptoms, premature eureka, anxiety, social atrophy, headache, random fits of hysteria, hair loss, romantic anemia, and general disdain for the world. If conditions persist, get a real job.