Universal Emulators Return 546
webmilhouse writes "Wired has an article about Transitive Corporation that claims their software "allows any software application binary to run on any processor/operating system" without any performance hit. That would allow any program written for Windows to run on Linux or Mac, and vice-versa, which Wired likened to digital alchemy. The Transitive software is supposed to be released today. What do you think, vaporware or miracle?"
Not Vapor and not the arrival of Christ (Score:4, Insightful)
Re:Not Vapor and not the arrival of Christ (Score:5, Interesting)
Re:Not Vapor and not the arrival of Christ (Score:5, Funny)
it's already evaporated !
Re:Not Vapor and not the arrival of Christ (Score:5, Funny)
Kierthos
Re:Not Vapor and not the arrival of Christ (Score:5, Funny)
Re:Not Vapor and not the arrival of Christ (Score:5, Funny)
This is not vaporware! I am on the beta test team for this product. In fact, right now, I just fired up a copy of Duke Nukem Forever on OS/2. Works like a champ.
Re:Note to moderators: (Score:3, Informative)
Re:Not Vapor and not the arrival of Christ (Score:4, Funny)
Tortoises all the way down. (Score:5, Insightful)
Re:Tortoises all the way down. (Score:3, Insightful)
Robby seems to think these claims are a bit outrageous.
Just think of how much work would be involved in something like this. Maybe it's a compiler and their own widget set. Emulate APIs? Not quite an emulator really. Perhaps its a java emulator? Who knows what twist is really there, but we know from past experience this is tricky stuff.
Boisterous claims are often given by boisterous men... neither of which have any solid value.
Re:Tortoises all the way down. (Score:3, Funny)
Re:Tortoises all the way down. (Score:5, Insightful)
Re:Tortoises all the way down. (Score:3, Interesting)
Re:Tortoises all the way down. (Score:3, Interesting)
Re:Tortoises all the way down. (Score:5, Insightful)
Re:OT: where is that from? (Score:4, Informative)
Re:OT: where is that from? (Score:5, Informative)
http://www.imdiversity.com/villages/native/arts
Re:OT: where is that from? (Score:3, Informative)
Google found this page [fortunecity.com] for me.
Article is vapor-news (Score:4, Interesting)
Re:Article is vapor-news (Score:3, Insightful)
Emulation programmers have been playing with dynarec cores for years now, but compatibility at a low level tends to suffer. Some software is expecting scanline-perfection because they're talking right to the hard
Re:Not Vapor and not the arrival of Christ (Score:5, Informative)
and
so yes, it does affect performance. You take a 20% hit. The "almost no performance hit" means, in this context, "computers are fast enough that no one will notice unless they're doing something crazy like video editing. Go back to surfing slashdot."
Re:Not Vapor and not the arrival of Christ (Score:5, Interesting)
Actually, I expect to see someone sit down and write this for Parrot sometime soon. Especially of interest would be an S/390 emulator written in Parrot.
Parrot, for those who don't know, is a VM that targets very high level languages, but it's flexible enough and has a sufficiently strong JIT compiler that a hardware emulator extension to Parrot could easily produce code that would perform as well as the described product.
The cool part about writing such an emulator for Parrot is that you get access to the resulting emulated code from a number of high-level languages, so you could port over your S/390 airline application written in TPF and call its routines from a Java, Perl, Scheme or Ruby program, jumping into and out of hardware emulation as you go. While high-level languages would only have gross access to data as opaque objects, the hardware emulator could provide the ported code with everything that it expects.
"Emulation" is a sophisticated art at this point, and it's going to get very interesting over the next few years.
Re:Not Vapor and not the arrival of Christ (Score:4, Interesting)
I'm sure their product does whatever they designed it to do, but the article alludes to platform migration and operating system virtualization. This screams out to me that the emulated programs are going to be very well behaved out of necessity, and most hardware interfaces will not be accessable except through API calls. Additionally, desktop PC software and operating environments tend to be much more 'regular' than embedded systems like game consoles. It is much easier to describe the behavior of user-mode code on a platform with a generic memory space and API set than it is to describe the behavior of an embedded multiprocessor system with control registers, DMA, custom graphics and audio subsystems and banked memory.
I also have to question the allegation that "no one has successfully developed an emulator for multiple processors and operating systems." Dynamic recompilation is not new. Intermediate representations are not new. Surely there exist some emulators which are capable of emitting multiple native instruction encodings in the backend. If none exist, I doubt it is because they are not capable of doing so.
Describing a processor architecture and providing an API mapping is not a trivial task by any means. The Transitive tool doesn't just 'simply work,' its requires a massive undertaking to prepare the behavior descriptions that I imagine would be in some ways more difficult than writing an ad-hoc single-platform emulator. I think that calling their tool a "hardware virtualizer" is probably a good idea, but not because its faster than an "emulator," but more because its likely nowhere near as powerful as a system emulator.
Finally, I would also beware the performance claims. Dynamic recompilation is certainly the way to go for ultimate performance, but when you generalize architectures, you often lose the ability to take advantage of native features. Also related to processor capabilities, the overhead incurred by emulation is highly correlated to the disparity between the host platform and the emulated platform. Transmeta processors suffer about 20% overhead and thats using a flexible VLIW architecture designed with x86 emulation in mind and using a dynamic recompiler that supports *only* x86. Thats a huge performance penalty, even if programs are running as fast as needed. Given the generalized emulation approach, I think its clear that the feasibility of such an approach is going to depend heavily on the host platform being more powerful/flexible than the emulated platform.
FWIW, I am the author of Nuance, the Nuon emulator. Nuance currently performs all of the same feats listed in the article including block translation, optimization and 'OS' virtualization (native implementation of the Nuon BIOS). I'm currently working on emitting native code using a custom x86 run-time assembler and backpatch mechanism.
Universal? -- No (Score:3, Informative)
Like this [66.102.7.104], I think:
So nothing about Windows, and Mac only as OSX, I think. No mention in the Wired article of it being limited to *ix-like OSs. Which idiot calls
Not vapor (Score:4, Insightful)
Re:Not vapor (Score:5, Interesting)
Yeah, obviously!
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 sounds like it is software that translates one machine language to another? Pretty sweet idea!
It will still have some java-ish problems with each different form of hardware needing a unique version to translate. And then updating each of those versions as each change in the operating systems occur, etc.
Davak
Re:Not vapor (Score:5, Interesting)
There was a translation solution in place back in the early 90's: Apple was working with a company called Echo Logic (probably not in existence today; please don't /. the logical URL!), a spin-off of Bell Labs, that could convert 68K binaries to PowerPC as an approach to migration to PowerPC.
I worked with them for a while to see if we could port our application (which would have required tons of work to re-compile for PowerPC); the technology was impressive, but aspects of our code gave it fits (trap patching, and dispatch tables that were effective self-modifying code).
The EL technology identified code blocks in the binary, built an intermediate representation of all the effects of each code block, and translated it back to binaries in the target architecture. Theoretically feasible, but computationally very expensive. In some test cases, the translated code was in fact more efficient from the original, because the software was able to detect unused output of a code block, and re-code the block to eliminate the unused "side-effects."
Ten+ years later, maybe somebody has more of the gnarly problems worked out. But I would bet there are issues that can't be solved with technology; i.e., the binary software on the "source" system. Presumably you can find and translate the system binaries to build a translated app, but wouldn't this constitute "reverse engineering" that most software licenses prohibit?
Remember... (Score:5, Funny)
Re:Remember... (Score:3, Interesting)
take a look at what they're demonstrating, too. Linux Quake 3 on a Powerbook... and Linux GIMP on a Windows machine. These aren't really things that can't be done already today.... but that may be just that the article doesn't go into a lot of depth. Show me Windows Quake 3 running on a Powerbook, now that would be something a little more impressive.
It will be interesting to see the software in any case, and see whether it really does live up to the promise. Because if it does, they're right,
Re:Remember... (Score:5, Insightful)
Actually, not. Emulating x86 on a PPC chip is easy.
What would be truly impressive would be running, say, Wolfenstein3d Mac on an x86 box, with reasonable speed. That would be far more difficult.
Reading the article, it sounds like a lot of hype, and I suspect the product behind it, even if it's pretty well done, will never live up to the hype.
Re:Remember... (Score:3, Interesting)
Thanks to Basilisk II, I think I'm on level 20 on the Mac version of Wolfenstein 3D while I play it on my x86. The JIT compiler seems to work right in the Windows version, so I get a decent speed (about 30-40 fps) in the game. It crashes every once in a while, but the Linux version seems to be better behaved, although much slower since the JIT compiler doesn't beha
want to impress me? (Score:3, Funny)
Re:Remember... (Score:5, Informative)
-Erwos
Re:Remember... (Score:5, Informative)
I have. PearPC has been great for firing up Safari and Mac IE on my AMD 64 3200+ box to test websites. It's no speed demon, though. It's sluggish even on my system. The PearPC folks state that performance is roughly 1/40th that of native.
Re:Remember... (Score:3, Informative)
Sounds about right. It took over 8 hours to do a minimal MacOSX 10.3 install on my 1.2Ghz athlon system (running SuSE9.1), and it takes about 5 minutes just to boot it up. Still, it's great for testing Safari compat even at a snails pace.
--
Re:Remember... (Score:4, Informative)
This product claims to translate the code block by block into native code, thusly not emulating another processor per se. Metaphysically we could say that the two are equivelent, but it's not built around the fake processor as a unit like the other popular emulators are.
Re:Remember... (Score:3, Interesting)
Games Games Games (Score:5, Insightful)
Re:Games Games Games (Score:3, Interesting)
If their claims were really as true as they say, they would have been brave and they would have chosen Doom III or something like that. Quake III on a Mac-- not so very impressive.
Re:Games Games Games (Score:5, Insightful)
Re:Antitrust; shunning the Mac users (Score:3, Funny)
That's an interesting word..."should".
As Cletus the slackjaw yokel told more "Shoulda but didna."
P4 Hack anyone? (Score:2)
Any program? (Score:5, Insightful)
Re:Any program? (Score:2, Informative)
Re:Any program? (Score:3, Funny)
Re:Any program? (Score:3, Funny)
Re:Any program? (Score:3, Funny)
Re:Any program? (Score:5, Insightful)
Now here's an interesting thought: MacOS X on x86. Or windows on PowerPC.
Re:Any program? (Score:4, Interesting)
Re:Any program? (Score:4, Insightful)
In the case of the Pentium 4, the x86 decoders only operate on instruction data coming from the L2. The trace cache on the P4 caches RISCy micro-ops, which is the main benefit of the trace cache on the P4 -- skipping the relatively lengthy decode of x86 instructions.
So from a micro-architecture standpoint there is very little difference between CISC and RISC, since you just translate CISC->RISC. x86 still manages to be a big PITA because of weird things like shifts by zero which don't effect the flags.
CISC vs RISC is basically a done deal, with RISC "winning" along with it essentially not mattering anymore.
Answer from Transitive's Website (Score:5, Informative)
After reading this, the term Universal Emulator doesn't seem to apply. Here is the text from Transitive's Website:
Complete Text of Transitive's Architecure (Score:3, Informative)
Dynamite allows software that has been compiled for one processor/operating system to be run on another processor/operating system without any source code or binary changes. To do this, Dynamite provides a hardware virtualization technology that consists of four key components. First, an integration FUSE allows Dynamite to be easily integrated into the target system. Second, a dynamic binary translator tackles the challenge of moving from
ooooooh, yawn! (Score:4, Interesting)
I'm sorry, but that's just not impressing me. Not to mention that there's already a native Mac OS 9/X port of Quake III, but it's not even the most system-dependent code that I can think of.
When I can run Office 2003 natively inside Linux then we can talk.
Re:ooooooh, yawn! (Score:5, Informative)
When I can run Office 2003 natively inside Linux then we can talk.
Define 'natively'. Because Crossover Office can run Office 2003 on Linux just fine, today.
Re:ooooooh, yawn! (Score:3, Informative)
Today's Poll (Score:5, Funny)
1. Vaporware
2. Miracle
4. Coyboy Neal
Personally, I vote it's just Coyboy Neal at it again.
Like java's HotSpot? (Score:5, Interesting)
Taos (Score:4, Insightful)
So, this idea reminds me of this project...
It could still be possible, we've got Java classes instantiated and running on many architectures, after all...
It runs on magic (Score:2, Redundant)
Re:It runs on magic (Score:5, Funny)
So how much mana would I need tapped to run Photoshop in Linux?
Vaporware (Score:5, Funny)
No performance hit? (Score:5, Insightful)
The only way I can imagine this happening is if the software reads your executable and then does a one-time translation into a native executable. That way the native executable wouldn't be emulating anything, it would be the real deal. But... the complexity of such software would be staggering.
Here's hoping it works!
Re:No performance hit? (Score:5, Insightful)
Actually, I could conceive a brilliant software engineer coming up with a universal translation mechanism that turns x86 assembler into functionally equivalent PowerPC assembler, or vice-versa, or to other platforms. I believe IBM had been funding research in thsi area for quite some years now.
What sets off the BS detector for me is the APIs. They consistently state that they can do this for any OS. You have to do API translation, and you'd have to do that per OS, and it's a staggering volume of work to get all the APIs translated (think Wine project, just trying to do windows->linux api on a single shared hardware platform). When my linux binary calls any given kernel, C library, or even other common library (readline?, pthreads?, opengl?, etc..), those calls all have to be translated to equivalent MacOS or Windows API calls.
Re:No performance hit? (Score:3, Informative)
Actually, it seems to be primarily other people saying this. Read their site; they only claim to be able to do it for UNIX-like systems.
Vaporware, Miracle, ORrrr... (Score:2, Funny)
And SCO will sue. Think about it.
Arch or Library/API ? (Score:3, Insightful)
Is Transitive claiming to do BOT universally!? If so I am very skeptical, because even doing 1 of the 2 would be impressive.
Write once, run everywhere (Score:2, Funny)
Easy refutation (Score:3, Interesting)
Binary search is logarithmic time on a normal processor, but it is at least quadratic time on Turing's machine.
Therefore, I have found a counterexample to their claim.
PS: Turing's machine used an infinite tape and that tape could only be moved 1 space per cycle. Most of the time spent in the binary search will be moving the tape around.
Re:Easy refutation (Score:3, Insightful)
She wanted a reason..... (Score:5, Funny)
My wife said, "Give me a good reason why you need to keep those things! There's not enough room in the closet to put my shoes."
Now I can use this as an excuse to hold on to my Commodore 64 stuff.
Re:She wanted a reason..... (Score:4, Funny)
Just a thought.
wow, that takes some nerve (Score:2, Funny)
Were cross-platform ports shown? (Score:5, Insightful)
Windows laptop running the Gimp image editor for Linux
Funny how those applications are already available for those platforms, hmmm? I'd like to have heard about something being shown that isn't already available natively.
If it is real... (Score:3, Interesting)
It sounds like a virtual machine they've created for each host operating system and "virtualized" operating system. While possible - see WINE and the lately not heard from David project - this would require quite a bit of work. Hell, trying to emulate Linux in this way would be a hoot. Which window manager do you want to emulate today?
I think it is mostly vapor. Enderle, the famed SCO analyst, has his hands in it and I immediately distrust anything he works with and endorses.
(I just found out that my sister's ex-boyfriend's brother is one of the major financers of the Phantom. How's that for being close to slime?)
Kinda ironic isn't it... (Score:5, Funny)
Re:Kinda ironic isn't it... (Score:5, Funny)
Great Success Story! (Score:5, Funny)
Now you can run any software, anywhere, with no speed hit (relative to a 4.77 MHz PC XT or a C= 64 or a 512K Mac) on hardware from these everyday major name brand OEM's:
Billy-Bo's Bayou's only Computer OEM
Wang Tu Short Compuder OEM of China
DR CLEMENT OKUN NIGERIA BUSINESS COMPUTER MANUFACTURERS
San Rio Hello Kitty Laptop Division
TransitivePC & Electronics
Act now, because supplies of this software are very limited, and once this run is completed, no more can be made (because their damn drunk coders crashed a pickup truck into their RAID array)!
Did anyone note... (Score:5, Informative)
And the example of the XBox: Xbox is essentially a PC anyway.
This looks more like the technique the WINE project is using: Run a program on it's native hardware platform on another OS by making library- and systemcall-wrappers.
If that is indeed the case, "translating the code page-wise" can be translated to "re-linking dynamically loadable code page-wise".
Just my 2 cents
Software choices.... (Score:5, Interesting)
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
Does this company realize that proper existing ports of each of those particular pieces of software exist in some kind of native form for those architectures? I've used GIMP in Windows w/ no problems. Also, as mentioned previosuly, Quake III already exists for the Mac as well. What good are they doing by using software that already exists in ports? I want to see a copy of some DirectX game running on a Mac/Linux w/o a performance hit. This company so far has not proven anything by using the two comparisons cited in the article.
Um... (Score:5, Interesting)
/obvious
Fine print (Score:5, Funny)
(1) Uhm, err, the current version only runs Pacman, which required some modifications to the binary
(2) only on Windows XP, but we're working on the Win 98 version.
(3) The technology used allows for theoretical performance equal or even exceeding the native hardware. This will work in next version, "FlyingPig 6.0".
lead to gold (Score:3, Funny)
Is this a survey? Then I vote vaporware. Is digital alchemy kinda like Wicca?
On their "technology overview" page... (Score:5, Interesting)
My guess.. (Score:3, Interesting)
So what's really up here? TFA says they demonstrated running a Linux Quake III on a OS X powerbook.
(And they quote Rob Enderle praising this technology.. this is the guy who thinks SCO will win [eweek.com], which speaks loads for his credibility.)
Now, I haven't seen the source for Quake III, but I'm pretty certain it uses OpenGL, which the Mac has. OS X is also POSIX-compliant. So, most of the API calls done by Quake can already be done natively on OS X.
So what I guess they're doing here is translating API calls (like Wine) while emulating the processor core (like a real emulator).
That isn't anything new. For instance, I've written similar code for an Atari emulator [sourceforge.net], which can emulate an Atari hard-disc filesystem as a local directory through translating OS calls.
(Note: And that was far from the first time it'd been done either.)
Had me until "no performance hit" (Score:5, Insightful)
so it is technicaly feasible that if you map out a fair amount of the pipelines of most of the popular chip sets, you could technicaly have a command chain to allow binaries the same calls through a sudo-emulation layer of the software.
fundamentaly possible, and even do-able.... but without a performance hit? no way. Each processor is geared towards a particular way of solving a physcial and mathmatical set of problems... some processors are designed for massive loads of database driven calculations (XEONs)... some for multimedia (G5)... some for science (PPC, Sparc?)... some for power savings (ARM)....
depedning on which archetecture your using, the performance will be greatly hindered if your trying to do something designed for a radicaly different chip. Such as trying to run some expansive G5 optimizied photoshop plug on a ARM chip.
"no performance hit" = total bullshit
Clearly vaporware (Score:5, Insightful)
This is vaporware. What they're claiming - "without any performance hit" - is impossible. Accomplishing the rest of what they claim is not impossible, but it's very difficult, and since the "without any performance hit" claim establishes conclusively that these people are bullshitters, I don't believe they can even come close to doing it.
not impossible, but we'll see. (Score:5, Informative)
Getting back to Transitives, in July 2001 [businesswire.com], they claimed to already be doing x86->MIPS translation, which bodes well for x86->PPC. However, doing things efficiently the other way around is tougher. And of course you need to support or translate a ton of the native OS API calls etc. It'll be interesting to see for Windows on Linux (for example) if they require a copy of Windows to run the binaries.
Re:not impossible, but we'll see. (Score:3, Interesting)
-m
Now this is funny... (Score:3, Interesting)
slashdotted - vaporized (Score:3, Funny)
I bet that webserver was emulated. No perfomance loss..ha!
I saw a beta test! (Score:5, Funny)
Enderle? Media Whore. (Score:5, Informative)
All I needed to know. This guy will say anything and if he appears in your press release (yeah, it's an "article" but certainly the material is in a press release), chances are you're straining for credible commentary.
That'll be some feat! (Score:3, Funny)
I can't even run my Windows binaries full speed on Windows, how the fuck are they going to put MacOS binaries full speed on Windows?
Tell me that!
feh!
It pegged by BS meter before I got to the page. I'm pretty sure that it's going to be like the magical compression that can compress anything down to 256 bytes.
Details, details, details... (Score:5, Informative)
All of this is supposedly done on the fly, and not beforehand.
Quake and The Gimp wouldn't be my choices to show off flexibility. Quake is OpenGL on Linux and OSX, so there isn't any graphics magic going on. And the ability of BSD-based systems to run Linux binaries is old hat. The Gimp isn't exactly taxing on a CPU as far as user responsiveness goes.
Extraordinary claims require extraordinary proof. Press conferences for journalists aren't a conducive forum for proving anything. They are a good place to baffle 'em with bullshit, though.
-Charles
READ THE ARTICE (Score:3, Insightful)
"QuickTransit fully supports accelerated 3-D graphics and about 80 percent computational performance on the main processor."
Misleading article... (Score:5, Interesting)
I'll wager that if I took something like "Quicken" or "Microsoft Office Professional" for Windows and tried to run it on a Mac running QuickTransit that it certainly wouldn't work. I doubt if iMovie would run on a QuickTransit-enabled PC. THAT, my friends is the "computer-alchemy" goal. Of course, I would LOVE to be proven wrong on this!
Now, if they are talking about "any program written for Windows [that adheres to QuickTransit Requirements] to run on Linux..." then they may be accurate, but again, this really isn't "universal emulation".
Re:no performance hit? (Score:5, Informative)
According to TFA, this is a pre-compiler/translator, not an emulator. i.e. The entire program is recompiled for another platform using only the binary data as the source. This is theoretically possible and has been attempted many times, but such compilers often trip over levels of indirection that programmers add.
For example, a programmer might place the video address in a variable, then reference that for screen paints. Such a trick would be impossible to detect at compile time, and would only be properly handled by a true emulator.
Legal status (pretty OT) (Score:5, Insightful)
The reason you need a licence to use software is because your CPU makes a copy of the program (in RAM) and this would otherwise violate the programmer's copyright. I believe that the licensing terms are generally pretty strict, e.g. one copy, to RAM only. Therefore, I'm not sure you'd be permitted to take a copy of their program, mangle it and dump it back out to disk.
Does anyone know of any reason why this would be permitted, or how people intend to get round this problem?
I appear to have been reading too much groklaw.
Re:no performance hit? (Score:3, Insightful)
Re:no performance hit? (Score:5, Insightful)
Doubtful, but possible.