Thursday, March 29, 2018 - 3:30pm to 4:30pm
Location:8102 Gates Hillman Centers
Speaker:RYAN R. NEWTON, Associate Professor of Computer Science https://www.cs.indiana.edu/~rrnewton/homepage.html
When fed the same input data on two executions, should your program produce exactly the same output on disk? If you answered "yes", I'd like to help you strictly guarantee this property: to guarantee that software is self-contained, deterministic and given a clear meaning separate from observer or host machine. Compared with today's ad hoc approach to reproducibility, a software stack that guarantees these properties would aid program debugging, scientific replication, and software archival.
In this talk, I describe our recent work on deterministic parallel languages, libraries, and runtime systems. We focus on data-processing applications that read, transform, and write data, and whose code includes a mix of legacy (binary) code with new, strongly-typed code. Legacy code must be sandboxed, but within high-level, type-safe code, programming language techniques can allow shared-memory parallelism while guaranteeing data-race freedom and determinism. To enhance data-processing code, one theme we explore is semi-manual memory management within a garbage-collected language -- part of a data-processing strategy that minimizes copying, including eliminating(de)serialization. In a prototype compiler, we automatically transform recursive functions to operate directly over dense, external data formats, eliminating data conversions as well as improving traversal speed.
Ryan Newton comes from South Florida and received his Ph.D. in computer science from MIT in 2009, advised by Arvind and Samuel Madden. His thesis introduced techniques for efficiently distributing a single logical program over a sensor network. From 2009 through 2011, Ryan was an engineer in the developer products division at Intel, where he worked on parallel programming tools including CnC and CilkPlus. Since 2011, Ryan leads a group of programming languages researchers interested in increasing the safety and parallel performance of high-level, declarative programs. Ryan is a functional programmer of 25 years, and is a member of the Glasgow Haskell Compiler steering committee.
Faculty Host: Umut Acar