Extending the Life of Aging Java-based Embedded Devices
Fixing the 32-Bit Problem with GraalVM
19th of August, 2023
This article was originally published in Thinkers & Makers, a magazine from Akkodis featuring the smartest minds and innovative projects that are driving the future of technology and engineering.
The steady increase in computing power is, strangely enough, one of the dilemmas of the electronics industry. More power means better and more capable products, but the advent of the latest generation of hardware also means pressure to replace installed “last generation” products. That translates into a shorter lifetime for the installed base. Just look at consumer electronics – mobile phones die young.
The industry’s ability to develop new devices with ever more advanced features creates strong customer demand, reducing product lifetime significantly. But while the increase in computing power is an industry driver in consumer electronics, other industries are struggling to keep up.
In other sectors devices are expected to have a much longer lifetime. In the rail industry, equipment and infrastructure can be in service for 30 years or longer. It’s just too expensive to replace the systems with newer versions every five years or so. Instead, system operators are looking for ways to extend the lifetime of the installed hardware and still enable new functionality.
This is where Akkodis comes in.
8/16/32/64: The Evolution of Microchips
It’s all about numbers. The evolution of microchips is counted in bits, from 8 to 16 to 32 to 64, corresponding to internal data representation and address-space, as well as overall performance.
As computers become more complicated, the size of their memory increases and with it the number of bits used to address it. From the 1990s onwards a 32-bit CPU architecture was dominant. But around 2005 the evolution of laptops, servers and mobile phones demanded a move to 64-bit CPUs.
However, while the world has moved to 64-bit, many industrial devices born in the 32-bit era remain in service. To continue to function, hopefully for a long time to come, they require maintenance and security updates, maybe even new features. This is becoming increasingly difficult in a 64-bit world.
How can you fix the 32-bit problem?
A New Lease on Life with GraalVM
Akkodis offers an answer to that question.
Akkodis’ Virtual Machine Technologies Lead in Germany, Bruno Caballero, and his team have developed a way to turbocharge older 32-bit devices, giving them a new lease on life. They offer Java developers a new way to update these devices and even build new features for them without additional memory or computing power. Developers can now use the newest Java versions, instead of having to work with older Java versions rooted in the 32-bit era.
The solution builds on Akkodis’ extensive Java expertise and its work with the Graal Virtual Machine, which was initially developed by Oracle to be used on servers. Akkodis has tweaked GraalVM to fit the embedded space as well, curing many of the well-known headaches caused by traditional Java virtual machines in that domain. Now Caballero and his team have extended it even further to support 32-bit powered devices.
While most of the electronics industry is focusing only on 64-bit technology, we are also targeting the devices still running on 32-bit CPUs,” Caballero explains.
Replacing devices running on production lines or on trains and rail tracks is expensive, so they need to stay in service as long as possible. However, they need to be serviced continually to address security issues and to update them with new features. “This is where we come in,” Caballero says.
“Instead of installing new devices, customers can come to us. Using our software, they can add five or ten years to the lifetime of their existing devices. Obviously, it saves money, but not only that. Increasing device lifetime contributes to the overall sustainability of their operations.”
Saving up to 50% memory
How is it done? Well, instead of using a conventional runtime to run programs written in Java, the Akkodis solution uses GraalVM. This saves 30-50% memory, depending on the application. In this way the memory of a 32-bit CPU, which is relatively limited compared to a 64-bit system, can cope with new features, integrate with new third party software, and handle security updates.
Besides saving memory, the software also improves startup time significantly.
Using GraalVM, customers can continue to develop new features for these older devices. Developers can use the new versions of the Java programming language, instead of having to use an old Java version for 32-bit CPUs.
“That means developers have access to new and cool Java features, instead of being stuck in an older Java version.
Developers no longer have to write software like they did ten years ago. They can use the newest Java features, even for the old 32-bit platform,” Caballero said.
In their effort to build a bridge between the “old iron” and the newest Java programming features, Caballero and his team are targeting the two dominant 32-bit platforms. They have already covered ARM 32, which is the most common 32-bit platform, and soon they’ll begin adapting their work to Intel’s 32-bit platform as well.
Electronic Railway Control System
A large Akkodis customer has ordered a platform port for one of its embedded products on 32-bit x86 hardware. The company specializes in control and automation solutions for the railway sector. Its traffic control systems manage train traffic, with vast numbers of sensors monitoring tracks, catenary systems, switches, traffic lights and much more. Electronic railway control systems are hugely complex, not least as strong redundancy is required for safety reasons. In many places, several devices monitor the same component, to reduce risk of failure. Therefore, it’s vital to be able to extend their lifetime, guarantee device security, and continually update them.
There is a huge number of ageing devices out there that need to be revitalized, across all kinds of industries, said Caballero.
“We have developed a unique solution to do just that, and we are looking forward to helping companies to keep their ageing devices in tip-top shape for as long as possible. Not only can we keep these devices alive, we can improve them by turbocharging their memory, while giving Java developers optimal working conditions by allowing them to update them with the newest Java tools.”