As software demands evolve and grow, new programming languages emerge and rise to popularity. However, supporting more advanced language runtime features such as just-in-time (JIT) compilation and garbage collection (GC) for a new language is no easy feat. Writing your own full-featured JIT and GC usually requires reading profusely on the subjects and implementing everything from scratch over a long period of time, or poring over hundreds of thousands of lines of code. The open-source Eclipse OMR runtime toolkit is striving to make this process much simpler for language runtime developers and researchers.

This workshop will introduce the Eclipse OMR framework, present ongoing research projects leveraging OMR technologies, deliver hands-on tutorials using OMR JitBuilder and GC to demonstrate how OMR components can be easily integrated into an existing runtime, and conclude with a discussion on the needs and challenges facing language runtimes development and research communities.

Goals

Java runtime technology has benefited from hundreds of person years of development investment over the last two decades, resulting in a highly capable and scalable dynamic language that delivers powerful performance and has a vibrant developer ecosystem. The Eclipse OMR project aims to expand access to high quality runtime technologies for other dynamic languages through an ongoing effort to restructure the core components of the J9 Java Virtual Machine (JVM). Rather than building new languages on top of Java, however, Eclipse OMR intends to unlock the inner workings of the JVM without imposing Java semantics to create a common platform for building language runtimes.

The high-level goals of this workshop are to:

  1. introduce the Eclipse OMR open-source framework for building and enhancing language runtimes: what it is, the runtime components that have been contributed, active areas of development, and how workshop participants can become involved;

  2. allow language runtime practitioners and researchers to describe promising ongoing projects that leverage Eclipse OMR so that participants can hear first-hand how this technology is being used;

  3. provide a hands-on tutorial to demonstrate how advanced JIT and GC technologies can be easily integrated into an existing runtime;

  4. conclude with a birds-of-a-feather (BoF) session with workshop participants moderated by Eclipse OMR project leads to discuss the needs and challenges of runtime development and research communities and how open-source runtime technologies should evolve to meet those requirements.

Details

There will be three sections:

  1. An initial speaker session where the underlying technology will be introduced with its relevance to workshop attendees. Select speakers from industry and academia will present relevant work on projects such as WebAssembly, Lua, Swift, and garbage collection that build upon Eclipse OMR technology.

  2. A hands-on tutorial session where participants will be guided through a set of exercises to integrate compiler technology and garbage collection technology. Attendees will experience first-hand the progression of performance improvements as different features of the OMR technology are integrated. We expect the hands-on section to consume at least half of the time allotted to this workshop. Attendees are required to bring their own laptops if they wish to participate in the hands-on portion. We will provide instructions to attendees prior to the workshop to streamline the setup process.

  3. A short BoF session moderated by Eclipse OMR project leads where organizers and participants can discuss the technology, its application, where it needs to improve, what features developers and researchers would like to see but are currently lacking, and so on.

Prerequisites

Are you interested in learning about modern, open-source runtime technologies? Do you want a guided hands-on experience to see how the technology can be leveraged in practice? If you answered yes to both of these questions, then you are the ideal participant we are looking for! Some knowledge of runtime technology and C/C++ would be useful, but not required.

Latest update:

  1. For “Boost WABT Performance with JitBuilder” hands-on tutorial, please check out the prerequisites here.

  2. For “Create an Object Model and Get a GC for Free” hands-on tutorial, please check out the prerequisites here.

Thanks and we are looking forward to meeting everyone soon!

Talks

Title
BoF: Eclipse OMR Community Directions
TURBO
Boost WABT Performance with JitBuilder (Part I)
TURBO
Boost WABT Performance with JitBuilder (Part II)
TURBO
Building AArch64 Support for the Eclipse OMR Language Runtime Toolkit
TURBO
Building an Ahead-of-Time Compiler for WebAssembly with Eclipse OMR
TURBO
Create an Object Model and Get a GC for Free (Part I)
TURBO
Create an Object Model and Get a GC for Free (Part II)
TURBO
Eclipse OMR: Building Blocks for Polyglot
TURBO
Eclipse OMR Om: A Relaxing Object Model for the Polyglot World
TURBO
Feasibility of Internal Object Pools to Reduce Memory Management Activity
TURBO
JIT as a Service: Compiling for Runtimes in the Cloud
TURBO
Persistent Memory Storage of Cold Regions in the Eclipse OpenJ9 Java Virtual Machine
TURBO
Taking Eclipse OMR JitBuilder to a Language Near You
TURBO
U Can't Inline This
TURBO
Dates
You're viewing the program in a time zone which is different from your device's time zone change time zone

Mon 5 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:30 - 12:00
Speakers 2TURBO at Stuart
Chair(s): Gerhard Dueck University of New Brunswick
10:30
30m
Talk
Eclipse OMR Om: A Relaxing Object Model for the Polyglot World
TURBO
Robert Young IBM, Canada
11:00
30m
Talk
Building AArch64 Support for the Eclipse OMR Language Runtime Toolkit
TURBO
Jean-Philippe Legault University of New Brunswick, Aaron Graham IBM/University of New Brunswick: Centre for Advanced Studies - Atlantic (CAS-Atlantic)
11:30
30m
Talk
Building an Ahead-of-Time Compiler for WebAssembly with Eclipse OMR
TURBO
13:30 - 15:00
Hands-on Tutorial 1TURBO at Stuart
Chair(s): Leonardo Banderali IBM Toronto Labs
13:30
90m
Other
Boost WABT Performance with JitBuilder (Part I)
TURBO
Leonardo Banderali IBM Toronto Labs, Xiaoli Liang IBM Canada, Daryl Maier IBM Canada, Mark Stoodley IBM Canada, Robert Young IBM, Canada
15:30 - 17:00
Hands-on Tutorial 2TURBO at Stuart
Chair(s): Leonardo Banderali IBM Toronto Labs
15:30
90m
Other
Boost WABT Performance with JitBuilder (Part II)
TURBO
Leonardo Banderali IBM Toronto Labs, Xiaoli Liang IBM Canada, Daryl Maier IBM Canada, Mark Stoodley IBM Canada, Robert Young IBM, Canada

Tue 6 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

08:30 - 10:00
Hands-on Tutorial 1TURBO at Stuart
Chair(s): Robert Young IBM, Canada
08:30
90m
Other
Create an Object Model and Get a GC for Free (Part I)
TURBO
Robert Young IBM, Canada, Leonardo Banderali IBM Toronto Labs, Xiaoli Liang IBM Canada, Daryl Maier IBM Canada, Mark Stoodley IBM Canada
10:30 - 12:00
Hands-on Tutorial 2TURBO at Stuart
Chair(s): Robert Young IBM, Canada
10:30
90m
Other
Create an Object Model and Get a GC for Free (Part II)
TURBO
Robert Young IBM, Canada, Leonardo Banderali IBM Toronto Labs, Xiaoli Liang IBM Canada, Mark Stoodley IBM Canada, Daryl Maier IBM Canada
15:30 - 17:00
Speakers 2TURBO at Stuart
Chair(s): Mark Stoodley IBM Canada
15:30
90m
Other
BoF: Eclipse OMR Community Directions
TURBO
Mark Stoodley IBM Canada