2019

September
Our paper Run Actor, Run on benchmarking actor applications has been accepted to the AGERE 2019 workshop. This is joint work between Sebastian Blessing, Albert Mingkun Yang, Kiko Fernandez-Reyes, Sophia Drossopoulou and myself. The paper argues the need for stating clear rules for cross-language benchmarking games, as well as takes the first steps towards defining a multi-faceted actor benchmark.
August
My PhD student Malin's paper to Managed Programming Languages and Runtimes on Performance of an OO Compute Kernel on the JVM — Revisiting Java as a Language for Scientific Computing Applications has been accepted. In this paper we evaluate the performance of C++ and JVM compute kernels, and investigate the state of Java for Scientific Computing in 2019.
July
The artefact for our paper Godot — all the benefits of explicit and implicit futures won the distinguished artefact award at ECOOP.
July
the end of the year, I am on a sabbatical visiting the Department of Computer Science at the National University of Singapore. Thus, I am in Time Zone UTC+8, and cannot regularly be reached through my Swedish cell phone number.
June
I am serving on the Programme Committee for SPLASH-E (the SPLASH Education Track) in 2019. The deadline is July 12, but this year SPLASH-E has a flexible deadline option.
May
I am proud to report that I am the 2019 recipient of the pedagogical award in the Math, Science, and Technology faculty. > **Motivation** > > Tobias Wrigstad is passionate about his teaching. With pedagogical ability and subject knowledge, he inspires his students. He continuously develops his pedagogy with the goal that students should take their own responsibility for their learning. With innovative teaching and examination forms, enthusiasm and responsiveness, Tobias promotes student learning and interest in the subject. Tobias also generously shares his educational experiences with colleagues.
May
Evaluated Artefact accepted — companion to the Godot paper which is to appear at ECOOP, by Kiko Fernandez-Reyes, Dave Clarke, Einar Broch Johnson, Ludovic Henrio and myself.</br> The artefact contains a prototype implementation of the formalisms in the paper in Scala, to serve the community members who rather look at executable code than operational semantics when implementing features.
May
Paper accepted to <PROGRAMMING> 2020: Reference Capabilities for Safe Parallel Array Programming, by Beatrice Åkerblom, Elias Castegren and myself.
&nbsp
The paper extends our previous work on reference capabilities with support for arrays. Array capabilities are abstract array views that offer a consequtive view of (the possibly "scattered" elements of) the underlying array. Array manipulation of unique reference capabilities preserves uniqueness, and there are many nice borrowing patterns that showcase the usefulness of borrowing to temporarily decompose a structure and using borrowing to snap it back together again.
&nbsp
One of my favourite lines of the paper is the showcasing of how a matrix encoded as an array can be rotated with a single line of code: align(merge(split(matrix, Cols, True), True)) (see the forthcoming paper for details).
May
Paper accepted to the IFAC Symposium on Advances in Control Education (ACE 2019): Quantitative Analysis of Curricula Coherence Using Directed Graphs, by Steffi Knorn, Damiano Varagnolo, Kjell Staffas, myself, and Eva Fjällström.</br>
May
CurryOn talk: Run, Actor, Run!</a>, by Sebastian Blessing, Sophia Drossopoulou and myself. Together with Sophia and Sebastian (and since then a growing team including Kiko Fernandez-Reyes and Albert Mingkun Yang), we are looking at the performace of actor languages on big machines. Stay tuned!
April
I will be serving on the Programme Committee for Onward! in 2019.
April
ECOOP paper accepted: Godot: All the Benefits of Implicit and Explicit Futures by Kiko Fernandez-Reyes, Dave Clarke, Einar Broch Johnson, Ludovic Henrio and myself. This work explore two kinds of futures — data flow futures and control flow futures and their use in a single, explicitly typed system.
April
I am serving on the PhD committe of Nathalie Oostvoegels, adviced by Wolfgang De Meuter at VUB.
April
Visiting Martin Henz at the National University of Singapore (NUS).
April
I have been awarded a STINT scholarship to do a teaching sabbatical at National University of Singapore (NUS) in the fall of 2019. My host is Martin Henz.
january
Stephan Branduaer, PhD just graduated. The opponent was Professor Doug Lea from SUNY Oswego, and the grading committe consisted of Professor Magne Haveraaen from University of Bergen, Professor Görel Hedin, LTH, and Associate Senior Lecturer Elisabeth Larsson, Uppsala.
January
My PhD student Stephan Brandauer just nailed his thesis, as part of the ritual of announcing his public PhD defence on January 23rd. The grading committee consists of Professor Magne Haveraaen, Professor Görel Hedin, Associate Professor Elisabeth Larsson and Professor Björn Victor. The opponent is Professor Doug Lea, SUNY Oswego, US.

2018

