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

Chris Brown
Research Fellow working on the ParaPhrase project and refactoring guru
University of St Andrews


Chris Brown is a Post-Doctoral Research Fellow at the University of St Andrews working in the area of Refactoring and Parallelism. Chris received his Ph.D. from the University of Kent in 2008 under the supervision of Simon Thompson, where he worked on the implementation of the HaRe refactoring tool for Haskell. Chris now works full time on the ParaPhrase project working towards building radically new refactoring techniques and methodologies to exploit parallel skeleton and pattern applications in both the functional and imperative domains. Chris has published at major conferences in the field of functional programming and refactoring. Chris is a keen classical guitarist in his spare time, specialising in early, baroque and classical repertoires.

Chris Brown is Giving the Following Talks
The Dawn of the Mega-Core Age: Using Refactoring and Skeletons to Generate Parallel Erlang Programs

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: The single-core processor is obsolete. So effectively everyone! :)