Concerns We Are Not Separating: It's Time for New Programming Stacks
Fri 25 Jun 2021 22:30 - 23:30 at PLDI-A - Keynote
The goal of separating concerns is a noble one that is often discussed but is rarely achieved with cross-cutting concerns like performance. Optimizing performance usually requires selecting data and computation organizations to suit a particular architecture. In the context of scientists and engineers who are writing simulation and data analysis codes, the performance concern impacts how quickly they can make scientific progress. They have to leverage ever-changing and complex computer architectures to handle the sheer volume of data they produce and consume. Thus, they find themselves rewriting portions of their code at a low level to obtain needed performance on new machines.
To empower programmers to make decisions about implementation details at a higher level, we need programming systems that cleanly separate what the code is trying to do, from how it should accomplish it in terms of data and computation organization. In this talk, I present a vision for interacting what and how programming stacks. The how programming stack needs a complete tool chain including programming constructs that enable the explicit, orthogonal, and high-level specification of implementation details for programs written in the what stack. I show how existing systems such as the Chapel parallel programming language embody some of these principles and could be the foundation for programming systems where performance implementation concerns are first-class constructs.
Bio: Michelle Strout is the Chapel team manager at HPE as of January 2021 and a professor in the Department of Computer Science at the University of Arizona since 2015. She earned her Ph.D. at the University of San Diego in 2003, did an Enrico Fermi postdoc at Argonne National Laborator, and was an assistant and associate professor at Colorado State University from 2005 through 2015. Dr. Strout’s main research area is programming languages and compilers for high performance computing and her research interests include sparse matrix computations and the polyhedral model. Michelle received an NSF CAREER Award for her research in parallelization techniques for irregular applications, such as molecular dynamics simulations. She received a DOE Early Career award to fund her research in separating the specification of scientific computing applications from the specification of implementation details such as how to parallelize such computations. Some of Prof. Strout’s research contributions include the Universal Occupancy Vector (UOV) for determining storage mappings for any legal schedule in a stencil computation, the Sparse Polyhedral Framework (SPF) for specifying inspector-executor loop transformations, dataflow analysis for MPI programs, parameterized and full versus partial tiling within the polyhedral model, and loop chaining for scheduling across loops.
Fri 25 JunDisplayed time zone: Eastern Time (US & Canada) change
10:30 - 11:30 | |||
10:30 60mKeynote | Concerns We Are Not Separating: It's Time for New Programming Stacks Invited Talks Michelle Strout HPE and University of Arizona |
22:30 - 23:30 | |||
22:30 60mKeynote | Concerns We Are Not Separating: It's Time for New Programming Stacks Invited Talks Michelle Strout HPE and University of Arizona |