Could This Stop The Need For Porting?


S

sebastian_insua

Guest
Check out this News!

===================================================
A Silicon Valley startup claims to have cracked one of most elusive goals of the software industry: a near-universal emulator that allows software developed for one platform to run on any other, with almost no performance hit.

Transitive Corp. of Los Gatos, California, claims its QuickTransit software allows applications to run "transparently" on multiple hardware platforms, including Macs, PCs, and numerous servers and mainframes.
"This opens up a whole new world of things you can do, because previously software was tied to (a) particular processor," said president and CEO Bob Wiederhold. "It gives you access to a much greater diversity of software."

The company claimed QuickTransit eliminates the need to port software from one platform to another. Software applications written for one platform will run on almost any other, without any modifications to the underlying program.

For example, Wiederhold said QuickTransit will allow the next-generation Xbox (which will have a Mac-like PowerPC chip) to run first-generation Xbox software (which was written for an Intel chip).

In demonstrations to press and analysts, the company has shown a graphically demanding game -- a Linux version of Quake III -- running on an Apple PowerBook.

"One of the key breakthroughs is performance," Wiederhold said. "You can't tell the difference between a translated application and a native application."

Transitive launched the software on Monday with versions for Itanium, Opteron, x86 and Power/PowerPC chips.

The company is initially going after the server and mainframe markets because that's where the money is, but said it will eventually focus on desktop PCs and consumer electronics. It claims QuickTransit will support almost any pairing of processor and operating system.

Transitive said it already has six customers -- all PC manufacturers -- but declined to name them. The first will go public later this year, Transitive said.

Transitive said QuickTransit allows a foreign application to do everything it does on its native platform, with 100 percent functionality.

QuickTransit fully supports accelerated 3-D graphics and about 80 percent computational performance on the main processor. It requires no user intervention: It kicks in automatically when a non-native application is launched.

"It's pretty darn impressive," said analyst Jim Turley. "It's remarkable because it's unremarkable (to see it in action): It just works."

Turley said he watched a Windows laptop running the Gimp image editor for Linux. The software quickly and efficiently performed a series of processor-intensive graphics transformations and effects, Turley said.

"There was no performance hit," he said. "I was expecting a lag, some symptom that things were not as they should be, but that was not the case. There was no hand-eye delay. It seemed completely normal. It responded really quickly."

Turley said a universal emulator is computer science's equivalent of alchemy's quest to turn base metal into gold. Many have tried; all have failed.

Turley said while various limited emulation schemes have been successful -- Apple's transition to the PowerPC platform, or Transmeta's "code morphing" of Intel's x86 architecture -- no one has successfully developed an emulator for multiple processors and operating systems.

"The more you know about it, the more technologically savvy you are, the more remarkable it becomes," Turley said.

The software was initially developed at Manchester University in the United Kingdom by computer science professor Alasdair Rawsthorne.

Transitive said QuickTransit supports software written in any programming language, and that its modular architecture allows modules to be swapped in and out depending on the processor and operating system.

One of the key breakthroughs is an "intermediate representation," a kind of lingua franca that gives the software the flexibility to translate from one platform to another.

Unlike most other emulators, QuickTransit translates blocks of code rather than a line at a time. In addition, it identifies and stores the most commonly executed code.

"It's like a translator versus an interpreter," said lead engineer Frank Weidel. "Instead of working on every chunk of code, QuickTransit translates a sentence, or a paragraph, at a time. That's how we get the performance."

Weidel said in most cases, QuickTransit allows translated applications to run faster on new hardware than it did on the original platform, thanks to the speed of today's machines compared with those made a decade ago.

Analyst Rob Enderle of the Enderle Group said Transitive benefits from the fact that most modern machines are fast enough to emulate each other without much affecting performance.

"Typically with emulation you take a big performance hit," he said. "Their big breakthrough is they are much more efficient ... but there's so much overhead anyway, you can pretty much put any software on any platform. The power user might notice the difference, but the other 95 percent won't notice."

The company is keen to avoid the term "emulator," instead calling its technology "hardware virtualization."

"We try and avoid the word," said Wiederhold. "When people think of emulators they think of things that are very slow."
=====================================================

Interesting news I think...
And its from a reliable source so I doubt this is a fake.

Hopefully this blows apart Microsoft's monopoly, as I know many people would switch right over to Linux or Mac if they could run windows software with nor performance hit on it....

<unfortunately nobody is ever going to make a piece of software like this gfor the GP32>
 
