As our computational infrastructure races gracefully forward into increasingly parallel multi-core and clustered systems, our ability to easily produce software that can successfully exploit such systems continues to stumble. For years, we’ve fantasized about the world in which we’d write simple, sequential programs, add magic sauce, and suddenly have scalable, parallel executions. We’re not there. We’re not even close. I’ll present a radical, potentially crazy approach to automatic scalability, combining learning, prediction, and speculation To date, we’ve achieved shockingly good scalability and reasonable speedup in limited domains, but the potential is tantalizingly enormous.
Margo Seltzer is a Canada 150 Research Chair in Computer Science and Cheriton Family Chair in Computer Systems at the University of British Columbia. Her research interests are in systems, construed quite broadly: systems for capturing and accessing provenance, file systems, databases, transaction processing systems, storage and analysis of graph-structured data, new architectures for parallelizing execution, and systems that apply technology to problems in healthcare. Dr. Seltzer received an A.B. degree in Applied Mathematics from Harvard/Radcliffe College and a Ph. D. in Computer Science from the University of California, Berkeley.