Date(s) - 18/06/2014
1:00 pm - 2:00 pm
Keynote at the Scottish Programming Languages Seminar “Stream-processing for functional programmers” (Room 423, Sir Alwyn Williams Building, University of Glasgow) http://dcs.gla.ac.uk/~natalia/spls/
Abstract: Functional programming and stream-processing have shared history — from early work on dataflow architectures, VAL, and SISAL, to Haskell’s use of stream-based IO (before monads) or the modern-day resurgence of Haskell stream libraries (iteratees, pipes, conduit).
These days, “streaming” can mean a lot of things; StreamIt, based on synchronous-dataflow, has totally ordered streams and will not duplicate stateful stream processors, whereas Apache Storm makes the opposite decisions. The first part of this talk will overview this broad landscape.
We argue that the degree of dynamism (e.g. in data-rates and stream topologies) is the major axis along which various stream technologies are differentiated. In the second part of this talk, we describe our past and ongoing work on navigating this spectrum, by developing technologies that leverage regularities where they occur, but tolerate dynamism. We have studied profile-driven program partitioning, and other compilation topics, and our current thrust for developing stream DSLs overlaps heavily with work on data-parallel DSLs (e.g. Accelerate).
Biography: Ryan R. Newton emerged from the wetlands of South Florida to receive his Ph.D. in computer science from MIT in 2009, and from 2009 through
2011 conducted research on parallel programming tools as part of Intel’s Developer Products Division. In 2011, he joined Indiana University, where his research focuses on language-based approaches to the programming challenges posed by future architectures. To this end, he and his students have invented a new concurrent data abstraction (LVars) for deterministic parallelism, and are working on domain-specific compilers for array languages and distributed stream processing.