wolfgang ziegler


„make stuff and blog about it“

ManLang'18

September 13, 2018

ManLang'18, JKU Linz

ManLang'18 - a two day conference on current research in the areas of managed programming languages and runtimes, took place in Linz at the Johannes Kepler University.

Impressions

ManLang'18, the International Conference on Managed Languages & Runtimes took place for the 15th time this year in Linz. For me though, it was the first time that I had the pleasure of attending this conference. Not only that, it was actually the first time for me to visit an actual academic software conference - and I found the contrasts and differences to other conferences I have visited so far quite noteworthy:

  • First and foremost: all the talks were going really deep and usually expected a profound familiarity with the respective topics. Of course, this was as expected since all of the presentations were based on current research - but still, I find it worth mentioning.
  • The conference was really small in terms of attendees. This turned out to be even more true, when I found out that probably half of the audience were also speakers at that very conference.
  • The amount of talks on the other hand was surprisingly big and I had expected those to happen differently. What I mean by that is, that I somehow got used to tracks happening in parallel and that's how I had interpreted the schedule: choosing a talk for a given time slot. But in fact, most talks were constraint to 15 min + short Q&A, which meant that we could see every single one of the 20 talks on the agenda. Nice.
  • Apparently, there are not a lot of demos in a academic software conferences - actually only one presentation (Debugging Native Extensions of Dynamic Languages) included a demo.
  • Benchmarks are hugely important as part of presenting research results. There seems to be an agreed-upon standard on which benchmarks to use in this area of research, since the same ones appeared consistently. This struck me as odd initially since I have been indoctrinated to focus on and optimize for "real-world" and "real-user" workloads instead of benchmark results. But apparently many of them are considered "realistic" benchmarks and more importantly, it makes a lot of sense to have a common denominator and understanding when it comes to comparing performance results.
  • GraalVM is a big deal! I have to say this hit me by surprise. I knew about Oracle Labs and the research they were doing in Linz and that a thing like GraalVM existed, but I had somehow assumed this was a mainly academic instrument which allows for research and experiments in the area of compilers and managed runtimes. Now I am rather under the impression that GraalVM could change software landscapes and stacks fundamentally, once it actually hits production environments (which is more or less happening now).
  • The Truffle Language Implementation Framework is the second big part in that puzzle that allows for building languages on top of the Graal compiler. Again, I knew next to nothing about it before that conference and it left me deeply impressed.
    If you are as clueless as I was (and most likely still am) about GraalVM and Truffle - here's a good read explaining both.

Highlights

Here are some of my personal highlights of this conference.

The Lecture Room

It turned out that coincidentally, the very lecture hall where all the ManLang'18 sessions took place, was the one sponsored by my employer Dynatrace.

The Dynatrace lecture room

Selected Sessions

As said initially, all sessions really went very deep in their respective field of research to an extent that I admittedly had a hard time grasping their concepts on more than one occasion. Nevertheless, a lot of basically forgotten knowledge in that area resurfaced and I also learned quite a lot of new things. If I had to pick a couple of favorites among all those sessions, it would be the following:

  • Fast-Path Loop Unrolling of Non-Counted Loops to Enable Subsequent Compiler Optimizations

  • Redundancy Elimination in the Presence of Split Class Initialization

  • Alto: Lightweight VMs using Virtualization-aware Managed Runtimes

  • Specializing Ropes for Ruby

  • Debugging Native Extensions of Dynamic Languages

Ars Electronica Center

The first day ended with an excursion to Ars Electronic Centerwhich I particularly enjoyed, since this is the place where my career as a software developer started and I still have very fond memories of these times and the exciting and rewarding projects I had the chance of contributing to. The picture below I took at Ars Electronica and it is a timeline of important events when it comes to computer hardware and software. All the things we take for granted that simply didn't exist until recently amazes me time and time again.

Timeline of important events in the history of computing

Bottom Line

It's been a long time since I both felt so ignorant but on the other hand learned so much at the same time. I definitely benefitted greatly from this conference in my role as a software developer and I am already looking forward to this conference happening again next year.