GraalVM/GraalOS Performance and Feature enhancements

Project

GraalVM/GraalOS Performance and Feature enhancements

Principal Investigator

INESC-ID Lisbon

Oracle Fellowship Recipient

Miguel Lourenço, Serhii Ivanenko

Oracle Principal Investigator

Christian Wirth, Research Director, GraalVM Native Image
Lukas Stadler, Research Director, GraalOS Virtualization
Matthias Neugschwandtner, Consulting Security Researcher

Summary

The research collaboration with INESC-ID Lisbon is aimed at proposing the design and implementation of a high performance Serverless platform empowered by technology developed by the GraalVM team at Oracle Labs.

The collaboration between Oracle and INESC-ID Lisbon (research lab affiliated with Instituto Superior Técnico, part of the University of Lisbon) will focus on the performance, scalability, and elasticity of GraalOS, an emerging serverless platform developed by Oracle. The main goal is to identify and quantify opportunities for improvement, as well as to design and evaluate solutions to fulfill them.

Within this overarching goal, there are a few examples of concrete opportunities/questions that we will consider exploring in the context of the collaboration:

  • user-level scheduling instead of relying on OS-level scheduling. The premise is that user-level information might be able to take advantage of application-level knowledge to improve scheduling decisions compared to OS-level scheduling that is oblivious to application behavior;
  • load-aware scheduling instead of simply consolidating requests or evening out the load. By forwarding requests of the same application to the same node/VM, memory deduplication becomes possible. A similar argument can be made for applications that communicate with each other (and that can benefit from local communication);
  • study and compare different system-call interposition mechanisms. Mechanisms such as ptrace, seccomp, gVisor, GraalOS involve different design decisions which ultimately result in different security implications and performance profiles;
  • study the limitations of MPK and how to efficiently virtualize/multiplex MPK domains across time.