The ACM Special Interest Group on Programming Languages (SIGPLAN) has awarded Facebook Software Engineer Simon Marlow, Microsoft Principal Researcher Simon Peyton Jones, and Google AI Software Engineer Satnam Singh the Most Influential ICFP Paper Award for their 2009 paper, “Runtime Support for Multicore Haskell.” Their work enabled the programming language Haskell to swiftly and efficiently run on parallel hardware.
Each year, the International Conference of Functional Programming (ICFP) selects a paper that has transformed how we compute over the past decade. Marlow, Peyton Jones, and Singh empowered engineers to write programs that exploit parallel hardware — ultimately making Haskell suitable for computing at scale in environments like Facebook’s.
Developed in the early 1990s, Haskell was conceived as a new language design building on and unifying existing research in functional programming. Marlow and Peyton Jones met at the University of Glasgow, while Marlow was working on his PhD, and began working together. From there, they both went on to work at Microsoft, where they continued to develop the now widely used Glasgow Haskell Compiler (GHC).
As a purely functional programming language, Haskell should be ideally suited to expressing parallel programs. However, in practice, the early implementation of parallelism in GHC’s runtime system suffered from a number of bottlenecks.
In their influential paper, Marlow and his colleagues set out to find a way to realize Haskell’s full potential to run efficiently on parallel hardware. They identified and unclogged each bottleneck and fed their fixes into GHC. As a result, some benchmarked programs sped up by nearly 8x. With these improvements, Haskell soon became indispensable to many engineers, particularly those grappling with the need to run parallel processes. “We tried to make Haskell more than just a research language,” says Marlow, “but rather something that people actually use to get real work done.”
That’s what happened in 2013 when Marlow, dubbed a “noted Haskell guru” by Wired magazine, joined Facebook and led the efforts to redesign its abuse protection system, Sigma, using Haskell. The new version fights spam, phishing attacks, and malware, serving more than 1 million requests per second. For a typical workload mix, Haskell-based Sigma handles 20 percent to 30 percent more traffic than the previous version, using the same hardware.
The improvements Marlow and his colleagues enabled 10 years ago have helped create the Sigma we use today. Their work has also impacted systems that companies in other data-heavy industries, such as pharmaceuticals, finance, and biotech, have since built using Haskell. Currently, Marlow is working on a system to collect, store, and analyze information about source code. The goal is to provide a rich view of source code to tools and analyses, which will enable programmers to be more efficient.
Photo of Marlow courtesy of Ed Telling Photography and Skills Matter.