Calvin Lin
Professor of Computer Science
University of Texas, Austin
Home
Honors and Awards
Research Projects
Publications
Teaching
CS178H
Turing Scholars Program
CS380P
CS395T
Project Engage!
Students
Jia Chen
Curtis Dunham
Akanksha Jain
Ashay Rane
Renee St. Amant
Apollo Ellis (MS 2011)
Paul Navratíl (PhD 2010)
Karthik Murthy (MS 2010)
Alison Norman (PhD 2010)
Walter Chang (PhD 2010)
Ben Hardekopf (PhD 2009)
Teck B. Tok (PhD 2007)
Adam Brown (MS 2007)
Ibrahim Hur (PhD 2006)
Sam Guyer (PhD 2003)
Rich Cardone (PhD 2002)
Daniel Jiménez (PhD 2002)
Kent Spaulding (MS 1998)
Frank Kuehndel (MS 1998)
Publications
Journal Publications
Memory Scheduling for Modern Microprocessors
with I. Hur
ACM Transactions on Computer Systems,
25(4), December, 2007, pp. 10-46.
Adaptive History-Based Memory Schedulers for Modern Microprocessors
with I. Hur
IEEE Micro "Top picks issue,"
vol 26(1), 2006, pp. 22-29.
Error Checking with Client-Driven Pointer Analysis
with Samuel Z. Guyer
Science of Computer Programming Journal,
vol 58, 2005, pp. 83-114.
Broadway: A Compiler for Exploiting the Domain-Specific Semantics of Software Libraries
with Samuel Z. Guyer
Proceedings of the IEEE,
Special issue on program generation, optimization, and adaptation. 93(2), 2005, pp. 342-357.
Scaling to the End of Silicon with EDGE Architectures
with D. Burger, S. Keckler, M. Dahlin, L. John, K. McKinley, C. Moore, J. Burrill, R. McDonald, and W. Yoder.
IEEE Computer,
37(7), July, 2004, pp. 44-55.
Neural Methods for Dynamic Branch Prediction
with Daniel Jiménez
ACM Transactions on Computer Systems,
20(4), November 2002, pp. 369-397.
ZPL: A Machine Independent Programming Language for Parallel Computers
with B. Chamberlain, S. Choi, E. Lewis, L. Snyder, and W. Weathersby
IEEE Transactions on Software Engineering,
26(3), March 2000. Special Issue on Architecture-Independent Languages and Software Tools for Parallel Processing. pp. 197-211.
Volume Leases for Consistency in Large-Scale Systems
with J.Yin, L. Alvisi, and M. Dahlin
IEEE Transactions on Knowledge and Data Engineering,
11(4), July/August 1999. pp. 563-577.
The Case for High Level Parallel Programming in ZPL
with B. Chamberlain, S. Choi, E. Lewis, L. Snyder, and W. Weathersby
IEEE Computational Science and Engineering,
5(3), July-September 1998, pp. 76-86.
Abstractions for Portable, Scalable Parallel Programming
with G. Alverson, W. Griswold, D. Notkin and L. Snyder
IEEE Trans. on Parallel and Distributed Systems,
9(1), 1998, pp. 1-17.
A Portable Implementation of SIMPLE
with Lawrence Snyder
International Journal of Parallel Programming,
20(5), 1991, pp. 363-401.
Conference and Workshop Papers
Using Cargo-Bot to Provide Contextualized Learning of Recursion
with J. Tessler and B. Beth
International Computing Education Research Workshop,
2013.
Using Peer Review to Teach Software Testing
with J. Smith, J. Tessler, and E. Kramer<
International Computing Education Research Workshop,
2012.
Dynamic Scheduling for Large-Scale Distributed-Memory Ray Tracing
with P. Navratil, H. Childs, and D. Fussell
Eurographics Symposium on Parallel Graphics and Visualization,
2012.
(Best Paper Award)
A Scalable Algorithm for Compiler-Placed Staggered Checkpointing
with A. Norman,
IASTED International Conference on Parallel and Distributed Computing and Systems,
2011.
Flow-Sensitive Pointer Analysis for Millions of Lines of Code
with B. Hardekopf
International Symposium on Code Generation and Optimization,
2011.
(Best Paper Award)
Semi-Sparse Flow-Sensitive Pointer Analysis
with Ben Hardekopf
Symposium on Principles of Programming Languages,
2009, pp. 226-238.
Feedback Mechanisms for Improving Probabilistic Memory Prefetching
with Ibrahim Hur
International Symposium on High-Performance Computer Architecture,
February 2009, pp. 443-454.
Efficient and Extensible Security Enforcement Using Dynamic Data Flow Analysis
with Walter Chang and Brandon Streiff
Computer and Communications Security,
2008, pp. 39-50.
A Comprehensive Approach to DRAM Power Management
with Ibrahim Hur
International Symposium on High-Performance Computer Architecture,
February, 2008, pp. 305-316.
(Finalist, Best Paper Award)
Dynamic Ray Scheduling to Improve Ray Coherence and Bandwidth Utilization
with Paul Navratil, Don Fussell, and Bill Mark
Symposium on Interactive Ray Tracing
September, 2007, pp. 95-104.
Exploiting Pointer and Location Equivalence to Optimize Pointer Analysis
with Ben Hardekopf
2007 Static Analysis Symposium
August, 2007, pp. 265-280.
The Ant and the Grasshopper: Fast and Accurate Pointer Analysis for Millions of Lines of Code
with Ben Hardekopf
2007 ACM Conference on Programming Language Design and Implementation,
June, 2007, pp. 290-299.
(Best Paper Award)
Memory Prefetching Using Adaptive Stream Detection
with Ibrahim Hur
39th International Symposium on Microarchitecture,
December, 2006, pp. 397-408.
(Finalist, Best Paper Award)
Efficient Flow-Sensitive Interprocedural Data-flow Analysis in the Presence of Pointers
with Teck Bok Tok and Samuel Z. Guyer
Compiler Construction,
Springer-Verlag LNCS 3923, 2006, pp. 17-31.
Fault Aware Instruction Placement for Static Architectures
with Premkishore Shivakumar, Divya P. Gulati, and Stephen W. Keckler
1st Workshop on High Performance Computing Reliability Issues,
February, 2005.
Adaptive History-Based Memory Schedulers
with Ibrahim Hur
37th International Symposium on Microarchitecture,
December, 2004, pp. 343-354.
(Best Paper Award)
Compiler-Generated Staggered Checkpointing
with Alison N. Norman and Sung-Eun Choi
7th ACM Workshop on Languages, Compilers, and Runtime Support for Scalable Systems,
October, 2004.
Static Placement, Dynamic Issue (SPDI) Scheduling for EDGE Architectures
with Ramadass Nagarajan, Sundeep K. Kushwaha, Doug Burger, Stephen W. Keckler, Kathryn S. McKinley
Int'l Conference on Parallel Architectures and Compilation Techniques,
October, 2004, pp. 74-84.
Client-Driven Pointer Analysis
with S. Guyer
10th Annual International Static Analysis Symposium,
June, 2003. pp. 214-236.
Using Mixins to Build Flexible Widgets
with R. Cardone, A. Brown, and S. McDirmid
1st International Conference on Aspect-Oriented Software Development
April, 2002. pp. 76-85.
Branch Path Re-aliasing
with D. Jiménez
4th ACM Workshop on Feedback-Directed and Dynamic Optimization,
December, 2001. pp. 83-92.
Boolean Formula-based Branch Prediction for Future Technologies
with D. Jiménez and H.L. Hanson
Int'l Conference on Parallel Architectures and Compilation Techniques,
September, 2001. pp. 97-106.
Perceptron Learning for Predicting the Behavior of Conditional Branches
with Daniel Jiménez
Proceedings of the INNS-IEEE International Joint Conference on Neural Networks (IJCNN).
June, 2001. pp. 2122-2126.
Customizing Software Libraries for Performance Portability
with E. Berger and S. Guyer
10th SIAM Conference on Parallel Processing for Scientific Computing,
March, 2001.
Comparing Frameworks and Layered Refinement
with R. Cardone
Proceedings of the 23rd Int'l Conference on Software Engineering,
May, 2001. pp. 285-294.
Dynamic Branch Prediction with Perceptrons
with D. Jiménez
Proceedings of the 7th Int'l Symposium on High Performance Computer Architecture,
January, 2001. pp. 197-206.
The Impact of Delay on the Design of Branch Predictors
with D. Jiménez and S. Keckler.
Proceedings of the 33rd International Symposium on Microarchitecture,
December, 2000. pp. 67-76.
Broadway: A Software Architecture for Scientific Computing
with S. Guyer
The Architecture of Scientific Software,
R.F. Boisvert and P.T.P. Tang, editors, Kluwer Academic Press, 2000, pp. 175-192.
Optimizing the Use of High Performance Software Libraries
with S. Guyer
Languages and Compilers for Parallel Computing,
S. Midkiff, J. Moreira, M. Gupta, S. Chatterjee, J. Ferrante, J. Prins, W. Pugh, and C. Tseng eds. Springer-Verlag 2002, pp. 227-243.
Modeling the Cache Effects of Interprocessor Communication
with I.Hur
Parallel and Distributed Computing and Systems (PDCS'99),
November, 1999, pp. 938-943. (
Long version
in submission).
An Annotation Language for Optimizing Software Libraries
with S.Guyer
Second Conference on Domain Specific Languages,
October, 1999, pp. 39-53.
Hierarchical Cache Consistency in a WAN
with J.Yin, L. Alvisi, and M. Dahlin
Second USENIX Symposium on Internet Technologies and Systems,
October, 1999, pp, 13-24.
Regions: An Abstraction for Expressing Array Computation
with B. Chamberlain, E. Lewis, and L. Snyder
ACM International Conference on Array Programming Languages,
August, 1999, pp. 41-49.
Using Leases to Support Server-Driven Consistency in Large-Scale Systems
with J.Yin, L. Alvisi, and M. Dahlin
Proceedings of the 18th IEEE International Conference on Distributed Computing Systems,
Amsterdam, The Netherlands, May 1998, pp. 285-294.
The Implementation and Evaluation of Fusion and Contraction in Array Languages
with E Lewis and L. Snyder
1998 ACM SIGPLAN Conference on Programming Language Design and Implementation,
Montreal, June 1998, pp 50-59.
A Flexible Class of Parallel Matrix Multiplication Algorithms
with J. Gunnels, G. Morrow and R. van de Geijn
12th International Parallel Processing Symposium and 9th Symposium on Parallel and Distributed Processing,
Orlando, March 1998.
ZPL's WYSIWYG Performance Model
with B. Chamberlain, S. Choi, E Lewis, L. Snyder and W. Weathersby
Third International Workshop on High-Level Parallel Programming Models and Suportive Environments,
Orlando, March 1998, pp. 50-61.
Seuss: What the Doctor Ordered
with L. Alvisi, R. Joshi, and J. Misra
Second International Workshop on Software Engineering for Parallel and Distributed Systems,
Boston, 1997, pp 284-290.
Factor-Join: A Unique Approach to Compiling Array Languages for Parallel Machines
with B. Chamberlain, S. Choi, E. Lewis, L. Snyder, and W. Weathersby
Languages and Compilers for Parallel Computing,
D. Sehr, U. Banerjee, D. Gelernter, A. Nicolau and D. Padua eds., Springer-Verlag 1996, pp. 481-500.
Parallel Performance of a Meshless Method for Wind Engineering Simulations
with G. Turkiyyah, D. Reed, and C. Viozat
Proceedings of the 12th Conference on Analysis and Computation,
1996, pp. 177-187.
The Portable Parallel Implementation of Two Novel Mathematical Biology Algorithms in ZPL
with M. D. Dikaiakos, D. Manoussaki, and D. Woodward
9th Int'l Conf. on Supercomputing,
Barcelona, 1995, pp. 365-374.
A Portable Parallel N-Body Solver
with E. Lewis, L. Snyder and G. Turkiyyah
Proceedings of the 7th SIAM Conference on Parallel Processing for Scientific Computing,
San Francisco, 1995, pp 231-236.
SIMPLE Performance Results in ZPL
with L. Snyder
Languages and Compilers for Parallel Computing,
K. Pingali, U. Banerjee, D. Gelernter, A. Nicolau and D. Padua eds., Springer-Verlag 1994, pp. 361-375.
Accommodating Polymorphic Data Decompositions in Explicitly Parallel Programs
with L. Snyder
8th International Parallel Processing Symposium,
Cancun, April 1994, pp. 68-74.
ZPL: An Array Sublanguage
with L. Snyder
Languages and Compilers for Parallel Computing,
U. Banerjee, D. Gelernter, A. Nicolau and D. Padua eds., Springer-Verlag 1994, pp. 96-11.
Towards a Machine-Independent Solution of Sparse Cholesky Factorization
with W. Weathersby
Parallel Computing 93,
Grenoble, France, September 1993.
The Ariadne Debugger: Scalable Application of Event-Based Abstraction
with J. Cuny, G. Forman, A. Hough, J. Kundu, L. Snyder and D. Stemple
1993 ACM/ONR Workshop on Parallel and Distributed Debugging,
San Diego, CA, May 1993, pp. 85-95.
Data Ensembles in Orca C
with L. Snyder
Languages and Compilers for Parallel Computing,
U. Banerjee, D. Gelernter, A. Nicolau and D. Padua eds., Springer-Verlag 1993, pp. 112-123.
Programming SIMPLE for Parallel Portability
with L. Snyder
Languages and Compilers for Parallel Computing,
U. Banerjee, D. Gelernter, A. Nicolau and D. Padua eds., Springer-Verlag 1992, pp. 84-98.
Portable Parallel Programming: Cross Machine Comparisons for SIMPLE
with L. Snyder
Proceedings of the 5th SIAM Conference on Parallel Processing for Scientific Computing,
Houston, 1991, pp 564-569.
A Comparison of Programming Models for Shared Memory Multiprocessors
with L. Snyder
Proceedings of the 1990 International Conference on Parallel Processing,
St. Charles, IL, 1990, pp II:163-170.
Books
Principles of Parallel Programming
with L. Snyder
Addison-Wesley, ISBN-10: 0321487907, 2008.
Book Chapters
Using Mixin Technology To Improve Modularity
with R. Cardone
Aspect-Oriented Software Development,
Mehmet Aksit, Siobhan Clarke, Tzilla Elrad, and Richard Filman, eds. Addison-Wesley, 2003. pp. 219-242.
Theses
Jack Rabbit: An Effective Cell BE Programming System for High Performance Parallelism
. (Apollo Ellis, MS Thesis, 2011).
Memory-Efficient, Scalable Ray Tracing
. (Paul Navratíl, PhD Thesis, 2010).
A Proposed Memory Consistency Model for Chapel
. (Karthik Murthy, MS Thesis, 2010).
Compiler-Assisted Staggered Checkpointing
. (Alison Norman, PhD Thesis, 2010).
Improving Dynamic Analysis with Data Flow Analysis
. (Walter Chang, PhD Thesis, 2010).
Pointer Analysis: Building a Foundation for Effective Program Analysis
. (Ben Hardekopf, PhD Thesis, 2009).
Removing Unimportant Computations in Interprocedural Program Analysis
. (Teck Bok Tok, PhD Thesis, 2007).
Enhancing Memory Controllers to Improve DRAM Power and Performance
. (Ibrahim Hur, PhD Thesis, 2006).
Incorporating Domain-Specific Information into the Compilation Process
. (Samuel Z. Guyer, PhD Thesis, 2003).
Language and Compiler Support for Mixin Programming
. (Richard J. Cardone, PhD Thesis, 2002).
Delay-Sensitive Branch Predictors for Future Technologies
. (Daniel A. Jiménez, PhD Thesis, 2002).
Software Methods for Avoiding Cache Conflicts
. (Frank Kuehndel, MS Thesis, 1998).
A Comparison of Metaphoric Global Optimization Techniques
. (Kent Spaulding, MS, Plan III, Software Quality Institute Thesis, 1998).
Last updated: July 23, 2013