SAN JOSE, Calif. – Russian engineers are developing software to run x86 programs on ARM-based servers. If successful, the software could help lower one of the biggest barriers ARM SoC makers face getting their chips adopted as alternatives to Intel x86 processors that dominate today’s server market.
Elbrus Technologies has developed emulation software that currently delivers 40 percent of native ARM performance. The company believes it could reach 80 percent native ARM performance or greater by the end of 2014. Analysts and ARM execs described the code as a significant, but limited option.
[Get a 10% discount on ARM TechCon 2012 conference passes by using promo code EDIT. Click here to learn about the show and register.]
A growing list of companies—including Applied Micro, Calxeda, Cavium, Marvell, Nvidia and Samsung—aim to replace Intel CPUs with ARM SoCs that pack more functions and consume less power. One of their biggest hurdles is their chips do not support the wealth of server software that runs on the x86.
The emulation code from Elbrus Tech could help lower that barrier. The team will present a paper on its work at the ARM TechCon in Santa Clara, Calif., Oct. 30-Nov. 1.
The team’s software uses 1 Mbyte of memory. “What is more exciting is the fact that the memory footprint will have weak dependence on the number of applications that are being run in emulation mode,” Anatoly Konukhov, a member of the Elbrus Tech team, said in an e-mail exchange.
The team has developed a binary translator that acts as an emulator, and plans to create an optimization process for it.
"Currently, we are creating a binary translator which allows us to run applications," Konukhov said. "Implementation of an optimization process will start in parallel later this year--we're expecting both parts be ready in the end of 2014."
"The major concern for us is lack of software developers with binary translation expertise," he added. "This is also the reason for us to estimate project release in late 2014."
The Elbrus Tech software uses a parallel compilation process and stores translations in volatile memory to decrease overhead when starting up. The binary translator will have "several levels of optimization for 'cold' and 'hot' regions of code," said Konukhov.
Work on the software started in 2010. Last summer, Elbrus Tech got $1.3 million in funding from the Russian investment fund Skolkovo and MCST, a veteran Russian processor and software developer. MCST also is providing developers for the project.
Whoa, what's bitten you? Flash running your PC hot has exactly NOTHING to do with this. Flash is just a piece of junk that needs to die. Even Adobe realizes this--now if only web developers did too...
Recompiling source to native code is the most efficient thing to do, and that's what I was talking about. Emulating a different instruction set in real time is not efficient.
Yeah, and this is exactly the reason why THIS happens: When I run FLASH (= Adobe misery) my PC almost gets on fire, all due to the damned protocol and layer stackers out there. Why don't you software programmers not do a proper job?
FYI, Here's some analysis that was apparently cut from the current version of the story:
“It’s very possible this could be useful technology in a 2014 time frame,” said Kevin Krewell, senior analyst with market watcher Linley Group (Mountain View, Calif.).
Startup Transitive Technology helped Apple and SGI transition to the x86 from PowerPC and MIPS respectively before Transitive was acquired by IBM. Emulation “could be used for migration, but not as a long term strategy,” Krewell said.
Emulation is typically used when the new architecture has higher performance than the old one, which is not the case—at least today--moving from the x86 to ARM. “By the time this software is out in 2014 you could see chips using ARM’s V8, 64-bit architecture,” Krewell noted.
“That said, you will lose some of the power efficiency of ARM when doing emulation,” Krewell said. “Once you lose 20 or more percent of efficiency, you put ARM on par with an x86,” he added.
Fergie 65; on performance will lesson under emulation; exactly. If you mean by binary that the performane hit will lesson for applications
recomplied for 'specific x86 instruction calls" exactly. Hardware substitution learning always starts addressing core instruction translation equired for target application.
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.