Bridging Safety and Performance
This program is tentative and subject to change.
As computer scientists, we have long wrestled with a perceived trade-off between safety and performance. Choosing performance meant using low-level languages, which help optimize for performance but at the expense of safety. Choosing safety meant using high-level languages, which guarantee safety at the expense of performance. Historically, we have chosen performance over safety. This choice has not aged well, because societal significance and economic costs of safety has been steadily increasing. Therefore, it is (past) time to challenge this rigid dichotomy. Obvious question is: why can’t we have both?
In this talk, I show that we can have both safety and performance, by developing programming languages and systems that integrate both. I present two advances in this direction by considering classic problems. First, I show that parallel functional programming languages, which are traditionally regarded as safe but slow, can deliver impressive performance. Second, I show that parallel programming languages, including both functional and procedural, can automatically and safely optimize their own performance, reducing reliance on labor-intensive manual optimizations. The method underpinning these advances blends several “ingredients”
- “Theory A” (algorithms and complexity, a.k.a., “Turing” theory) for asymptotic efficiency,
- “Theory B” (theory of programming, a.k.a., “Church” theory) for safety, and
- system building and empirical computer science for practical efficiency.
This program is tentative and subject to change.
Tue 21 JanDisplayed time zone: Mountain Time (US & Canada) change
09:00 - 10:30 | |||
09:00 60mKeynote | Bridging Safety and Performance PADL Umut A. Acar Carnegie Mellon University | ||
10:00 30mTalk | SM-based Semantics for Answer Set Programs Containing Conditional Literals and Arithmetic PADL |