November
On November 26th, together with Per Stenström (Chalmers) and Sverker Jansson (Rise), I'm organising the 12th Multicore Day as part of the SICS software week. The year's line-up promises great insights into the future of computer hardware, and computing:
  1. Half Off GPU Computing: Efficient Virtualization and Coherence Techniques for GPUs, Murali Annavaram, University of Southern California
  2. Quantum Computers and Quantum Software, Harry Buhrman, Univesity of Amsterdam
  3. Emerging Trends in Neuromorphic Hardware Systems, Nasim Farahini, Qamcom Research & Technology
  4. Is it Time for RISC and CISC to Die?, Aaron Smith, Microsoft and University of Edinburgh
  5. Mr.Wolf: A RISC-V Parallel Ultra Low Power SoC for IoT Edge Processing, David Rossi, University of Bologna
  6. Trends in High-Performance Memory Systems, Per Stenström, Chalmers University of Technology
  7. Green Cache: Efficient Pointer-Based Multicore Caches, Erik Hagersten, Uppsala University
Hope to see you there!
October
I am giving a keynote presentation: Concurrency vs. Parallelism in Encore (...and Types)</a>, at AGERE!, Monday November 5 8:45-10:00, co-located with SPLASH 2018.
Abstract: Parallelism warrants concurrency, but more often that not, the concepts are at odds with each other. Typical concurrent programming deals with coordinating related events that execute asynchronously. Typical concurrent programs push control closer to the producers and consumers of related events. Parallel programming on the other hand often thrives on centralised control – on the ability to determine that a certain task can be partitioned and work distributed across multiple cores. How to best support parallelism in actor programs is not clear. Do we use internal parallelism encapsulated inside an actor to increase the throughput of a single message, or do we employ parallelism to process multiple messages to the same actor in parallel, in the hope of reducing latency?
For the last few years, the Encore actor language has served as a playground for exploring how to support – efficiently and safely – both concurrency and parallelism in actor languages. In this talk I will report on our experiences, and how we leverage types across all solutions.
In addition, I am also presenting Stephan's Onward! paper on Cflat: A New Modular Approach to Implementing Efficient and Tunable Collections on November 8 10:30--11:00.
September
AGERE paper accepted: Attached and Detached Closures in Actors</a>, by the (past and present) core Encore team: Elias Castegren, Dave Clarke, Kiko Fernandez-Reyes, Albert Mingkun Yang and myself.</br> This work investigates closures and capturing of state in actor programs, and in particular how this is handled in the Encore programming language.
August
Onward! paper accepted: Cflat: A New Modular Approach to Implementing Efficient and Tunable Collections.</a>, by Stephan Brandauer, Elias Castegren and myself</br> The paper explores a new way to implement data structures which untangles representation from "business logic", which allows intresting ways of tuning data structures using different storage back-ends that match different usage scenarios. A key result is a small regex-like language for expressing an abstract iterator that is used for front-end implementation of a data structure while keeping it combinable with any storage back-end.
July
July
JLAMP journal paper accepted: Bestow and Atomic: Concurrent Programming using Isolation, Delegation and Grouping, by Elias Castegren, Joel Wallin and myself has been accepted to the Journal of Logical and Algebraic Methods in Programming. The paper explores different means to achieve effective actor isolation -- by controlling sharing of mutable state, or by controlling who carries out operations on mutable state, regardless of where they are triggered. It also explores the meaning of atomicity in the context of actors and how to develop concurrency abstractions for actors we well as threads and locks. An open preprint version will be uploaded to arXiv shortly.
June
June
Attending the OOPSLA PC meeting and PLDI.
June
Our paper Safely Abstracting Memory Layouts was accepted to FTfJP. The paper, by Juliana Franco, Alexandros Tasos, Sophia Drossopoulou, myself and Susan Eisenbach, formalises parts of our previous (and on-going) work on SHAPES a programming language extension for enabling memory optimisation for managed languages.
June
Work-in-progress paper Extending SHAPES for SIMD Architectures was accepted to ICOOOLPS. The paper, by Alexandros Tasos, Juliana Franco, myself, Sophia Drossopoulou and Susan Eisenbach, builds on our previous (and on-going) work on SHAPES a programming language extension for enabling memory optimisation for managed languages.
May
I have been appointed “distinguished university teacher” by the university commission for (wait for it) distinguished university teachers. This is “a career step and a distinguished title for extra-skilled teachers at Uppsala University”.
May
Beatrice's paper Support for Parallel Programming With Arrays in Kappa with Elias and myself has been accepted for ARRAY 2018.
April
Photo by Sophia Drossopoulou.
March
For a few months, I have been collaborating with Oracle (together with Albert Yang, my PhD student) on memory management on the JVM. As a side-effect of this collaboration, Oracle is offering master thesis subjects supervised by JVM engineers at their Stockholm Offices. Uppsala students interested in these topics should contact me directly.
February
Elias Castegren, PhD just graduated. The opponent was Professor Alan Mycroft from Cambridge and the grading committe consisted of Associate Professor Luca Padovani from Torino, Professor Christian Schulte, KTH, and Associate Senior Lecturer Alexandra Jimborean, Uppsala.
January
My PhD student Elias Castegren just nailed his thesis, as part of the ritual of announcing his public PhD defence on February 9th.