Research Interests

I focus on practical problems, designing and building systems that substantially improve the programmability, correctness, reliability, security, performance, and energy efficiency of applications. My current projects focus on energy efficient cloud and mobile systems and Uncertain<T>, a programming language and system for applications that reason about estimates from sensors, approximate hardware, and machine learning.

Short Biography

Kathryn S. McKinley is a Principal Research at Microsoft. She was previously an Endowed Professor of Computer Science at The University of Texas at Austin. She received her BA, MS, and PhD from Rice University. Her research interests span programming language design and implementation, runtimes, architecture, performance, and energy efficiency for cloud and mobile. She and her collaborators have produced several widely used tools: DaCapo Java Benchmarks (31,800+ downloads), TRIPS Compiler, Hoard memory manager, MMTk memory management toolkit, and Immix garbage collector. Her current work focuses energy efficient systems and on Uncertain<T>, a programming language system for correct and efficient applications that sense and reason about the complexity of the world with estimates. She has graduated 21 PhD students. Dr. McKinley was honored to testify to the House Science Committee (Feb. 14, 2013). She served as CRA-W co-chair. She is an IEEE and ACM Fellow.

Longer Biography

Professor McKinley is a Principal Researcher at Microsoft (2011-present). She previously held an Endowed Professorship in the Department of Computer Science at The University of Texas at Austin and was on the Faculty from 2001 to 2013. From 1993 to 2001, she was a Faculty member at the University of Massachusetts, Amherst. She received her BA, MS, and Ph.D. from Rice University, where her PhD advisor was Ken Kennedy. Her research interests include energy efficiency, heterogeneous systems, cloud, mobile, programming language design and implementation, security, and architecture. She and her collaborators have produced tools and research that are in wide industrial and academic use: the DaCapo Java Benchmarks (31,800+ downloads), the TRIPS Compiler, the Hoard memory manager, the MMTk garbage collector toolkit, Jikes RVM, and Immix mark-region garbage collector.

Her early research focused on tools and automatic optimizations for parallel architectures. She introduced the first general purpose model for optimizing parallelism and locality together by reasoning about parallelism and the cache locality of dense matrix algorithms using loop permutation, loop reversal, fusion, and distribution. This work was selected in 2014 for the ICS 25th Anniversary Volume.

With her PhD student, Emery Berger, she introduced the first scalable memory manager that limited false sharing, synchronization, and fragmentation (provably), which remains widely used by a range of applications, Apple's OS X, IBM, and other OSes.

She was a leader of the NSF Large ITR DaCapo research project, that introduced dynamic optimizations for managed languages. Contributions included the introduction of now standard performance evaluation methodologies for dynamically optimized languages and the widely used DaCapo Java Benchmark Suite with 31,800+ downloads (June 2015).

Her garbage collection contributions include the first apples-to-apples algorithmic comparisons that showed free-list allocators give up substantial amounts of locality for smaller memory footprints compared to copying algorithms with contiguous allocation (with Cheng and Blackburn). This work won the SIGMETRICS 2014 Test of Time of Award, and inspired a new class of mark-region garbage collectors. Blackburn and McKinley's Immix mark-region collector manages memory hierarchically using fixed sized blocks consisting of lines, similar to pages and cache lines. Immix is the first collector to mix marking and object copying in a single pass. To date, no other garbage collectors has been shown to outperform Immix collectors.

In the Darpa funded TRIPS project at UT, she collaborated with Burger and Keckler to deliver technology-scalable, power efficient, high-performance EDGE (Explicit Data Graph Execution) architectures and their programming systems. By defining a hybrid execution model consisting of block-atomic execution of fixed-sized dataflow graphs, the TRIPS compiler was the first to compile conventional programming languages to extremely efficient dataflow execution. Their ASPLOS 2009 paper evaluated the TRIPS hardware (not simulated!) and software, winning Best Paper.

Her current research focuses on (1) energy efficiency in cloud and mobile systems and (2) is developing the Uncertain<T>, programming language system to create correct and efficient applications that sense and reason about the complexity of the world with estimates. The ASPLOS 2014 paper that introduced Uncertain<T> was selected for IEEE MICRO Top Picks and SIGPLAN Research Highlights.

Her national service includes the CRA board (2012-present), CRA-Women co-chair (2011-2014), CRA-Women Board (2009-present), DARPA ISAT committee (2012-2015), and two National Academy Studies. She served as program chair for ASPLOS '04, PACT '05, PLDI '07, ISMM '12, and CGO '13, and as co-Editor-in-Chief of ACM Transactions on Programming Language Systems (TOPLAS) (2007-2010). McKinley received an ACM SIGPLAN Distinguished Service Award, an NSF CAREER award, IBM Faculty awards, and outreach awards. Her research has been selected for CACM research highlights, IEEE MICRO Top Picks, SIGPLAN Research Highlights, and OOPSLA, ICS, and SIGMETRICS Test of Time awards. She is an IEEE Fellow and an ACM Fellow.

McKinley has graduated twenty one PhD students and is currently supervising one PhD students. She and her husband have three sons.

"I have missed more than 9000 shots in my career. I have lost almost 300 games. On 26 occasions I have been entrusted to take the game winning shot... and missed. And I have failed over and over and over again in my life. And that is why I succeed." -- Michael Jordan