Slashdot Mirror


Universal Emulators Return

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

19 of 546 comments (clear)

  1. Not Vapor and not the arrival of Christ by AKAImBatman · · Score: 4, Insightful

    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.

  2. Not vapor by BoldAC · · Score: 3, Insightful

    If it's going to be released today, I am assuming it is not vapor...

  3. Games Games Games by Gr8Apes · · Score: 4, Insightful

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

    --
    The cesspool just got a check and balance.
    1. Re:Games Games Games by gl4ss · · Score: 4, Insightful

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

      --
      world was created 5 seconds before this post as it is.
  4. Any program? by vistic · · Score: 5, Insightful

    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.

    1. Re:Any program? by little_blaine · · Score: 5, Insightful

      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.

    2. Re:Any program? by Chris+Burke · · Score: 3, Insightful

      Every x86 processor since the Pentium Pro (possibly the AMD K5, not sure, but regardless...) has had x86 decoders that translate the x86 CISC instructions into much simpler RISC-style micro-ops that the rest of the machine deals with. The typical case is that the decoders can directly translate simple instructions (e.g. add eax, [rsp + 10] -> a load micro-op followed by an add micro-op), and refer to a microcode ROM to get the sequence of RISC ops for more complicated instructions like FXRSTOR or INT.

      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.

      --

      The enemies of Democracy are
  5. Taos by mirko · · Score: 4, Insightful

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

    --
    Trolling using another account since 2005.
  6. No performance hit? by theluckyleper · · Score: 4, Insightful

    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!

    --
    Visit the Game Programming Wiki!
  7. Tortoises all the way down. by Libertarian_Geek · · Score: 5, Insightful

    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.

    --

    www.facebook.com/DareDefendOurRights

    www.fairtax.org
    1. Re:Tortoises all the way down. by gfxguy · · Score: 4, Insightful

      Surely you can't read into "no performance penalties" not to mean "on like hardware".

      --
      Stupid sexy Flanders.
    2. Re:Tortoises all the way down. by AstroDrabb · · Score: 4, Insightful

      I am sure they didn't mean it could run your application at the same speed on _slower_ hardware. Anyone with more then 3 brain cells could figure that out. Basically they are claiming on similar hardware you should not notice a speed loss.

      --
      If Tyranny and Oppression come to this land,
      it will be in the guise of fighting a foreign enemy. -James Madison
  8. Were cross-platform ports shown? by Cus · · Score: 5, Insightful

    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.

  9. Re:no performance hit? by Firehawke · · Score: 5, Insightful

    Unless it's a static or dynamic recompilation technique-- it could translate before execution, dumping a new binary which it executes. You'd have a much longer start time, obviously, but it'd run at the full speed possible. Assuming, of course, that your recompilation techniques are 100% perfect.

    Doubtful, but possible.

  10. Had me until "no performance hit" by visionsofmcskill · · Score: 5, Insightful
    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

    --
    --Idiots, Every single one of YOU, A flaming mass of conglomerated morons, hey wait a second, isnt that how RAID works?
  11. Clearly vaporware by hopethishelps · · Score: 5, Insightful
    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.

  12. Legal status (pretty OT) by Maffy · · Score: 5, Insightful

    Does anyone what the legal status of running this operation over commercial software would be?

    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.

  13. Re:Remember... by Arker · · Score: 4, Insightful

    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.

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  14. Re:No performance hit? by photon317 · · Score: 4, 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.

    --
    11*43+456^2