CS SEMINAR

Types for Parallel and Concurrent Programming

Speaker
Dr Wrigstad, Tobias, Associate Professor, Department of Information Technology, Uppsala University
Chaired by
Dr Martin HENZ, Associate Professor, School of Computing
henz@comp.nus.edu.sg

26 Feb 2019 Tuesday, 01:00 PM to 02:30 PM

SR3, COM1-02-12

Abstract:

Uniqueness -- absence of aliases -- of values and objects is a strong and useful property. It simplifies reasoning about ownership and lifetime of resources and is used frequently with or without language support across mainstream programming languages. Maintaining uniqueness can be tricky, and may complicate programming considerably. C++, for example, supports uniqueness through smart pointers which must be explicitly moved. More recently, the Rust programming language handles movement implicitly by building uniqueness into the type system. Uniqueness information is key to powerful optimisation, correctness and efficient implementation of execution environments.

This talk shows how uniqueness can be extended to handle both parallelism (e.g., task parallel and data parallel implementations) and concurrency (e.g., lock-free algorithms and actors). The former can be implemented while maintaining uniqueness, but requires flexible means of controlling exclusive access that fit both structured and unstructured parallelism. The latter requires rethinking classical uniqueness to support effective uniqueness despite the existence of multiple aliases, accessible to the program.


Biodata:

Tobias Wrigstad is an associate professor in Computer Science at the Department of Information Technology at Uppsala University. His main interests are programming languages, software engineering and effective teaching methods. Tobias' current active research interests include type systems, concurrent and parallel programming, garbage collection, memory and cache utilisation, the use managed languages for scientific computing, and dynamic programming languages. In recent years, Tobias has spent considerable effort in deploying mastery learning techniques and effective course design. He is currently excited about applying graph theory to explore designs and dependencies of multi-year degree programmes.