Hmm... the same technique and idea Amiga once had with the new AmigaOS ;)
But it looks they managed to do this (and Amiga didn't ;))
 
Twinbee posted on Sep 13 2004 at 11:59 PM said:
I wonder how much that'll cost...
Well a lot of people will be aquiring it.

It does sound to good to be true but it comes form a very reputable place for Computer Science (Machester University) and there appears to be proof o f it working.

I wonder how they will stop people from misusing this ie. buying an XBOX to play all other consoles more or less perfectly.
 
Last edited by a moderator:
This is hilarious. I was reading that article on Slashdot and thought for a second 'hmm maybe some idiot is going to post this on gp32x and say it'll help the gp32!' No offence (I tend to insult arbitrarily) - but this really looks like a fake to me. Either that or it's going to require some serious processing power. As the end of the article says, stuff like GIMP is going to run fairly fast because it's pure computation and the emulated part is small. You probably won't be able to run DOS stuff on a handheld with the same speed. Also it just seems to be a dynamic translator that does stuff as needed, and has modules. People would code modules for each OS/processor. Not completely improbable. But beware of the hype.
 
sounds nifty maybe its a virus or something that takes control of your computer or gaming console but thats just a theory if my theory is incorrect that ell be awesome
 
Sounds exactly the same as some emulators - rather than interpreting the cpu core on a different architecture, they recompile blocks of code to the native platform so they only have to be translated once and run pretty much native from then on.

I believe the PC N64 emulator was the first emulator to do this, although I'm not sure who had the first idea. The project 64 documentation has a lot of information about dynamic recompilation if anyone is interested. I found it when I thought of the same method and searching for others that had done the same thing. I've never actually completed a recompiler tho'

However, this universal emulator seems to go one stage further - not only does it convert the cpu core, but it seems to convert the os calls as well, which would be a mammoth task. I can only assume they have emulation libraries to cover the user-mode functions to generic routines for each platform.

Don't forget that running Linux application's on a Windows desktop is not /that/ difficult - there's no hardware or processor to emulate, just the OS API / X-Windows. Still a task that'll take months to develop, but a lot easier than emulating an entire system.

The same with the Linux Quake 3 - who says that Quake 3 isn't running on a Mac version of Linux, so again, all they are doing is translating Linux to MacOS, not hardware to hardware?

As you can tell, I'm not convinced :)
 
If you look into the system in more detail it's actually not as clever as it makes out to be.... it translates system calls from one OS to native system calls in another. The problem is that the systems have to be similar ... ie Linux -> Solaris.... or OSX -> Linux (ie Unix to Unix, so a lot of the calls are going to be POSIX/SystemV/BSD based anyway... *most* unix programs will run on *most* unix systems anyway, when recompiled). It's not a magic port tool. Although some of the technology does sound a bit far fetched to me....

I'd wait and see.... this kind of thing has surfaced before... and then sunk back under the waves without even making a ripple in the industry....
 
Squidge posted on Sep 14 2004 at 02:13 AM said:
I believe the PC N64 emulator was the first emulator to do this, although I'm not sure who had the first idea. The project 64 documentation has a lot of information about dynamic recompilation if anyone is interested. I found it when I thought of the same method and searching for others that had done the same thing. I've never actually completed a recompiler tho'

There have been emulators that use dynamic recompliation before Project 64, but I've never seen any that were released commericially. The idea has been around for a long time, mostly tinkered with in the computer labs of universities. In one of the classes offered at the graduate level at my university you have to write some type of translation layer that uses dynamic recompliation.
 
Last edited by a moderator:
Rico posted on Sep 14 2004 at 12:07 AM said:
This is hilarious. I was reading that article on Slashdot and thought for a second 'hmm maybe some idiot is going to post this on gp32x and say it'll help the gp32!' No offence (I tend to insult arbitrarily) - but this really looks like a fake to me. Either that or it's going to require some serious processing power. As the end of the article says, stuff like GIMP is going to run fairly fast because it's pure computation and the emulated part is small. You probably won't be able to run DOS stuff on a handheld with the same speed. Also it just seems to be a dynamic translator that does stuff as needed, and has modules. People would code modules for each OS/processor. Not completely improbable. But beware of the hype.
Hmmm....
But why would they say it worked so well if it didn't?
Besides I never said that this could be ported ot the GP32, it has obviously taken alot of work (+needs lots of RAM) and finally there is no source code.

generalnmx posted on Sep 14 2004 at 04:21 PM said:
Squidge posted on Sep 14 2004 at 02:13 AM said:
I believe the PC N64 emulator was the first emulator to do this, although I'm not sure who had the first idea. The project 64 documentation has a lot of information about dynamic recompilation if anyone is interested. I found it when I thought of the same method and searching for others that had done the same thing. I've never actually completed a recompiler tho'

There have been emulators that use dynamic recompliation before Project 64, but I've never seen any that were released commericially. The idea has been around for a long time, mostly tinkered with in the computer labs of universities. In one of the classes offered at the graduate level at my university you have to write some type of translation layer that uses dynamic recompliation.

Yeah, but I think the point is it allows so much and at such a high speed.
 
Last edited by a moderator:
Squidge posted on Sep 14 2004 at 09:13 AM said:
The same with the Linux Quake 3 - who says that Quake 3 isn't running on a Mac version of Linux, so again, all they are doing is translating Linux to MacOS, not hardware to hardware?
As you can tell, I'm not convinced :)

MacOS X is based on a Linux kernel anyways ;)

But back OT:

They never said that there will be no performance loss - they said that modern machines are fast enough that you probably won't notice much speed decrease compared to the original system when running software using QuickTranslate.

And THAT'S possible: Take Amiga executables: They can easily be run by modern machines (OS conform applications, not hardware hacked games which probably won't work anyways on their translator). Usually faster than on the original Amiga.

And take the usual software most people / companies use on their computer: Business programs, Text Editors, other little applications.
They can easily be run full speed emulated on a different system.
(Just take a look at the task manager how much percent of the processor they need...)

They say that the "Poweruser" will see a speed decrease - and I guess they mean software which uses the CPU a lot... so you won't see Adobe Photoshop or similar professional applications running fast on another system - it's just nice for the standard user that he can use Mac eMail or business programs on the PC.
 
Last edited:
Back
Top