Presentation: "Data Parallel Haskell"

Time: Tuesday 16:15 - 17:15

Location: Archauz

Abstract:

There are many approaches to exploiting multi-cores, but a particularly promising one is the "data-parallel" paradigm, because it combines massive parallelism (on both shared and distributed memory) with a simple, single control-flow programming model. Indeed, I think that data parallelism is the only way we will be able to exploit tens or hundreds of processors effectively.

Alas, data-parallel programming is usually restricted to "flat" data parallelism, which is good for implementers but bad for programmers. Instead, I'll describe the "nested" data parallel programming model, first developed in the 90's by Blelloch and Sabot. It is great for programmers but much harder to implement; as a result, it's virtually unknown in practice. It's really only feasible to support nested data parallelism in a purely functional language, so we are building a high-performance implementation in Haskell.

In this talk you'll learn what nested data parallelism is, why it's important, and how to use it in Haskell. Fear not: I won't assume you know any Haskell. Yet.

Keywords: Concurrency, data parallelism, functional programming, Haskell

Target audience: Developers who want to know what is just "over the horizon" for parallel programming.

Download slides

Simon Peyton-Jones, Co-creator of Haskell

 Simon  Peyton-Jones

He is co-creator of Haskell, a Principal Researcher at Microsoft Research in Cambridge and thus; one of those who shapes the languages that you will be using in the future.

Simon Peyton Jones has a MA, MBCS, CEng and graduated from Trinity College Cambridge in 1980. After two years in industry, he spent seven years as a lecturer at University College London and nine years as a professor at Glasgow University. He is an Honorary Professor of the Computer Science Department at Glasgow University.

Simon Peyton Jones is mainly interested in functional programming languages, their implementation, and their application. In practical terms, that means he spends most of his time on the design and implementation of Haskell. In particular the Glasgow Haskell Compiler, and its ramifications. He has led a succession of research projects focused around the design and implementation of production-quality functional-language systems for both uniprocessors and parallel machines. He was a key contributor to the design of the now-standard functional language Haskell, and is the lead designer of the widely-used Glasgow Haskell Compiler (GHC). He has written two textbooks about the implementation of functional languages.

More generally, Simon Peyton Jones is interested in language design, rich type systems, software component architectures, compiler technology, code generation, runtime systems, virtual machines, and garbage collection. He is particularly motivated by direct use of principled theory to practical language design and implementation - that's one reason he loves functional programming so much.