Kevin Hammond is a full professor of Computer Science at the University of St Andrews, where he leads the functional programming research group. His research interests lie in programming language design and implementation, with a focus on parallelism and real-time properties of functional languages, including modelling and reasoning about extra-functional properties. In total, he has published around 100 research papers, books and articles, and held over 20 national and international research grants, totalling around £11M of research funding. He was a member of the Haskell design committee, co-designed the Hume real-time functional language, and is co-editor of the main reference text on parallel functional programming. He currently coordinates the ParaPhrase project, a 3-year EU research project that aims to develop new refactoring technology for Erlang and C++ programs, targeting heterogeneous parallel architectures. Kevin is a keen hill-walker, whisky connoisseur and enjoys early music.
Multicore is just the start of an ongoing revolution in computer hardware. Manycore machines with hundreds of cores are already being produced, and future systems may well have thousands or even millions of cores, a true megacore era.
Dealing with the scale and complexity of megacore (even manycore) systems is incredibly hard using the typical, concurrency-based, approaches that are used today. It becomes almost impossible if a system mixes e.g. CPU and GPU cores. Fortunately, functional programming languages, like Haskell and Erlang, offer huge potential for easy, scalable, and bug-free parallelism.
This talk will explore current hardware trends, highlight some recent research results, and show how easy-to-use functional programming techniques can help achieve long-term portability, with built-in scalability, across both current and emerging computer architectures.