Graal VM™ – the Swiss Army knife of virtual machines
MicroDoc introduces GraalVM to embedded systems. It accelerates startup 10x, supports multiple languages, and reduces memory footprint dramatically.
According to MicroDoc, the GraalVM virtual machine will cure many of the well-known headaches caused by traditional Java virtual machines. And that’s not a small thing, because Java is the world’s most widely used programming language.
In the automotive industry for instance, many of the telematics services, connectivity services, and infotainment systems are programmed in Java. In healthcare, high-end medical machines, like those for analysis, have interfaces written in Java.
And while there are numerous good reasons for Java being so popular, it carries some significant problems as well, startup performance being one of them and the memory footprint being another.
Perfect fit
GraalVM is addressing these problems, according to Dr. Christian Kuka, CEO of MicroDoc:
The history of Java is a real success story. It’s a rather old language, initially invented by Sun Microsystems for embedded use. Over time it became the mainstream programming language for commercial applications, and it continues to be the most common language for serious programming. MicroDoc alone has sold 40 million Java licenses to the automotive industry.
Some years ago, Oracle acquired Sun, and Java became an Oracle product. Oracle launched a number of internal projects to advance the technology. GraalVM was one of them, and it was built to be the programming interface of the future for the Oracle database. One of the main ideas was to give the database programmer a multilingual tool, so that he could choose the language he wanted for his programming. GraalVM’s approach proved successful and was eventually decoupled from the database, taking on a life of its own
Beautiful convergence
In the words of Dr. Kuka, there is a ”beautiful convergence of requirements”, when you look at what is currently happening on servers and compare it to the embedded space.
On big servers you have many services running in parallel. For this micro services architecture, you want something that has a fast startup, uses a minimum of resources, and does its service and shuts down again. In the embedded space you have the exact same requirements for fast startup, low footprint, and high performance. With MicroDoc now introducing GraalVM to the embedded industry, customers can profit from Oracle’s significant investment in this impressive, new technology, initially developed to meet the requirements of cloud infrastructure that supports micro services.
– Now we can take this amazing new piece of technology, which is normally available from Oracle on servers, and put it in your device. That means, you can have the same performance and advantages that you would have in the cloud. With GraalVM, applications written for servers, desktops, or mobile devices can be moved and run anywhere.
Taking care of complexity
Bruno Caballero, head of Virtual Machine Technologies at MicroDoc and member of the GraalVM Advisory Board, explains:
We are working closely with Oracle to develop and enhance GraalVM as a platform for the embedded space. Our first embedded product with GraalVM is planned for release in the first quarter of 2022, and there will be many more because GraalVM solves some important issues.
GraalVM helps take care of very complex system interactions. Typically, multiple languages and virtual machines run simultaneously on the same device and must communicate with one another but ideally this would happen without requiring complex infrastructure. What you want is to use one virtual machine that is solid and good, and that will work for every language. Now, we can take GraalVM and host everything we want. We can get rid of all these independent components and have everything built on the same infrastructure and on the same virtual machine.
Many languages
It is hard to underestimate the importance of GraalVM being multilingual. It runs applications written in languages like JavaScript, Python, Ruby, and R, and it even supports the execution of C and C++ in a safe, virtualized environment. It runs any language with an LLVM compiler, including FORTRAN, together with the entire Java universe, including Scala, Kotlin, and Java itself.
Not only does this help you reduce complexity on your device. It also makes GraalVM innovative and attractive for developers, and every CTO or project manager knows how important that is. If you want to attract young programmers, you have to give them the opportunity to do cool stuff. Java has been around for a very long time and it continues to be the most common language for serious programming. However, if you want to attract young talented developers, you should allow them to use languages that are new and innovative, although they might not yet be widely used or well adopted by big companies. The multilingualism of GraalVM makes this possible. You can mix Java with JavaScript and Python, and you can use existing libraries and frameworks available in those languages and use them in one single program.
Setting developers free
“GraalVM gives developers freedom to use the language they find best suited for the job at hand.” - Dr. Kuka, CEO at MicroDoc.
GraalVM lets developers try new ideas without sacrificing the consistency of a mature product, and it is supported by one of the biggest IT companies on the planet. As part of the Oracle database product, it has a life cycle that is appropriate for automotive use cases and other long-term projects. If you’re a project manager or CTO that means you can give your developers the freedom they want. At the same time, you can be certain the technology will be durable and available for a very long time.
Please welcome GraalVM – the Swiss Army knife of virtual machines.
Continue learning about GraalVM:
- New Virtual Machine for the Cars of Tomorrow
- The “One VM” Concept – Towards the Holy Grail
- Building and Debugging GraalVM Native Images
Ready to explore GraalVM for your project? Contact us to discuss your embedded or automotive software needs.