A Russian start-up company called Elbrus Technologies is developing a technology that will allow data centre owners to migrate software designed for x86 platforms to ARM-powered servers without the need to recompile it.
Because of their very low power consumption, ARM processors are used today in most smartphones, tablets and in a wide variety of embedded devices.
However, ARM chips are also expected to gain a foothold in the server market, which is currently dominated by x86 processors, during the next few years. HP and Dell have already announced plans to build low-power servers based on ARM CPUs.
Intel CPUs use up to ten times more power than ARM CPUs and for large data centres power consumption represents 50 percent of their operational costs, said Anatoly Konukhov, the chief business development officer of Elbrus Technologies in Moscow.
In this context it makes sense for many data centre operators to consider switching to ARM-based servers in the future. However, a big impediment is that many applications — especially proprietary, closed-source ones — that are designed for the x86 CPUs won’t work on ARM processors.
Elbrus Technologies is trying to solve this issue by building an x86 to ARM binary translator application that will allow proprietary software compiled for the x86 architecture to run on ARM-powered servers without any changes.
The software emulation will be transparent to the user, Konukhov said. The emulator will automatically detect when an x86 application is executed and will perform the binary translation, he said.
Even though the technology is theoretically platform-independent, the company currently focuses its development efforts on supporting Linux servers and software. Support for Windows software is a longer term goal.
The project started in the spring of 2012 and the product is expected to be ready for beta testing in the middle of next year, Konukhov said. The final product will be released sometime at the end of 2013 or in the beginning of 2014, he said.
“I think we currently support 50 or 60 percent of the functionality of Intel-based CPUs,” Konukhov said. This includes the entire base instruction set of the x86 architecture.
The company is working on adding support for the Streaming SIMD Extensions (SSE) and MMX instruction sets. “This will basically allow us to have multimedia functionality in our applications,” Konukhov said.
The performance of translated code compared to native code is currently at 45 percent. The goal is to have a performance level of 80 percent or more, but that probably won’t be the case for the first production ready version of the product.
“We think it will be lower and there’s a good reason for that,” Konukhov said. “We’ve discussed this issue with our partners and they were more interested in the functionality supported by our emulator and in stability rather than performance. So, they would like to see working and stable software rather than fast software.”
The performance enhancing work will begin after the initial product is released and an 80 or 90 performance level is expected to be achieved in a matter of months, Konukhov said.
The company worked with partners and potential customers to determine which applications should be considered a priority for its x86 to ARM binary translation technology. Konukhov declined to name any of those applications because of existent non-disclosure agreements, but said that they are from the financial and healthcare sectors.
A lot of the people working on this project came from MCST, Elbrus Technologies’ parent company, where they worked on developing x86 to Elbrus binary translators, Konukhov said. Elbrus is a Russian microprocessor manufactured by MCST.
Elbrus Technologies raised US$1.3 million in funding from MCST and the Skolkovo Foundation, a non-profit organization tasked by the Russian government to manage grant funds for technology projects. Elbrus is looking for additional investors and business partners, Konukhov said.