Skip to main content
MSU CSE Colloquium Series 2013-2014: Martin Herman

Title:  Type-Based Abstractions for Safe, Large-Scale Concurrent and Distributed Programming

Philipp Haller

Typesafe, Switzerland

EPFL, Switzerland

Time: March 31th 10:00am
Location: EB 3105


The requirements of concurrent and distributed applications have changed dramatically over the last decade, with response times that are orders of magnitude shorter and data volumes that are orders of magnitude larger. To meet these requirements, applications are being deployed on cloud-based computing platforms with thousands of multicore processors

In this talk I will give an overview of my research on programming languages, abstractions, and type systems aiming to address three major challenges: scalable concurrency, static safety, and efficient distribution. Our approach combines three research efforts: (1) an event-driven programming model integrating the actor model and asynchronous futures enables highly-scalable concurrent programming. By leveraging advanced abstraction mechanisms of the Scala programming language, the programming model can be implemented on unmodified Java Virtual Machines. (2) A type-based approach to isolating concurrent processes ensures race-free concurrency even in the presence of mutable data structures and side effects. Our approach is based on a lightweight type system extension for unique object references. Practical experience suggests that real-world actor programs can be type-checked with little additional programmer effort. (3) Static, type-based metaprogramming in combination with advanced features of Scala's type system can be used to significantly improve the safety and efficiency of object serialization. An open-source implementation of our approach, Scala/pickling, often outperforms widely-used serialization frameworks such as Java Serialization and Kryo.


Philipp Haller is a researcher, developer and consultant at Typesafe, a start-up company supporting and developing the Scala programming language and the Akka actor toolkit, among others. His research focuses on efficient, scalable, and safe concurrent and distributed programming, drawing on and contributing to techniques and methods in the areas of type and effect systems, language design, and experimental evaluation. He created Scala's original actors library, winning the Best Paper Award at the 9th International Conference on Coordination Models and Languages (Coordination 2007). Scala's actors initiated a wide-spread adoption of actor-based message-passing concurrency on the Java Virtual Machine, most notably enabling Twitter to stay operational under extreme load during the 2008 inauguration of U.S. President Obama. He was the specification lead of futures in Scala, a concurrency substrate used in production at the core of a number of large-scale websites such as LinkedIn and The Guardian. He frequently speaks at leading industrial conferences, and is co-author of the book "Actors in Scala." Previously, Dr. Haller was a post-doctoral fellow at Stanford University with Prof. Kunle Olukotun, and at EPFL with Prof. Martin Odersky. He earned his Dipl.-Inform. at Karlsruhe Institute of Technology, Germany, and his Ph.D. at EPFL, Switzerland.