Research Interests

My research aspires to make programming easy and the resulting programs correct and efficient. At Google, I am in the Google Cloud Engineering team, working on inventory efficiency in data centers.

Short Biography

Kathryn S. McKinley is a Distinguished Software Engineer at Google (2017-present). She received her BA, MS, and PhD from Rice University. Her research interests span programming languages, compilers, systems, architecture, and cloud, with a focus on performance, parallelism, and memory optimizations. She and her collaborators have produced software systems widely used in industry and academia including: the DaCapo Java Benchmarks (31,800+ downloads), the TRIPS Compiler, the Hoard memory manager (used by OS X), the MMTk memory management toolkit, the Immix garbage collector (used by Jikes RVM, Haxe, Rubinius, and Scala), and the SHIM profiler.

Dr. McKinley is a member of the American Academy of Arts and Sciences, an IEEE Fellow, and an ACM Fellow. Her research has garnered Test-of-Time awards (ASPLOS, OOPSLA (2), SIGMETRICS, ICS), best paper awards (PLDI, Middlewear, ASPLOS), IEEE MICRO Top Picks awards (4), SIGPLAN Research Highlights (2), NVMW Memorable Paper, and CACM Research Highlights (3). Dr. McKinley was honored to testify to the House Science Committee (Feb. 14, 2013). She served on the CRA Board and as CRA-W co-chair. She has graduated 22 PhD students. She and her husband have three sons.

Long Biography

Kathryn S. McKinley is a Distinguished Software Engineer at Google (2017-present). She was previously a Principal Researcher at Microsoft (2011-2017); an Endowed Professor of Computer Science at The University of Texas at Austin (2001-2013); and an Associate Professor at the University of Massachusetts (1993-2001). She received her BA, MS, and PhD from Rice University, where her PhD advisor was Ken Kennedy.

Her research aspires to make programming easy and the resulting programs correct and efficient. Her interests span programming languages, compilers, systems, architecture, and cloud with a focus on performance, parallelism, and memory optimizations. McKinley and her collaborators have produced software systems widely used in academia and industry, including the DaCapo Java Benchmarks, the Hoard memory manager (the memory manager in OS X), the MMTk memory management toolkit, the Immix garbage collector (used by Jikes RVM, Haxe, Rubinius, and Scala), the TRIPS Compiler, and the SHIM profiler with microsecond accuracy. At Microsoft, her work was deployed in the Bing Search engine (adaptive parallelism), the Band, and Azure cloud services (autoscaling). Her current work focuses on analysis and tools for optimizing the performance and efficiency of Google's cloud.

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 (ICS 1992). This work was selected in 2014 for the ICS 25th Anniversary Volume.

With her PhD student, Emery Berger, and collaborators, their ASPLOS 2000 paper introduced the first scalable memory manager that limits false sharing and synchronization, and provably controls external fragmentation. Scalable memory management is a required building block essential to scalable applications on today's multicore hardware. This algorithm remains widely used by IBM and Apple's OS X and was selected for the ASPLOS Influential Paper Award in 2019.

McKinley was a leader of the NSF Large ITR DaCapo research project. The DaCapo project introduced novel dynamic optimizations, garbage collectors, and runtime systems for managed languages. Contributions of this project included the introduction of now standard performance evaluation methodologies for dynamically optimized languages (OOPSLA 2006), benchmarking methodologies, the widely used DaCapo Java Benchmark Suite with 32,000+ downloads, and funding for over twenty graduated PhD students. The OOPSLA 2006 DaCapo Benchmarking paper publication won the OOPSLA 2016 Test of Time award.

Her contributions to the theory and practice of memory management include a wide range of optimizations and algorithms for explicit memory management and automatic memory management (known as garbage collection), beginning with work in OOPSLA 1999. Her recent work at ASPLOS 2020 (Selected for CACM Research Highlights and a SIGPLAN Distinguished Paper) introduced the first large page only explicit memory manager. Her PLDI 2022 paper (Distinguished paper) demonstrated a new approach for low-latency high-throughput garbage collection that builds on reference counting and Immix. It outperforms other production systems.

In their SIGMETRICS 2004 and ICSE 2004 papers, Blackburn, Cheng and McKinley described the first composable garbage collector framework and apples-to-apples algorithmic comparisons. They showed compilers make the free-list allocation sequence a negligible overhead, but free-list allocators give up substantial amounts of locality for smaller memory footprints compared to copying algorithms with contiguous allocation. Thus, full system performance is best with free-list collectors in small heaps and with semispace collectors in medium to large size heaps. This work won the SIGMETRICS 2014 Test of Time of Award.

