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:
-
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;
-
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;
-
provide a hands-on tutorial to demonstrate how advanced JIT and GC technologies can be easily integrated into an existing runtime;
-
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:
-
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.
-
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.
-
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:
-
For “Boost WABT Performance with JitBuilder” hands-on tutorial, please check out the prerequisites here.
-
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
Mon 5 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
08:30 - 10:00 | |||
08:30 30mTalk | Eclipse OMR: Building Blocks for Polyglot TURBO Xiaoli Liang IBM Canada | ||
09:00 30mTalk | Taking Eclipse OMR JitBuilder to a Language Near You TURBO Leonardo Banderali IBM Toronto Labs | ||
09:30 30mTalk | JIT as a Service: Compiling for Runtimes in the Cloud TURBO Mark Stoodley IBM Canada |
10:30 - 12:00 | |||
10:30 30mTalk | Eclipse OMR Om: A Relaxing Object Model for the Polyglot World TURBO Robert Young IBM, Canada | ||
11:00 30mTalk | 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 30mTalk | Building an Ahead-of-Time Compiler for WebAssembly with Eclipse OMR TURBO |
13:30 - 15:00 | |||
13:30 90mOther | 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 | |||
15:30 90mOther | 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 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
08:30 - 10:00 | |||
08:30 90mOther | 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 | |||
10:30 90mOther | 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 |
13:30 - 15:00 | |||
13:30 30mTalk | U Can't Inline This TURBO Karim Ali University of Alberta | ||
14:00 30mTalk | Feasibility of Internal Object Pools to Reduce Memory Management Activity TURBO | ||
14:30 30mTalk | Persistent Memory Storage of Cold Regions in the Eclipse OpenJ9 Java Virtual Machine TURBO Scott Young University of New Brunswick |
15:30 - 17:00 | |||
15:30 90mOther | BoF: Eclipse OMR Community Directions TURBO Mark Stoodley IBM Canada |