Forgot your password?
typodupeerror
Technology

Universal Emulators Return 546

Posted by Hemos
from the and-soon-lead-to-helium-3 dept.
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?"
This discussion has been archived. No new comments can be posted.

Universal Emulators Return

Comments Filter:
  • Like many hyped up concepts, I don't think this product is really all they're making it out to be. At the same time, however, I don't think it's vapor. Instead, it's probably something in between that performs as advertised, but mitigating factors (300MHz CPU?) result in it not being everything everyone expected.
    • by Nos. (179609) <andrew@NospaM.thekerrs.ca> on Monday September 13, 2004 @10:05AM (#10235086) Homepage
      Okay, but for a product that really is this good, why is the newest news on their site dated March 2003? (There's an article in 04, but it has nothing to do with what they're releasing)
    • by Libertarian_Geek (691416) on Monday September 13, 2004 @10:09AM (#10235137)
      Sounds like an emulator equivalent of a perpetual motion machine. I can't say if this is real or vapor for certain, but it sure sets off my BS alarm.
      • Danger Will Robinson! Danger!

        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.
      • Er. I resen^Hmble that :/
    • by Anonymous Coward on Monday September 13, 2004 @10:38AM (#10235475)
      Since TFA is a worthless content-devoid POS, and since the transitive website is /.ed, here is a useful link on HOW they claim to do it. It sounds plausible, at least. http://66.102.7.104/search?q=cache:KjTa-qAM7LQJ:ww w.transitive.com/technology.htm+site:www.transitiv e.com+-qwerty&hl=en [66.102.7.104]
      • Entirely plausible. They'd probably end up using some sort of caching of binary translations to prevent there from being the same startup delay every time you start up your application. Applications where you have an identical interface (eg OpenGL) would see no performance hit on the graphics side.

        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
    • by grantsellis (537978) on Monday September 13, 2004 @11:14AM (#10235847) Homepage
      Yes, it's not all they're making it out to be. The poster read the teaser instead of the article, not that we're surprised :)

      QuickTransit fully supports accelerated 3-D graphics and about 80 percent computational performance on the main processor.


      and


      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."


      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."
    • by ajs (35943) <ajs@@@ajs...com> on Monday September 13, 2004 @11:41AM (#10236142) Homepage Journal
      Yep, none of this is new tech. In fact, it's pretty old tech at this point. Emulators/translators and everything in between have been the subject of experimentation for decades.

      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.
    • by Riff6809 (780550) on Monday September 13, 2004 @01:59PM (#10237706)
      After reading the article, I personally see the whole issue as much ado about nothing. The quotes provided in the article leave me with the impression that those who were involved with the article had little experience with emulators or were quoted out of context. I think this is obvious given remarks like "One of the key breakthroughs is an 'intermediate representation'..." that imply revolutionary thinking when in fact the ideas are not new.

      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.
  • Not vapor (Score:4, Insightful)

    by BoldAC (735721) on Monday September 13, 2004 @10:02AM (#10235042)
    If it's going to be released today, I am assuming it is not vapor...

    • Re:Not vapor (Score:5, Interesting)

      by Davak (526912) on Monday September 13, 2004 @10:07AM (#10235109) Homepage

      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)

        by RetiredMidn (441788) * on Monday September 13, 2004 @11:37AM (#10236114) Homepage
        It sounds like it is software that translates one machine language to another? Pretty sweet idea!

        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)

    by Steve G Swine (49788) on Monday September 13, 2004 @10:02AM (#10235046) Journal
    ... if nothing runs at all, everything runs equally well.
    • Re:Remember... (Score:3, Interesting)

      by hype7 (239530)
      very true :)

      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)

        by Arker (91948) on Monday September 13, 2004 @10:37AM (#10235461) Homepage

        Show me Windows Quake 3 running on a Powerbook, now that would be something a little more impressive.

        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)

          by Zorilla (791636)
          What would be truly impressive would be running, say, Wolfenstein3d Mac on an x86 box, with reasonable speed. That would be far more difficult.

          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
        • show me doom 3 running on my windows pc.
  • Games Games Games (Score:5, Insightful)

    by Gr8Apes (679165) on Monday September 13, 2004 @10:02AM (#10235054)
    If true - we'd have any game worth playing on Linux or Macs, and life would be good, most likely, too good to be true.... :(
    • Re:Games Games Games (Score:3, Interesting)

      by Negatyfus (602326)
      From the article:

      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.


      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.
    • by gl4ss (559668) on Monday September 13, 2004 @11:49AM (#10236220) Homepage Journal
      it's not the machine code that's the trouble with playing windows games on x86 linux machines, rather the problem lies in the supporting libraries(d3d & others).

  • Hehe.....
  • Any program? (Score:5, Insightful)

    by vistic (556838) on Monday September 13, 2004 @10:04AM (#10235077)
    Wouldn't you still need a bunch of supporting files and APIs to run a Mac program on Windows, vice versa, and for other operating systems? Programs make specific calls to the operating system, like windowing toolkits... this emulator must be huge to ensure everything works and they must have done massive successful reverse engineering of closed source files in the Windows architecture.
    • Re:Any program? (Score:2, Informative)

      by BobTheAtheist (805111)
      Run the whole OS... The device drivers will just work by magic
    • Re:Any program? (Score:5, Insightful)

      by little_blaine (126227) on Monday September 13, 2004 @10:15AM (#10235212)
      Well said. I can see a program that does on-the-fly translation of assembly code, but the first time you try to access a windows .dll on a mac, or a linux .so on windows (for example), or make any kind of system call on a foreign platform, you will hit problems.

      Now here's an interesting thought: MacOS X on x86. Or windows on PowerPC.
    • by mofochickamo (658514) on Monday September 13, 2004 @10:38AM (#10235477) Homepage Journal
      Transitive explains the architechure of their system here [transitive.com]. Basically, to support APIs on different operating systems they have what is called an Operating System Mapper. They don't claim that it maps Mac to Windows or Linux to Windows. Basically, it maps two like systems together (like Solaris to AIX or HPUX to Linux). If there is no straightforward mapping then the customer defines the map.

      After reading this, the term Universal Emulator doesn't seem to apply. Here is the text from Transitive's Website:

      Operating System Mapper. Dynamite supports operating system mapping between any two Unix/Linux-like operating systems, as well as mapping between mainframe and any Unix/Linux-like operating systems. Where similar operating system calls exist between the source and destination operating system, Dynamite maps calls between the two. Where an equivalent operating system call doesn't exist in the target environment, Dynamite maps to similar calls per the customer's guidance. Dynamite also monitors certain system calls, for example thread scheduling and memory mapping calls, to ensure that it can reproduce the complete behaviour of the program it is executing.
      • 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)

    by mrpuffypants (444598) * <mrpuffypants@@@gmail...com> on Monday September 13, 2004 @10:04AM (#10235079)
    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.

    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.
  • by eSims (723865) on Monday September 13, 2004 @10:05AM (#10235084) Homepage
    Transitive Software:
    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)

    by tunah (530328) <sam@nOsPAm.krayup.com> on Monday September 13, 2004 @10:05AM (#10235091) Homepage
    They're talking about recompiling sections of critical code, like java's HotSpot. It'll be interesting to see how fast it ends up - the startup time is a pain in java, but it's pretty decent after that. I can't find a source for the "no performance hit" bit. It looks real, and quite impressive, but not exactly what the summary indicates ;-)
  • Taos (Score:4, Insightful)

    by mirko (198274) on Monday September 13, 2004 @10:07AM (#10235102) Journal
    A few years ago, while I was still primarily using my Acorn ARM-based RiscPC, I remember being in contact with TAOS people, they were making an heterogeneous processor operating system on which they claimed they emulated a virtual processor on which the whole environment would run, regardless of the hardware.
    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)

    by funkdid (780888)
    I'm calling bullsh!t on this one. Processor differences being what they are I don't see this working. All other attempts at this have been so-so, to make a product like this "whithout a processing hit" sounds like this was written in some new programming language, perhaps one based on Magic.
  • Vaporware (Score:5, Funny)

    by g0bshiTe (596213) on Monday September 13, 2004 @10:07AM (#10235107)
    Does this mean I can finally get WINE to work under Windows?
  • by theluckyleper (758120) on Monday September 13, 2004 @10:07AM (#10235108) Homepage
    If there's no performance hit, there must not be true "emulation" going on... it would be impossible to emulate another OS and architecture without a few extra cycles!

    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!
    • by photon317 (208409) on Monday September 13, 2004 @10:43AM (#10235531)

      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.
      • by julesh (229690)
        What sets off the BS detector for me is the APIs. They consistently state that they can do this for any OS.

        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.
  • Gag order, lawsuit, violation of the DMCA and/or Patriot Act and theft of 'Intellectual Property'.

    And SCO will sue. Think about it.
  • by Gherald (682277) on Monday September 13, 2004 @10:09AM (#10235124) Journal
    "Emulating" architectures and "Emulating" native OS libraries/APIs are very different things.

    Is Transitive claiming to do BOT universally!? If so I am very skeptical, because even doing 1 of the 2 would be impressive.
  • Pfft. That's already been done [sun.com].
  • Easy refutation (Score:3, Interesting)

    by Yartrebo (690383) on Monday September 13, 2004 @10:09AM (#10235133)
    Just take Alan Turing's original Turing Machine. It can be proven that certain algorithms, like a binary search, will take an algorithmically longer time on a Turing's machine than on your standard x86 processor.

    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)

      by jjoyce (4103)
      When you speak of the computational complexity of an algorithm, you must define what constitutes a computational step. The total cost of the algorithm is then based on these steps. For example, when people say that binary search runs in O(log n) time, they mean that it takes a logarithmic number of steps (where n is the number of possible values to search through) and the computational step is a comparison of two values. What you are doing is saying that the computational step is the movement of tape, which
  • by SomeoneGotMyNick (200685) on Monday September 13, 2004 @10:09AM (#10235141) Journal
    allows any software application binary to run on any processor/operating system

    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.
  • to name your new company the "tranvestite corporation." I guess it makes sense considering the product they're selling but, sheesh
  • by Cus (700562) on Monday September 13, 2004 @10:10AM (#10235146)
    a Linux version of Quake III -- running on an Apple PowerBook
    ...and...
    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)

    by Talonius (97106) on Monday September 13, 2004 @10:10AM (#10235153)
    ...they'll soon be sued away by the likes of Microsoft and Apple, both of whom have an established interest in maintaining the status quo.

    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?)
  • by arock99 (612650) on Monday September 13, 2004 @10:12AM (#10235186)
    That they claim their software is fast but yet their web site is reaaaaaaaaaaly slow
  • by Anonymous Coward on Monday September 13, 2004 @10:13AM (#10235192)
    Given the illusive nature of their product, it is especially incredible that they were able to get five of the world's largest computer OEM's on board so early.

    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)

    by cavac (640390) on Monday September 13, 2004 @10:14AM (#10235204) Homepage
    ...that they seemed to run only processor-native code. Even Linux-Quake: Linux IS ported to the Mac ;-)

    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)

    by kidgenius (704962) on Monday September 13, 2004 @10:15AM (#10235213)
    Turley said he watched a Windows laptop running the Gimp image editor for Linux.

    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)

      by Theaetetus (590071) <<theaetetus.slashdot> <at> <gmail.com>> on Monday September 13, 2004 @11:04AM (#10235743) Homepage Journal
      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?

      ... so that they can show the native version side-by-side with the translated version and show that there is no noticable hit in performance.
      /obvious

  • Fine print (Score:5, Funny)

    by archeopterix (594938) * on Monday September 13, 2004 @10:16AM (#10235223) Journal
    It runs everything (1) on everything (2) without performance hit (3).

    (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".

  • by bodrell (665409) on Monday September 13, 2004 @10:17AM (#10235236) Journal
    What do you think, vaporware or miracle?

    Is this a survey? Then I vote vaporware. Is digital alchemy kinda like Wicca?

  • by Kippesoep (712796) on Monday September 13, 2004 @10:17AM (#10235242) Homepage
    there is mention only of unices. Operating System Mapper. Dynamite supports operating system mapping between any two Unix/Linux-like operating systems, as well as mapping between mainframe and any Unix/Linux-like operating systems. Don't see "Windows" mentioned in there. I assume it would be a lot easier to run a Linux version of Quake 3 on BSD-based Mac OS X than to convert stuff to/from a rather more different OS such as Windows.
  • My guess.. (Score:3, Interesting)

    by k98sven (324383) on Monday September 13, 2004 @10:18AM (#10235254) Journal
    The summary should almost be modded flamebait for making such an obviously impossible statement like that.

    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.)
  • by visionsofmcskill (556169) <(vision) (at) (getmp.com)> on Monday September 13, 2004 @10:18AM (#10235258) Homepage Journal
    Bottom line, a porcessor essentialy comes down to several basic comparisons and read/write add/subtract operations.

    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)

    by hopethishelps (782331) on Monday September 13, 2004 @10:19AM (#10235264)
    without any performance hit. That would allow any program written for Windows to run on Linux or Mac, and vice-versa,... What do you think, vaporware or miracle?

    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.

  • by pb (1020) on Monday September 13, 2004 @10:23AM (#10235318)
    The marketing jargon goes a bit over the top, but it isn't impossible to translate code for one ISA to an intermediate form, optimize it, and then generate code for another ISA. I don't know that it's revolutionary either. Note that LLVM [uiuc.edu] takes a similar approach, and has a very simple intermediate form. I hear someone on their team is working on a PPC front-end, and as for language front-ends, Java and C# is in the works.

    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.
  • Now this is funny... (Score:3, Interesting)

    by illumina+us (615188) on Monday September 13, 2004 @10:27AM (#10235357) Homepage
    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.
    Because the past 2 generations of PowerBooks haven't been running on a BSD kernel which is very similar to *nix and runs most *nix applications natively anyway? Moreover, Quake III uses OpenGL as a renderer which makes ports a lot easier than games using DirectX.
  • by tsager (196659) on Monday September 13, 2004 @10:32AM (#10235406) Homepage Journal
    See, the domain already vanished...

    I bet that webserver was emulated. No perfomance loss..ha!
  • by Atryn (528846) on Monday September 13, 2004 @10:37AM (#10235460) Homepage
    Confirmed! I saw a beta test of this product. It was used during the filming of Independence Day. They successfully used the program to upload and execute a virus from a Mac to a never-before-seen Alien computer system. It was even able to display graphics without having prior experience with the displays in question!
  • by sparkhead (589134) on Monday September 13, 2004 @10:44AM (#10235537)
    "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."

    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.
  • by His name cannot be s (16831) on Monday September 13, 2004 @11:13AM (#10235833) Journal
    That'll be some feat!

    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.

  • by chill (34294) on Monday September 13, 2004 @11:13AM (#10235838) Journal
    The graphic on Transitive's website [transitive.com] shows only Unix/Linux operating systems. One of their steps, Operating System Mapping, says "QuickTransit supports operating system mapping between any two Unix/Linux-like operating systems, as well as mapping between mainframe and any Unix/Linux-like operating systems." Doesn't sound like Windows to me.

    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)

    by Conor Turton (639827) on Monday September 13, 2004 @11:48AM (#10236203)
    Nowhere does it say there isn't a performance hit. It merely says that because of the speed of current hardware, only real power users are likely to notice any difference.

    "QuickTransit fully supports accelerated 3-D graphics and about 80 percent computational performance on the main processor."

  • by jbarr (2233) on Monday September 13, 2004 @12:55PM (#10236911) Homepage
    From the /. article:
    "...That would allow any program written for Windows to run on Linux or Mac, and vice-versa..."
    This is a bit misleading, because it's really a "one flavor of *nix on another flavor of *nix" system. Playing a Linux version of Quake III on an OSX Mac doesn't seem like rocket science because of OSX's native BSD roots.

    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".

The biggest mistake you can make is to believe that you are working for someone else.

Working...