Subscribe to our Erlang Factory newsletter to receive the latest updates and news

Kevin Hammond
Professor in Computer Science
University of St Andrews,


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. > >

Kevin Hammond is Giving the Following Talks
Using Software Refactoring to form Parallel Programs: the ParaPhrase Approach

Despite Moore's ``law'', uniprocessor clock speeds have now stalled. Rather than using single processors running at ever higher clock speeds, it is  common to find dual-, quad- or even hexa-core processors, even in consumer laptops and desktops. Future hardware will not be slightly parallel, however, as in today's multicore systems, but will be massively parallel, with manycore and perhaps even megacore systems becoming mainstream. This means that programmers need to start thinking parallel from the outset of  their program development rather than treating parallelism as a bolt-on afterthought. This talk introduces the Paraphrase approach to constructing parallel programs, a new approach that uses formally-defined refactoring transformations based around strong parallel patterns and associated skeleton implementations, and directly exploits functional programming concepts. We show how complex parallel programs can be built from primitive Erlang building blocks, and describe some new software refactorings for parallel Erlang programs that capture common parallel abstractions, such as divide-and-conquer and data parallelism, using these building blocks. The ParaPhrase approach is both flexible and scalable, capable of covering both GPU and CPU computations, scaling from multi-core to mega-core processors, and covering a variety of parallel programming paradigms. 

Talk Objectives: To give an overview of the ParaPhrase project and to show how we can parallelise Erlang programs using refactoring and skeletons.

Target Audience: Anyone who is interested in refactoring and/or parallelism.