Kathryn S. McKinley
Kathryn S. McKinley
Kathryn S. McKinley
|Alma mater||Rice University|
|Known for||Locality & Parallelism Optimizations |
Hoard memory allocator
|Awards||ACM Fellow (2008)|
IEEE Fellow (2011)
The University of Texas at Austin
University of Massachusetts Amherst
|Doctoral advisor||Ken Kennedy|
Kathryn S. McKinley is an American computer scientist noted for her research on compilers, runtime systems, and computer architecture. She is also known for her leadership in broadening participation in computing. McKinely was co-chair of CRA-W from 2011 to 2014.
McKinley received a B.A. in computer science and engineering from Rice University in 1985. She went on to earn an M.S. in computer science from Rice University in 1990 and then a Ph.D in computer science from Rice University in 1992.
She joined the Department of Computer Science at the University of Massachusetts Amherst as an assistant professor in 1993. While there she was promoted to associate professor in 1999. In 2001, she moved to the University of Texas at Austin as an associate professor. In 2005, she was promoted to professor and in 2010 to endowed professor in computer science. In 2011 she moved to Microsoft Research as a Principal Researcher. She is currently a Senior Research Scientist at Google.
McKinley is married to Scotty Strahan; they have three boys: Cooper, Dylan, and Wyatt Strahan.
She and her colleagues introduced the first general purpose model and optimization framework based on dependences and cache line reuse for improving the cache locality of dense matrix algorithms using loop permutation, loop reversal, fusion, and distribution. McKinley and her advisor, Ken Kennedy showed how to use this model to introduce parallelism with locality and eliminate false sharing. This work was selected in 2014 for the ICS 25th Anniversary Volume.
McKinley, her PhD student Emery D. Berger, and colleagues introduced the Hoard C/C++ Memory Allocator, which is widely used by applications and in Apple's OS X. Hoard limits contention caused when multiple threads allocate or free memory at the same time, and avoids false sharing due to memory allocation. At the same time, Hoard enforces provable bounds on the total amount of fragmentation.
McKinley was a leader of the DaCapo research group, which spanned nine institutions and was funded by an NSF ITR (2000-2006). This project produced a number of innovative virtual machine technologies, open source tools, open source benchmarks, and new methodologies for evaluating managed runtimes. The benchmarking and methodologies efforts were led by Stephen M. Blackburn. The DaCapo Java benchmark suite and evaluation methodologies are widely used in academia and industry to evaluate Java analysis, optimization, and testing technologies. Blackburn, Cheng, and McKinley were the first to perform an apples-to-apples comparison of garbage collection algorithms that showed free-list allocators give up substantial amounts of locality even though they require less memory compared to copying algorithms, which allocate contemporaneous objects contiguously. This work won the SIGMETRICS 2014 Test of Time of Award.
Based on this insight, Blackburn and McKinley designed a new class of garbage collectors, they named mark-region. Their Immix mark-region collector manages memory hierarchically using fixed sized blocks consisting of lines. Contiguous object allocation may cross lines, but noblocks. Immix collection mixes line marking and object copying in a single pass. This design delivers substantial performance benefits due to smaller heap footprints and improvements in locality.
Her PhD student Michael Bond received the ACM SIGPLAN Outstanding Doctoral Dissertation Award in 2008.
On February 14, 2013, McKinley testified to the House Committee on Science, Space, and Technology, at the Subcommittee on Research. She spoke on the academic, industry, and government computing research ecosystem that is driving innovation and economic advances in almost all fields.
Her other notable awards include:
- ACM SIGMETRICS Test of Time Award in 2014
- Most Influential OOPSLA Paper Award from 2002, awarded in 2012. Berger, E. D.; Zorn, B. G.; McKinley, K. S. (November 2002). "Reconsidering Custom Memory Allocation" (PDF). Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. pp. 1–12. CiteSeerX 10.1.1.119.5298. doi:10.1145/582419.582421. ISBN 978-1-58113-471-1.
- IEEE Fellow (2011)
- ACM SIGPLAN Programming Languages Software Award, for Jikes RVM (2012)
- ACM SIGPLAN Distinguished Service Award (2011)
- ACM Distinguished Scientist (2006) 
- K. S. McKinley; S. Carr; C. Tseng (1996). "Improving Data Locality with Loop Transformations". ACM Transactions on Programming Languages and Systems. 18 (4): 424–453. CiteSeerX 10.1.1.47.1703. doi:10.1145/233561.233564.
- K. Kennedy; K. S. McKinley (1992). "Optimizing for parallelism and data locality". ACM International Conference on Supercomputing: 323–334. doi:10.1145/143369.143427. ISBN 978-0897914857.
- E. D. Berger; K. S. McKinley; R. D. Blumofe; P. R. Wilson (2000). "Hoard: a scalable memory allocator for multithreaded applications". ASPLOS IX Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems. 28 (5): 117–128. doi:10.1145/378995.379232.
- S. M. Blackburn; R. Garner; C. Hoffman; A. M. Khan; K. S. McKinley; R. Bentzur A. Diwan; D. Feinberg; D. Frampton; S. Z. Guyer; M. Hirzel; A. Hosking; M. Jump; H. Lee; J. E. B. Moss; A. Phansalkar; D. Stefanovic; T. VanDrunen; D. von Dincklage; B. Wiedermann (2006). "The DaCapo benchmarks: java benchmarking development and analysis". Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications: 169–190. doi:10.1145/1167473.1167488. ISBN 978-1595933485.
- S. M. Blackburn; P. Cheng; K. S. McKinley (2004). "Myths and realities: the performance impact of garbage collection". SIGMETRICS '04/Performance '04 Proceedings of the Joint International Conference on Measurement and Modeling of Computer Systems: 25–36. doi:10.1145/1005686.1005693. ISBN 978-1581138733.
- S. M. Blackburn; P. Cheng; K. S. McKinley (2004). "Oil and Water? High Performance Garbage Collection in Java with MMTk". ICSE '04 Proceedings of the 26th International Conference on Software Engineering: 137–146. doi:10.1109/ICSE.2004.1317436. ISBN 978-0-7695-2163-3.
- ACM SIGMETRICS (2014-07-01). "SIGMETRICS Awards". SIGMETRICS. Retrieved 2014-07-01.
- S. M. Blackburn; K. S. McKinley (2008). "Immix: a mark-region garbage collector with space efficiency, fast collection, and mutator performance". PLDI '08 Proceedings of the 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation: 22–32. doi:10.1145/1375581.1375586. ISBN 9781595938602.
- sigplan.org (2014-01-07). "SIGPLAN 2008: Two Awards Presented". sigplan. Retrieved 2014-01-07.
- "Written Testimony of Dr. Kathryn S. McKinley – Hearing on 'Applications for Information Technology Research and Development'" (PDF). U.S. House of Representatives. February 14, 2013.
- Norman, Staci (January 15, 2009). "Kathryn McKinley Named ACM Fellow". University of Texas at Austin.
- "The Third Annual SPLASH Conference, held in Tucson, Arizona". SplashCon. Retrieved June 21, 2013.
- "Fellow Class of 2011". IEEE. Archived from the original on April 30, 2013. Retrieved June 21, 2013.
- "2012: Jikes Research Virtual Machine (RVM)". Sigplan. Archived from the original on July 3, 2013. Retrieved June 21, 2013.
- "Distinguished Service Award". Sigplan. Retrieved June 21, 2013.
- "ACM Distinguished Member". Association for Computing Machinery. Retrieved June 21, 2013.
- Kathryn S. McKinley at the University of Texas at Austin