This work inspired Blackburn and McKinley to introduce a new class of mark-region garbage collectors (PLDI 2008). Their Immix mark-region collector manages memory hierarchically using fixed sized blocks consisting of lines, similar to pages and cache lines. It achieves higher performance by achieving the best mutator locality using bump pointer allocation, collector performance with efficient line and block marking, and memory efficiency by allocating into free lines in partially filled blocks. Immix detects and eliminates fragmentation on demand using the first single pass algorithm to mix marking and object copying. With their students, they extended mark-region to work with reference counting and conservative collection (OOPSLA 2014, OOPSLA 2013). To date, Immix is the fastest garbage collector in the literature. It is the default collector for Jikes RVM, Haxe, Rubinius, and Scala.

In the Darpa funded TRIPS project at UT Austin, Professor McKinley collaborated with Professors Burger and Keckler to deliver technology-scalable, power efficient, high-performance EDGE (Explicit Data Graph Execution) architectures and their programming systems. This project introduced 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.

In 2014, Dr. McKinley, Dr. Todd Mytkowicz, and colleagues introduced the Uncertain<T>, programming language system to create correct and efficient applications that sense and reason about the complexity of the world with estimates. Key to this approach is a simple and restricted programming model, for which the runtime system can automatically evaluate uncertain computations using Bayesian logic and statistical distribution sampling. Their ASPLOS 2014 that introduced Uncertain<T> was selected for IEEE MICRO Top Picks and SIGPLAN Research Highlights.

Spanning McKinley's entire career, her students, collaborators, and she developed a wide range of novel tools and optimizations to understand and improve performance, parallelism, and locality. These tools and approaches include the first interactive parallelization tool (SC 1989), quantifying loop nest locality (ASPLOS 1996), cache management instructions that inspired Intel's non-temporal loads (PACT 2002), low cost and scalable profiling (PLDI 2010, OOPSLA 2009, OOPSLA 2007, ASPLOS 2006, MICRO 2005, CGO 2005), and the first cycle-level dynamic profiler that does not require program instrumentation (ISCA 2015). They also introduced novel runtimes for exploiting parallelism (USENIX 2017, PPOPP 2016, ASPLOS 2015, CGO 2011, ISCA 2012), improving tail latency (MICRO 2017, USENIX 2016, ASPLOS 2015, DISC 2014, ICAC 2013), and for managing hybrid memories (SIGMETRICS 2019, ASPLOS 2019, ISPASS 2019, PLDI 2018, PLDI 2013).

At Google, her teams have improved the availability, efficiency and performance of cloud customer applications and delivered mitigations for the L1 Terminal Fault Intel security problem, receiving numerous Google Feats of Engineering Awards and Google Technical Innovation Awards.

Her research contributions have been recognized with 5 test of time awards (ASPLOS, OOPSLA (2), SIGMETRICS, and ICS) and 11 best paper and best in area paper awards for ASPLOS, PLDI, Middlewear, NVMW Memorable Paper (PLDI), IEEE MICRO Top Picks (4), SIGPLAN Research Highlights (2), and CACM Research Highlights (3). The Jikes RVM project won the ACM SIGPLAN Programming Languages Software Award. She also was awarded the the ACM SIGARCH Alan D. Berenbaum Distinguished Service Award, the ACM SIGPLAN Distinguished Service Award, six IBM Faculty Fellowships, and an NSF Career award.

She served as program chair for ASPLOS, PACT, PLDI, ISMM, and CGO; as general chair for PLDI 2019; a DARPA ISAT member; on the SIGPLAN Executive Committee 1999-2001, 2015-2018; on two National Academy Studies; and as co-Editor-in-Chief of TOPLAS. In 2008, she created the ACM/IEEE Ken Kennedy Award to honor the technical, policy, and mentoring contributions of her late advisor. She served on the ACM Prize selection committee (2016-2020, Chair 2018), and on the CRA (2009-2021) and CRA-WP (previously CRA-W) Boards (2009-2020), and CRA-WP co-chair. As co-chair, she established CERP, which evaluates the effectiveness of programs to increase the diversity of computer science researchers. She led coordinated hundreds of volunteers to positively impact the lives of thousands of women and minority computer science undergraduates, graduate students, faculty, and PhD researchers.

Dr. McKinley was honored to testify to the House Science Committee's Subcommittee on Research and Science Education on the topic of innovation in information technology (February 14, 2013). Her testimony focused on (1) the academic, industry, and government computing research ecosystem that is driving innovation and economic advances in almost all fields; (2) the need for investment in key research areas, such as big data, privacy, secure systems, and computing performance; and (3) the need to increase diversity to drive innovation and expand the pool of US workers to meet computing workforce demands.

McKinley has graduated twenty two PhD students. She is currently co-supervising one PhD student.

She is married to Scotty Strahan and they have three sons. She enjoys step aerobics, circuit training, and walking around Greenlake with family and friends.


"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