Kathryn S. McKinley is a Principal Research Scientist at Google (2017-present). She received her BA, MS, and PhD from Rice University. Her research interests span programming languages, compilers, runtime systems, operating systems, cloud systems, and architecture with a focus on performance, parallelism, and memory systems. She and her collaborators have produced software systems widely used in industry and academia: 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 an IEEE Fellow and ACM Fellow. Her research has garnered Test-of-Time awards (ASPLOS, OOPSLA (2), SIGMETRICS, ICS), best paper awards (Middlewear, ASPLOS), IEEE MICRO Top Picks awards (4), SIGPLAN Research Highlights, NVMW Memorable Paper, and CACM Research Highlights (2). Dr. McKinley was honored to testify to the House Science Committee (Feb. 14, 2013). She served as CRA-W co-chair. She has graduated 22 PhD students. She and her husband have three sons.
Kathryn S. McKinley is a Principal Research Scientist 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, runtime systems, operating systems, cloud systems, and architecture with a focus on performance, parallelism, and memory systems. 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 (SLA 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), the widely used DaCapo Java Benchmark Suite with 32,000+ downloads, and funding for over twenty graduated PhD students. The OOPSLA 2006 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 (known as garbage collection) memory management (ISMM 2021, ASPLOS 2020, PLDI 2018, OOPSLA 2014, OOPSLA 2013, OOPSLA 2011, SP&E 2010, PLDI 2010, PLDI 2008, TOPLAS 2007, OOPSLA 2004, ISMM 2004, ICSE 2004, OOPSLA 2003, PLDI 2002, PLDI 2001, OOPSLA 2001, OOPSLA 1999). 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 performance of cloud customer applications and delivered mitigations for the L1 Terminal Fault Intel security problem, receiving two Google Feats of Engineering Awards (2019, 2018) and a Google Technical Innovation Award (2017) for their work.
Her research contributions have been recognized with 5 test of time awards (ASPLOS, OOPSLA (2), SIGMETRICS, and ICS) and 10 best paper and best in area paper awards for ASPLOS, Middlewear, NVMW Memorable Paper (PLDI), IEEE MICRO Top Picks (ASPLOS (2), ISCA (2)), SIGPLAN Research Highlights (ASPLOS), and CACM Research Highlights (ASPLOS, OOPSLA). The Jikes RVM project won the ACM SIGPLAN Programming Languages Software Award. She also was awarded 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