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?"
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.
Javascript + Nintendo DSi = DSiCade
If it's going to be released today, I am assuming it is not vapor...
when I see it.
... if nothing runs at all, everything runs equally well.
"Consider yourself a member of a virtual corporation with Mr. Torvalds as your Chief Executive Officer." - Linux Advocac
Seriously.
... our vaporware overlords!
No f'n way this is legit.
Looking for a Rails developer in Chapel Hill?
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.
Hehe.....
Yeah right, that's not possible, just translating to another set of instructions takes some of the cpu's resources... that alone would debunk the claim of no performance hit...
Keep your Linux client binaries!
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.
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.
In Soviet Russia, software application binary runs you!
Transitive Software:
1. Vaporware
2. Miracle
4. Coyboy Neal
Personally, I vote it's just Coyboy Neal at it again.
I
i call hoax. rob enderle is apparently involved.
I can run MechWarrior 4 on my Redhat 9 Dell insperon. Do that, and I will buy myself a copy today!
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 ;-)
Free Java games for your phone: Tontie, Sokoban
Instead, it's probably something in between that performs as advertised, but mitigating factors (300MHz CPU?) result in it not being everything everyone expected.
I remember a product for the Mac called SoftWindows that broke out to native code when accessing hardware, producing somewhat of a speedup. Some versions of Classic Mac OS did the same thing during the transition from 68LC040 to PowerPC instructions.
The blurb posted is misleading. The Wired Article states "with almost no performance hit."
The CPU translation is nothing new, however, what about all the operating system calls? The APIs and what not? Their software would have to make Unix and Windows system calls, like Wine.
hope it works /me performs rain dance
Build your own energy sources from scratch. http://otherpower.com/
extraordinary claims require extraordinary proof.
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.
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.
I boycott signatures
Does this mean I can finally get WINE to work under Windows?
I am Bennett Haselton! I am Bennett Haselton!
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!
VAPOREWARE. Just like how a transmeta chip was supposed to run x86 code as fast as a dedicated x86 chip
Gag order, lawsuit, violation of the DMCA and/or Patriot Act and theft of 'Intellectual Property'.
And SCO will sue. Think about it.
"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.
The unofficial
Pfft. That's already been done.
~Warning!~ The above is encrypted using rot676!
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.
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
Will it run software written for my Wang 2200? Will it run VMS? No. Please do not make such broad claims if you can't even begin to back them up.
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
Skype Me! username: john_allen_mohammed
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.
what about api calls which are native to windows, or even directx applications, I don't think that they will be able to "emulate" all this without a performance hit (or at all for that matter).
Or are they just talking about the processors and their native instructions?
Time is the only precious thing I've got left; Don't waste it
...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?)
My reality check bounced.
...software. It's already down.
Is that a rhetorical question?
I do security
That they claim their software is fast but yet their web site is reaaaaaaaaaaly slow
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)!
From the article:
When some people think of "emulators", they also tend to think of the arcade and console game ROM piracy scene that goes along with it. The company may have dodged more bullets than it's letting on to us by not using that word.
The article says that this software will allow Xbox 2 to play Xbox one games even though Xbox 2 uses a PPC instead of Intel. Correct me if I'm wrong, but isn't the main problem with backward compatiblity for the Xbox the Nvidia graphics chip? How do they plan on doing their translation of code without violating Nvidia IP? Seems to me like their being too simplistic.
Sounds like complete BS, but on the other hand if it even works reasonably well it would be a step up from anything we've got now.
Say it took 10% of your resources to run this thing, and the rest could be devoted to the program, that's only a big deal in the most absolutely recent high load games and programs. The rest of the midrange stuff where we normally work would run great. So it is possible that this could be a great thing, some will just have to try it and report back.
E.g. assume that the application is a game. The exact timing must then also be duplicated, a quite difficult process. (see e.g. the various Mac, Amiga emulators and Dosbox)
...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
Look, this thing is totally safe! Built it myself, you know. You just press that button like this and then turn that lev
Is probably running on a 64bit compiled version of apache for xinix run under contiki OS on a spectrum ZX that also doubles as there primary VMS server.
iow, It's down !.
This seems to me to be saying that the emulator's got to be HUGE, rather in the fashion of the fake-o compression software that comes up every couple of years promising 1,000:1 compression. And then you find out that at each end is a store of "templates" and the compression application is literally a couple hundred GB in size. Maybe in this case a lot of standard libraries have already been ported?
And since that line is the most informative in the article, I'd be keen to hear other opinions on how this could work...
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.
(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".
Any on ANY?? I think I still have a CDC Cyber 172 system dump tape under the raised floor.... So if they're right I can run NOS 1.3 and PLATO on an old Apple ][ ?
Maybe this is Apple's chance to jump ship from PPC/IBM/Motorola and use the Opteron? There was a rumor they were developing an intel versin of OSX next to the PPC version, so why not move to AMD64 and ditch PPC? This emulator could be just what the doctor ordered.
Is this a survey? Then I vote vaporware. Is digital alchemy kinda like Wicca?
Si la vida me da palo, yo la voy a soportar Si la vida me da palo, yo la voy a espabilar
The "pretty darn impressive" examples given are GIMP under Windows and Quake 3 on Mac. Both of those have completely native versions available. I smell something not quite honest about these demos.
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.
So I can emulate my Tivo on a PC that I build myself?
You have to be very careful with claims about being able to emulate ANY hardware, or being able to run ANY code.
But if they can, I'll use it.
Now I'll go RTFA and see how stupid I am.
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, 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, 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.)
Windows will team up with hardware vendors (Dell, HP, IBM) and give them incentives to make this NOT work
Antitrust. Microsoft has been convicted before in multiple jurisdictions and will be convicted again. A repeat offender should draw a real penalty.
Office prices will skyrocket (don't know how that's possible, but it will to prevent this) UNLESS you have a valid Windows license
Do you mean Microsoft will raise the price of Microsoft Office for Mac OS X? In that case, watch Mac users flee from Microsoft MBU products to competing products such as products built on top of OpenOffice.org.
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?
that IBM "Universal Business Adapter" commercial. The one for which to interface with system "xyz" you need an ADDITIONAL adapter.
...
So, all you need to run:
- a Windows app on Linux is our software and Wine
- a Linux app on Windows is our software and cygwin
-
--Coming up with something clever... please wait...
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.
about Marijuana getting stronger?
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.
Things that make you go hmmmmm....
If in fact, their software doesn't all of the above things the performace will take a hit. And not just a small hit either since it's not just the app that has to be translated at runtime but everything running underneath it - the C runtime, any system libs & APIs, X windows / Aqua / GDI etc. If that's the case, you might as well stick with an emulator and be done with it, or use something like WINE where it is appropriate.
Comparisons to WINE also begs another question. What's the point of running your Mac OS X application (e.g. Photoshop) on Linux if it requires you also have a large chunk of OS X to do it? Is a Linux user meant to buy an OS X licence in order to run this one app on their machine? Is an XP user meant to have yank half a Linux dist from somewhere to support the GIMP through X Windows?
It sounds like a recipe for licence hell and lawsuits to me.
I'm sure it will require a lot of grunt.
With enough CPU power you can emulate things full speed. But it's the quirks and bugs of the silicon which you are emulating that causes problems.
Not to mention the emulation code probably contains bugs too. Can be hard to achieve 100% compatibility.
I always want to run Lotus Notes after I play Halo
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 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, 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.
pb Reply or e-mail; don't vaguely moderate.
http://fabrice.bellard.free.fr/qemu/ Qemu needs work, but already has several different host-target CPU combinations complete (in the ARM x86 and PPC areas anyway).
http://pearpc.sourceforge.net/ PearPC fills in the gaps on PPC emulation where Qemu is lacking. (I run OS X 10.2 on my PC at work.)
Coral Cached link to Transitive site: http://www.transitive.com.nyud.net:8090/
Considering when I click their link in the post and get a "Document Contains No Data" message, I'm going to lean towards vaporware.
The Uber
http://www.tulg.org/
http://devurandom.livejournal.com/
Guess in a few days we will know if it is all just vaporware or not.
... it usually is.
If it's for real then we have a lot of fun times to look forward to, no more excuses to not move companies to a Unix based OS, can then start weeding out the crap programs and replacing them with decent open source ones over time till don't need this program either.
Does sound too good to be true though, and when something sounds to good to be true
If at first you DON'T succeed, Skydiving is NOT for YOU!!
I have to say that to me it doesn't sound like it does what they want it to. I mean, why would they have a version for x86, powerpc, et-al if it's supposed to run on multiple OSes? Shouldn't it subdivide the categories with windows, macOSX, linux-2.4, linux-2.6, *BSD, BeOS...? Also, just a little quote from the article about the "almost no performance loss" : "QuickTransit fully supports accelerated 3-D graphics and about 80 percent computational performance on the main processor. " So in fact when computing, those translated programs are 20% slower than a natively written or source-ported program in terms of fpu. Now, I don't know about you guys, but 20% to me sounds ALOT! Especially for games. Doesn't sound like it's an impressive converter to me. Winex/Cedega does better for me in some cases. Granted, it might be helpful for medical applications, but gamers are hardcore, they'll want all the juice they can squeeze out of their boxes, so no way they'll voluntarily cut off 20% of their gaming speed, even if the graphics follow. Of course it SOUNDED great, but when you look under the hood it's impressive if it does work, granted, but it's not as impressive as they're trying to make it sound.
---- I am certain of only one thing : I know nothing else.
-illumina+us "I put on my robe and wizard hat..."
...in the certain event that it gets slashdotted.
"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 one instruction set architecture to another. Third, an operating system mapper translates operating system calls from the source system to the target system in situations where the source and target operating systems are different. Finally, a graphics subsystem mapper translates graphics system calls from the source to the target system in situations where the source and target graphics systems are different.
Integration FUSE. Dynamite is integrated with the operating system of the target system and runs like any other application. Unlike static translators that translate an application's binary once before run time, Dynamite translates instructions and operating system calls while an application is running. When a foreign application is started, the operating system recognizes that the application needs translation and automatically starts Dynamite. Depending on the requirements for the integration, Dynamite can be configured with a wide range of options, including the ability to build "bridges" between translated code and code running native on the target platform. This feature has been used, for example, to allow translated applications to call a native accelerated graphics library for the graphics chipset in the target platform, delivering higher quality and speed than other solutions. Integration options also provide for different optimization schedules and the ability to reconfigure the use of the translation code cache to better match performance to customer needs.
Dynamic Binary Translation. The dynamic binary translator in Dynamite is a breakthrough technology that uses a modular architecture consisting of three key components. The front-end decoder reads blocks of instructions from the foreign application's binary and decodes them into an intermediate representation. The intermediate representation allows Dynamite to understand the higher-level semantics and intent of the code.
The optimizing kernel reads the intermediate representation and optimizes the code. At first, simple optimizations are performed. In most applications, however, a 90/10 rules holds where 10% of the code is executed 90% of the time. The optimizing kernel looks for blocks of code that are executed often, spends increasing amounts of time improving the optimization of this code, and then stores this optimized code in memory. Each time a frequently used block of code needs to be executed, the highly optimized code stored in memory is used instead of optimizing that block of code again. Because the blocks of code that are executed change frequently, the optimizing kernel flushes old optimized blocks and generates new ones. The optimizing kernel produces superior code optimization compared to static binary translators or compilers. It optimizes code based on how an individual user is using that application and does not need to optimize code for the general case.
The back-end code generator outputs code for the target processor. Different RISC, CISC and VLIW back-ends provide different ways of performing register allocation, instruction selection and operand addressing modes to take advantage of the distinct features available in a particular target processor.
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.
ninja monkeys are meeting as we speak, plotting my demise
If The Transitive software is supposed to be released today
Why not ask "What do you think, vaporware or miracle?"
tomorrow?
Why speculate when you can... i dunno, wait 24hrs and inform yourself...
I'd say it would be a miracle if it isn't vaporware.
... cheap.
I've also got a bridge to sell you
The higher the technology, the sharper that two-edged sword.
So can one run Doom3 on Commodore 64?
When reading that part of the article, I do recall that DEC once touted an alpha "feature" where pages of memory could be marked as foreign, and when faulted, could be ran through a translator that turned x86 code into alpha code, and then cached the result on disk for future loads. This allowed the Alpha port of NT to run some (maybe many) x86 native apps, with a bit of initial overhead, at near native speed. Of course it also required hardware support in the Alpha MMU to accomplish this. \
That the Xbox 2 is not the same processor as XBox 1?
from TFA:
It requires no user intervention: It kicks in automatically when a non-native application is launched.
does this mean my mac running this software is now susceptible to windows worms and virii w/ me totally unawares?
Now, instead of writing a 100% accurate decompiler (which, afaik, is impossible), I just need to design a processor/OS to use INTERPRETED C (or LISP or whatever), and use this software to translate my binary to that platform.
Oh wait. Did I just reduce an uncomputable problem to what this software claims to do? Ah well, I'm sure Turing was wrong!
See, the domain already vanished...
I bet that webserver was emulated. No perfomance loss..ha!
The website says "...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...". This would suggest that there is no mapping between windows and unix...
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.
Wow! We all know how reliable Rob Enderle's analysis is. It must be true!Admittedly, I don't quite see the logic of his statement. After all, if an app takes twice as long to run when emulated on processor X as it does when running natively on processor Y, it'll still take twice as long when you speed up both X and Y in the same ratio. Maybe he means that you can emulate an Apple ][ dating from 1981 on a 3-GHz Pentium, and get the same performance as the Apple ][ would have given in 1981.
Has anyone tried translating binary code between Mac and IA32? Should be much faster than emulation, and the output could be cached to disk, maybe. Generate a binary for the target architecture the first time the IA32 binary is loaded, linked with the API converter library, and cache it to disk. Given that the PowerPC has more registers than an IA32 machine, and a more flexible architecture, the translated code could be made as efficient as the original, as no registers would have to be emulated in memory.
Than, all you need to do is to write the API converter library. That could very consuming of man-hours, and difficult to get the bugs out of, but it has been done before many times over, with variable success.
Maybe that's what they do. If not, this post will be prior art for anyone trying to patent this shit:-)
I remeber the quote "Tortoises all the way Down" as being from a women that believed that the earth was supported on th backs of tortises or something like that. Some one asked what the tortises were standing on and she replies "Tortoises all the way down". Where Do I remeber that from? Was in in one of Richard Feyneman's books, or do I remember it from history class ( it was a native american belief that the earth was actually a giant tortoises shell)? Or maybe it was from both.
Well.. maybe. Or Maybe not. But Definitely not sort of.
For example it's very slow to emulate a PowerPC chip on an x86 platform. This is due to the x86 platform simply having less available registers, hence the software must emulate these, which is a processor intensive operation as it's no longer an on-chip operation.
The best PPC emulation on x86, I have seen so far would be the PearPC software, whose author is sadly recently deceased. However even with that, just simply booting Mac OS X was a multiple hour long task.
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!
Come play Moral Decay!
It simply doesn't matter. If the program works, Microsoft will simply buy it and bury it. If it doesn't work, then who cares!?
If someone says he and his monkey have nothing to hide, they almost certainly do.
You laugh, but if I could get SAMBA for Windows I could slowly convert my workplace to OSS while making my job easier, and the enduser experience better.
SAMBA, in my experience, serves Windows clients better than Microsoft's servers do.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
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
DEC had several compilers that translate from executable to executable format. This trick was
done compiling Vax images on Alpha, and I believe it also was done for Solaris Sparc images on Alpha and
x86 images on Alpha, and has now been done at least for alpha images on IA64 (Itanium). Performance achieved there could be as high as 80% where the self-tuning aspects of the technology were used. (That is, every time you ran the image, more stuff got identified as code and compiled.) At least for Windows, though, it would be necessary to have emulations for all the NT functions, which led to a rat race trying to chase all the new DLL functions down, which would change frequently, with the apparent aim of keeping anyone from building an emulation of everything. The FX!32 product did pretty well even so and allowed many x86 binaries to be run on Alpha. Seems to me that the claimed performance may be a tad optimistic (80%) unless many tuning runs are done, but still quite usable. But I would be surprised to see more than a small subset of OSs supported, much as it would be pleasant to be able to run Alpha VMS on an Athlon 64 this way.
After reading this, the term Universal Emulator doesn't seem to apply. Here is the text from Transitive's Website:
Honk if you're horny.
SCO owns all IP!
Digital, before Compaqtion, was getting pretty impressive results from FPX. They were statically recompiling VAX and Sparc executables to run under OSF1, and using a combination of recompilation and emulation for Windows x86 code to run on NT Alpha.
It still wasn't fast enough for Alpha NT to take off even before Microsoft pulled out, but it was still pretty impressive.
A good recompiler would be enough to make this work, and even keep it from being terminally painful.
However, you're still effectively paying for a copy of the API. I wonder how much MS would charge a competitor to VirtualPC...
pb Reply or e-mail; don't vaguely moderate.
Sure, having an emulated CPU that runs simple binaries is easy..
But running any *program* anywhere? Nah.. too many variables such as libraries, hardware differences, OS issues, etc..
Unless they are writing virtual machines for each platform, ( or stealing others ) i dont buy it.. Nor do i buy the performance statement.. emulation doesnt work that way...
( and no i wasnt able to read the article.. cant get wired from here today it seems
---- Booth was a patriot ----
The article says that they expect 80 percent computational performance, which is not out of the question, especially for native-on-native like Gimp running under Windows.
...if is a product of the raelians.
http://www.rael.org/
I read that in "Surely you're joking Mr Feynman"
"You think you're clever don't you? It's tortoises all the way down"
Sam
blog.sam.liddicott.com
Exactly what makes this any different than, say...qemu?
Weaselmancer
rediculous.
"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.
To prove it's not vapourware, I think they're running a C64, emulating NT4, hosting IIS for their Web server.
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 one instruction set architecture to another. Third, an operating system mapper translates operating system calls from the source system to the target system in situations where the source and target operating systems are different. Finally, a graphics subsystem mapper translates graphics system calls from the source to the target system in situations where the source and target graphics systems are different.
Integration FUSE. Dynamite is integrated with the operating system of the target system and runs like any other application. Unlike static translators that translate an applications binary once before run time, Dynamite translates instructions and operating system calls while an application is running. When a foreign application is started, the operating system recognizes that the application needs translation and automatically starts Dynamite. Depending on the requirements for the integration, Dynamite can be configured with a wide range of options, including the ability to build bridges between translated code and code running native on the target platform. This feature has been used, for example, to allow translated applications to call a native accelerated graphics library for the graphics chipset in the target platform, delivering higher quality and speed than other solutions. Integration options also provide for different optimization schedules and the ability to reconfigure the use of the translation code cache to better match performance to customer needs.
Dynamic Binary Translation. The dynamic binary translator in Dynamite is a breakthrough technology that uses a modular architecture consisting of three key components. The front-end decoder reads blocks of instructions from the foreign applications binary and decodes them into an intermediate representation. The intermediate representation allows Dynamite to understand the higher-level semantics and intent of the code.
The optimizing kernel reads the intermediate representation and optimizes the code. At first, simple optimizations are performed. In most applications, however, a 90/10 rules holds where 10% of the code is executed 90% of the time. The optimizing kernel looks for blocks of code that are executed often, spends increasing amounts of time improving the optimization of this code, and then stores this optimized code in memory. Each time a frequently used block of code needs to be executed, the highly optimized code stored in memory is used instead of optimizing that block of code again. Because the blocks of code that are executed change frequently, the optimizing kernel flushes old optimized blocks and generates new ones. The optimizing kernel produces superior code optimization compared to static binary translators or compilers. It optimizes code based on how an individual user is using that application and does not need to optimize code for the general case.
The back-end code generator outputs code for the target processor
Honk if you're horny.
This thing will only be fun when I have it installed on my PC...
Until then, since I'm not in the high-risk investment market, I won't be bothered to speculate or hype this thing further.
Current game console makers are sure to be pretty pissed off.
Well, maybe except the guys who are making the Phantom console.
You just need a fast internet connection... it transmits the entire code to a cadre of Indian programmers who quickly perform the translation and then it's sent back to your computer.
Genius!
The idea of machine code to machine code translation is not new. For example, Dynamo appeared in 1999, although in its case the source and target instruction sets were the same. Regardless of whether or not transitive is for real (I'm guessing it is), it's clearly just a matter of time before this technology appears in a practical form.
My guess is that they are selling something which legally fulfills their legal claims. Of course what we're seeing are their marketing claims which sound like they were written by the good witch of Oz.
A disassembler that pulls apart certain binaries, applies a transformation matrix that the user defines to compensate for the difference in processors, and then re-assembles a binary sounds like something that could be done in very limited circumstances while laying the success or failure of the transformation (along with the legal liability) on the customer's shoulders. What about their performance claims? The legalese may claim the speed is of the transformation process and not the speed of the re-assembled transformed binary.
Just one example of why you might want to see the legal speak rather than the market speak.
Had better be pretty sure about that before you say it's all bunk. After all, they didn't say it has NO performance hit, just not a substantial one -- and they did even concede that power users may notice it. The one question I have is -- what about other stuff other than the hardware, say the windows Registry and DirectX and all that bullshit that goes along with emulating a windows host -- or the Resource and Data forks in Mac OS files -- how about HFS or Ext2 file systems? NTFS? how are these issues resulved by 'code translation?' How about installation ? You can run programs that are in MSI format in any emulator I've seen... Is there a fake System32 folder on a linux host running this emulator?
Speak for yourself.
About a minute out by my reconing.
And in a related item, Microsoft has now "acquired" Transitive...
Oh, I'm kidding of course (but would it shock anyone?)...
Mmmmmm... Bold, yet refreshing!
I really want to know if it can emulate the Phantom game console.
My beliefs do not require that you agree with them.
So dos that mean I have to now fear the latest Windows virus on my MacOSX box? Sounds like another reason to hate Microsoft.
The interesting part of this story is not the product---snake oil at best---it's the wild-eyed enthusiasm of Slashdot posters who know nothing about the product and yet start blathering about how great it's gonna be to run Windows app X on Linux. Always helps when the post misuses some technical term like "instruction set" or "assembly language."
Fool me once, shame on you; fool me twice, shame on me; fool me a zillion times, I'm on slashdot!
Guys, think about it---if apps can run on any platform, that means that all the OS components that the app is dependent on must be emulated or must travel with it. Sound like a possible licensing problem for commercial OS's? And if the app interacts with hardware AT ALL then they have to create an intermediate layer to allow for access to all device drivers. But wait---the OS components have to talk to that layer too! Uh-oh. Across "any" platform, with full functionality. Suuuure.
Now I know that CS professors are smart---I understand some of them were even required to write a bit of code to get their doctorate---but let's come back down to earth shall we?
Premature optimization is the root of all evil
Consider: if the superinterpreter can reduce the instruction stream of the program to one target machine instruction per program instruction, it would be able to execute as quickly as the program would have when compiled to the target. But since the interpreter has to do some amount of computation to get there, it will necesarily be slower over all.
And, of course, if the interpreter executes epsilon more than one target instruction per program instruction, it'll necessarily be slower.
If follows, therefore, that there must be some performance cost.
Congratulations, all of your Solaris and Linux boxes have been infected with MyDoom.
Now I can finally emulate my 3.6 GHz machine with a BFGTech GeForce 6800 GT OC on my $0.85 calculator that I bought at the gas station! Thanks, Transitive Corporation!
</sarcasm>
The marketing guys shouldn't use big words like "without any performance hit" that they don't understand. Other than that, it sounds interesting.
Education is the silver bullet.
..."write once, crash and burn everywhere" technology? ;P
Un-news
Remember when the Alphas first came out? DEC had a re-compiler that took your old VAX VMS binaries and translated them to run under Alpha VMS. Same OS, different machine architecture. It actually worked quite well. They also had a re-compiler that took Sparc-SunOS4 binaries (I think, it wasn't Solaris 2.X was it?) and generated Alpha-DEC-OSF/1 binaries. I don't think they actually sold that, but it made the rounds in universities. It was good enough to run WordPerfect for SunOS on an Alpha.
oooh.. wow.. what's next.. toothfairy os 5.6 santafactory 1.0? really people, this stuff is bullshit and we all know it.
this is not as revolutionary as they make it out to be at all. First of all the concept of "converting blocks of code instead of lines" is known as JIT compiling by the JAVA people and "dynamic recompilation" by you everyday emulator. Also they state that this is only successly multi-platform emulator...uh MAME anyone "Multi-Arcade Machine Emulator".
My thoughts is that they have combines several known techniques to come up with a nice solution. My guess is that they implement some intermediate API emulation layer (similar to wine) and do some form of dynamic recompilation of the code to the native arch (at the same time, translating the system API calls to ones which can be trappped byt the wine like wrapper). After a few secs most of the code should be running native.
Not impressed....yet
proxy
It does not matter what I think. It either works or it doesn't.
From the end of the Wired article:
"The company is keen to avoid the term "emulator," instead calling its technology "hardware virtualization.""
I suspect that they are emulating a hardware environment and running an entire OS in a virtual machine. Sound familiar? VMWare accomplished this several years ago, and they did in on multiple platforms. Transitive might might have some new performance tricks up its sleeves, but I'm betting they have a similar approach to the problem.
As others in the discussion pointed out, you can't just run the Linux version of the Quake III executable on OS/X in an emulator, because the executable makes calls to OS routines that simply aren't there. So you either provide native libraries that reimplement the foreign OS routines on the new platform, or you run the entire OS in the emulator. It sounds like the latter is what was used for the Quake III demo mentionned in the article.
VMWare all over again.
I had a recompiler on my Commodore 64 that would convert BASIC to machine code. My program would run maybe twice as fast (which is a far cry from what it should run had it been written in pure assembly/ML to begin with). It also would bloat up the program. 5kb in BASIC would bloat up to over 70 kb when recompiled.
They can make up any sort of fancy claims they like, but until I can run a demo copy and try it for myself, this is not news. It looks like currently the only people who can do this are the ones who shell out for the whole license -- something that most of us won't do sight-unseen.
-E-
We've seen this gentleman before .. in the SCO takes on the world saga.
It seems they've convinced a few people .. we'll see if it's the real deal within the month I guess.
/obvious
...As long as your character is a Gimp. Sort of like a cross between a dwarf and a troll, but the Gimp wears a leather suit and a ball-gag as default equipment.
-Looking for a job as a materials chemist or multivariat
Sloot had created a system which allowed any movie to be encoded in 1 kilobyte of data, using a group of five algorithms that were stored on a hard disk of less than 400 Mb. He demonstrated this system on several occasions, but didn't allow anyone to open his machine. Roel Pieper, one of Holland's most notorious IT professors (who basically became notorious because he had been a sportsman in the US, not because he knew a lot about IT) invested quite heavily (we're talking millions here) in Sloot's company. When Sloot died, taking his secret with him to the grave, they opened his magic box and found a big hard disk inside on which many movies were stored - using their regular space.
Of course, any first-year IT student realises that it is mathematically impossible to store any movie in just 1K of data, since it puts an upper limit to the number of movies that can exist, while it is obvious that the number of movies is infinite (although you wouldn't say so if you examine Hollywood's output).
The same seems to be happening with this universal translator. Of course it is mathematically impossible to create such a thing. The creators hype it up. They get loads of money. And then, I predict we will never hear from this again.
Some people get rich, others lose wads of money, the world keeps turning.
That's not how I read it - the article says it recompiles blocks of code on the fly and caches the most used ones. The difference between this and most other emulators is that most other emulators compile line-by-line (or so the article says).
I noticed that they demo'd OpenGL programs for 3D, of which a graphical equivalent exists on all systems (and many of the functions in hardware) - what happens when you run DirectX, where this is not necessarily true? I suspect the only way would be to run Windows (barring card support - I'm just using this as an example) in emulation. What kind of emulated hardware support if running Windows on MacOS or Linux does such an emulator have?
This may be a too good to be true story. Like many other posters, I have my doubts regarding this one. But if it did work, that would be beautiful.
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.
"...In your answer, ignore facts. Just go with what feels true..."
The graphic on Transitive's website 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
Learning HOW to think is more important than learning WHAT to think.
It says specifically "QuickTransit fully supports accelerated 3-D graphics and about 80 percent computational performance on the main processor" - that's 80% performance. Later, it says "The power user might notice the difference, but the other 95 percent won't notice.""
This means that there IS a performance hit, just that they don't expect the average user to notice (probably rightly so).
picpix image polls. create - share - vote. fun!
This is intended to be "funny", not "informative".
If you don't "get it", please do not moderate.
Don't those applications that they were running( Quake3, Gimp) have native ports.
I'm not saying its vaporware, but I could see someone trying to show off the software using the native ports instead of the "hardware virtualization"
It would obviously be more impressive/credible if they tried it on programs sans native ports.
Wow! I can run all my old PDP-11/24 binaries on the Nixdorf mainframe now! I need this software!!!!
Just because it can work cross-processor doesn't mean it works cross-platform. For example, how will it allow an MS Windows app to run on Linux or Mac OS X? The hardware part can be done. But what about all the libraries? What happens to the win32 calls under Linux or Mac OS X? What about Linux GTK+/KDE/X or Mac OS X with Quartz/etc running on M? Is this company trying to say that they ported _all_ these API's to _every_ possible platform? I doubt it. It is just like VMWare where you need to install a whole other OS? It really just sounds like marketing hype to me.
If Tyranny and Oppression come to this land,
it will be in the guise of fighting a foreign enemy. -James Madison
3. ???
/.'d - http://transitives.com should also work.
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.
... a decade ago, 1994, we would have been using 486dx66's.
I would hope so
They keep saying emulators are slow, but Ive used a few emu before and none Ive seen running on my intel 3.2HT run at the speed of a 486DX66.
pretty much every emu on the market is gona be running faster on new hardware then on decade old hardware, I dont think its even an issue worth pointing out. if thats what they mean by no performance hit... this is gona be some useless crap.
Sorry, it should have read 'The performance is no hit'
How? Considering the fact that the C64 only had 64 kB of RAM.
This isn't completely impossible, but they would have to be exceedingly smart, very probably inhumanly smart, to be able to run all binaries from all systems at good speed on any other. But there are some shortcuts they could potentially have taken that would bring it into the realm of 'very difficult, but possible.'
What most emulators do is to translate, instruction by instruction, the code stream for another processor into the instruction set of the current one. This takes, generally, anywhere from 10 to 20 native instructions per foreign one; in some cases, a lot more. Very clean architectures like the 68000 and PowerPC are easier to emulate, because their instruction sets are fairly uniform. The translation segment can be very fast, just a couple of table lookups and jumps. The x86 instruction set, on the other hand, is extremely snarly and nasty, with a whole slew of different instructions at different sizes. There are 8 bit, 16 bit, and 32-bit instructions, and several processor modes (8086, 80286, 80386). this makes the simple translation of an X86 instruction a potentially very complex process.
This emulator, on the other hand, claims to not be doing this. They claim that they are pre-translating the binaries to native code and running them that way. This would be enormously difficult, in essence extracting the 'sense of' a program from the compiled binary. This hasn't been done much, and there's a reason for it; it's hard to tell what side effects instructions are going to have ahead of time. The only way you can be CERTAIN of the state of an emulated PC is by emulating every step to get to that point. Just inspecting the code, and writing your own program to do the same thing, won't always give you a running program.
Now, they could be simplifying their X86 translation code a WHOLE lot by not emulating 8086 and 286 modes. Very little code, now, is 8- or 16-bit, so if they only support 32-bit code, their problem would be vastly simplified.
They may also be able to simplify their problem by sticking with 'ordinary' programs, ones that stay in userspace and just use system calls for their I/O. I believe that precompling a program that twiddles hardware bits directly would be exceptionally difficult. Transmeta's approach strikes me as the only likely one in this case; emulate it instruction by instruction, watch how it works, and then write yourself shortcuts to make it run faster next time.
But if they stick with 32-bit only, userspace programs, they could possibly get things running fairly quickly. Quake is a good demo for them. It's using OpenGL and is fairly predictable; the inputs and outputs are easily understood and quantified. (network, user input, results of opengl library calls). They're not getting any weird side effects from Quake hitting the hardware directly.
Upshot: it MAY work, but it's likely only going to work well for a subset of programs. It will likely never run operating systems. But, given those limits, it may actually run fairly well.
They mention using this tech to run XBOX1 stuff on XBOX2; if what I'm guessing is correct, that's likely to fail a great deal of the time. It's possible that XBox games may not hit the hardware directly; if they go through library calls for everything, they might be translatable in this way. But from what little I know of console programming, there probably is no class of program MORE likely to be twiddling the hardware. The recompilation technique strikes me as HIGHLY unlikely to work well in such cases.
I suppose they might be able to store special-purpose precompiled binaries on Live.. when you install Game Y for Xbox1, it could potentially go get a program binary from Live that would work. Might be better than nothing, but it would require a lot of engineering effort by Microsoft.
I should also note that I'm NOT claiming this is real. It could very easily be a scam. I'm just trying to point out that if they change the rules a little, they may be able to ship a product that works, without needing brains the size of Jupiter.
"That would allow any program written for Windows to run on Linux or Mac, and vice-versa ..."
... It speaks nothing of running your Wondows software under your Linux OS. It says that you could run your Windows OS on any "chip".
Did the person who posted the article read it?
As far as I can tell
I think the real problem is the confusion as to what the word "platform" means. It doesn't just refer to Windows vs. Linux vs. MacOS. It could refer to one compiler vs. another compiler. It could refer to one chip vs. another (as in this case). For example: the PowerPC chip vs. the Intel chip.
The article specificly talks about the xBox issue this software could solve:
"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)."
Cheers,
--The Dude
Too bad their webserver wasnt emulating a beowolf cluster of linux servers!
And my can plant my ass on any seat.
Wait what's that sticking out of my asshole.
See here: '99 Paper
Bye!
SeqBox
Having seen the benefits of Java, and marvelled at OS emulation with VMWare (Should be OS ware) I think this is the next evolved step.
:-) Can this mean we can beowulf a SNES, A2600, Gameboy, dreamcast, Atari ST and Coleco?
I have no idea how it works above the level of basic code execution (libraries etc) so I think this has no real 'now' uses. (unless running windows on a Sunfire is your thing)
This still doesn't 'do' any emulation that can magic up any system library that is no longer present (becuase it is the different system)
Will this however give rise to a whole bunch of cross compiled libraries that kill off the OS/Architecture debate by saying, write once, run on this.
Will it run mame
Who knows.
#hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
This almost sounds like my Amiga 3000 from 12 years ago, with a Bridgeboard and Emplant I could run Amiga, PC and Mac software at the same time. Granted, it 'cheated' by using a 386 processor for running the PC software, but it shared video, HD, keyboard and mouse.
That one time... (but not in band camp)...
I tried installing slackware inside os/2 warp from a dos shell inside windows sessions... and I saw god!
(and nearly destroyed the space time contium, thank god for tachion rays!).
=)
e.
Build Your Own PVR/HTPC news, reviews, &
After looking at their website, it looks like the main thrust is just another attempt to improve the dismal x86 performance on Itanium. The rest is probably hype and fluff.
"QuickTransit fully supports accelerated 3-D graphics and about 80 percent computational performance on the main processor."
Conor "You're not married,you haven't got a girlfriend and you've never seen Star Trek? Good Lord!" - Patrick Stewart
Back when Connectix owned VirtualPC, you could buy VirtualPC for Mac with an OEM-labeled copy of MS-Windows.
My guess is Connectix paid the same as if they were a hardware company - probably a rate based on the # of units shipped per month or some such.
Now that MS owns VirtualPC, if they tried to charge more than they traditionally charged, they might be in trouble on anti-trust violations in some parts of the world.
Still, published APIs whose function is not covered by broad patents can be rewritten, a la WINE.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Aside from the fact that that is an interesting way to look at things (if what you say were true, maybe a program recompiled by a licensee would no longer have copyright issues), you are taking an incorrect assumption.
Commercial software doesn't have to be proprietary. I use non-proprietary commercial software, and get paid to produce it exclusively, too, and I am not alone in the universe. Commercial does not mean proprietary.
IANAL, but, the GPL is based on a simple fact: For any given binary source code exists. This software has the potential to permanently alter that equation. What exactly is the status of source built by reverse engineering a translated binary? I think there is a potential issue there for the GPL, and even some poorly written Closed Source Licenses... (though these are rare nowadays...)
I wouldn't care to bet one way or the other, but maybe a pre-emptive rewording of certain portions of the GPL is in order...
"Talk minus action equals nothing" - Joey Shithead, D.O.A.
"Talk minus action equals
"allows any software application binary to run on any processor/operating system"
Lets see the c64 crowd get doom3 to run!
Warning! The above post may contain sarcasim, and no I did not rtfa.
... is probably IIS emulated on Linux.
Surely this is a blend of vapour ware and some truth. Games, for instance, could perhaps work - but what about applications that hook into operating system fundamentals?
The first example that springs to mind is Microsoft Word. Say you ran Word on this UberEmulator and you clicked File-Save. What would happen? Would you get a Win32 Network Neighborhood/My Documents type dialog? If so, it would probably blow up with some unhandled C++ exception either before it managed to display or upon user input. Or say the Word document had a embedded object in it from Excel or Vision and you double clicked on the object - then what would happen? Without OLE/DDE present (provided by the O/S) then things wouldn't work either.
Pfft. Download two versions. Run the Linux one. Use it to run the Windows one. Use that to run the Linux one. Etc. If you get fifty or so and it's -still- not lagging, then I'll believe them.
Not only did you get -1, Troll; you also get -1, Offtopic in reply to your -1, Troll. Double-whammied like a punk-ass bitch.
Note that they only did Intel to Intel or Intel to MAC emulation. When they can allow a Mac program to run effieciently on an Intel chip, I will be impressed. From what I understand, the main problem running Mac software on Intel is that Macs have many many more registers.
Fly me to the moon Let me sing among those stars Let me see what spring is like On jupiter and mars
Like this, 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 this "universal"?Does it work in Europe.
(You need an adaptor)
So, if you've got a program on your P4/Redhat box, you can run it on a Mac/OSX... yay... Seems like a pretty big nothing to me...
ungggghhhh
Interesting, Jim Turley (whoever that is) said he watched Gimp run on windows and that they had Quake 3 runing on a Mac. These two applications are both ported to thier respective platforms, meaning this demonstration is open to hoax. Run iPhoto on windows or Nero on a mac and I would take it more seriously
History will be kind to me, for I intend to write it - Sir Winston Churchill
..theres a good anme for the OS.
Microsoft assimilator - the software formerly known as Transitive Corporation
My question is, will it allow you to run any damn thing you like -- even stuff that came in from an overflowing buffer -- on a processor with native hardware NX support?
Je fume. Tu fumes. Nous fûmes!
This quote raises a red flag for me: "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."
Rob Enderle. Why would anybody believe this man is beyond me. For those who do not know, this is the same man who recently gave a speech at SCOForum entitled "Free Software and the Fools Who Use It"?
I also have to wonder how it happens that Rob Enderle would be interviewed about this software, unless he is somehow employed by Transitive. If so, then this Wired article is really more of an advertisement than journalism.
Can it run "Duke Nukem Forever" from its native code in the ether?
No? How about the unreleased final sequels to "SwordQuest" on the Atari 2600?
Did they just invent Java programming?
From Transitive's own press release, they indicate that they will be exhibiting at the Hynes Convention Center in Boston on September 20-23 at the Software Developers Conference. http://www.transitive.com/news.htm
& MgEid=1455&X=1
The Hynes Convention Center is hosting the SDC on September 20-23 http://www.mccahome.com/hynes/default.aspx
And the SDC lists Transitive as an exhibitor at the conference. http://www.cmpevents.com/SDe4/a.asp?option=H and http://www.cmpevents.com/SDe4/a.asp?option=H&V=13
Interesting? Probably not a hoax.
zac
-- my sig got
Is the fact that they were quoted as saying:
"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)."
So they already have a deal in place for this? Doubtfull.
This wasn't possible historically primarily because of "hacking" that occured among programmers.
Being "one of them". I used to throw in bits of assembler and hacks to hide things here or there. "Peek and Poke" (inp/outp) to ports in various places to get the hardware to do what I wanted it to do. Hide some memory on a floppy disk controller then use it later for something.
This kind of activity makes it very very difficult to do what these guys claim they did.
BUT... In the modern programming world, look at an assembler dump from MSVC in a Win32 EXE and you'll see no funny business anymore. No hiding memory, or peek/poke/inp/outp anymore. Just mostly straight forward code with calls to the OS and thats it!
A C compiler generally doesn't take C code, then convert it straight to (YOUR_CPU_HERE) e.g. x86 op codes and dump out a binary.. no... What they generally do is convert C code into an intermediate language. Bear with me as I don't know the proper name for this, but its almost like an assembler language (very low in nature and very simple codes) that is independant of architecture. Then this intermediate code has two options, it can go to the assembler for your CPU or it can go to the optimizer, which will optimize THIS intermediate code then go to the assembler (which can further optimize for the current CPU).
What I am trying to get at, is if you can take a Win32 binary, or a Mac binary, and convert it BACK into this intermediate platform/cpu independant intermediate code, then you can feed it back into the optimizer/assembler again for a different CPU.
There of course is alot of magic around this, but I beleive this is the general idea.
If you can accomplish this, then you have just wrote a translator that can translate one CPU's opcodes into another CPU's opcodes and reoptimize the opcodes for the target platform. The end result would be VERY VERY FAST translated binarys for the target CPU/OS that would perform almost as good, or even better than the original binary on the original CPU/platform (this is if you could say CPU-Apple = CPU-Orange performance wise).
Anyways... I am rambling, but hope they pulled it off and its not vaporware as it would be really cool!
- Voxel
Modesty is one of life's greatest attributes
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".
My mom always said, "Jim, you're 1 in a million." Given the current population, there are 7000 of me. God help us all!
- "allows any software application binary to run on any processor/operating system" without any performance hit.
It does take quite an acid hit, though...(Speedy processors would not stop their software from running; reality would, but if it ran on a 300MHz processor, it'd do just fine on a 3GHz)
-- @rjamestaylor on Ello
Unless I'm reading things wrong, this doesn't help run windows binaries on linux. From the site:Operating system call mapping from any Unix/Linux-like operating system or any mainframe operating system to any Unix/Linux-like operating system is supported.
You could do Linux -> Windows w/ cygwin, Linux -> OSX, or Unix -> Unix, but not Windows -> anything. This makes much more sense, but it still smacks of vaporware.
Ask me tomorrow.
Lessee, the Universal Turing Machine required exponential slowdown to emulate absolutely anything. Emulating CISC on RISC is going to take a linear slowdown (expanding some operation into the X fundamental operations). Heck, if this emulator even looks at the program it's emulating, it has to read program P of size N; it can't run itself in constant time C and then run the program it's emulating as if it were native. Unless the miracle is that in constant time C this emulator transforms your system into one native for the program.
:)
I'd like to test this program by emulating a program written for a Cray. Love to have my p.o.s. top-of-the-line-for-1998 transformed into a Cray.
Yes, we understand these tags always apply: fud, dupe, typo, slashdotted, topic name
So...
The fine folks over at CodeWeavers are a bunch of fools...
Transgaming has been wasting their time, and ours, with Cedega/WineX...
The group of open-source programmers that have put hours of time, effort, and expertise into WinE have not even been paying attention...
VMWare is a shoddy piece of software and a waste of time and hard disk space...
Projects like BOCHS, DosBox, and DosEmu really never had any purpose or market ...
All of the developers behind all of these projects must be really stupid. It sounds so simple: "Instead of working on every chunk of code, QuickTransit translates a sentence, or a paragraph, at a time."
I don't believe it for a second. It's not because of any great expertise of my own, but because I know there's great expertise behind many of the projects/products I've mentioned above.
-- GhodModeVapor ware I bet. Sounds to good to be true!
I wonder if it would be any easier to make a binary-to-binary translator on the same architecture? The idea would be to translate legacy i386/i586 binaries to take advantage of the latest CPU extensions.
Any complicated self modifying code could be left the same if the program could at least spot it reliably. It might even be possible to translate to 64-bit at the cost of a few "x &= 0xFFF..." instructions around shift operations.
First, FWIW, the PowerPC version would only allow MacOSX to play Linux/x86 games, not Windows games, which is kind of strange. If they were going to lie, why not go all the way?
Second, the concept isn't totally outrageous. It sounds analogous to what was done with x86 chips. There is an x86 front end but a RISC-like core that works because of grouping instructions. With the right kind of abstraction it might work, but I'm not holding my breath.
Transitive's Breakthrough Hardware Virtualization Products Eliminate the Need for Software Porting
"QuickTransit (TM)" Software Allows Applications to Run Transparently on Multiple Hardware Platforms with No Source Code or Binary Changes
Los Gatos, Calif. - September 13, 2004 - Transitive Corporation, the leading provider of software that enables transportability of applications across multiple processor and operating system pairs, today launched its QuickTransit(TM) product line, a family of products that allows software applications compiled for one processor and operating system to run on another processor and operating system without any source code or binary changes. The company's breakthrough hardware virtualization technology is unique because it provides 100% functionality, transparent interactive and graphics performance, near-native computational performance, and allows virtually any processor/operating system pair to be supported.
The first products available in the QuickTransit(TM) product line are:
*
QuickTransit for Itanium®: with support for MIPS®, POWER(TM)/PowerPC®, x86, and mainframe binaries
*
QuickTransit for Opteron®: with support for MIPS, POWER/PowerPC, and mainframe binaries
*
QuickTransit for x86: with support for MIPS, POWER/PowerPC and mainframe binaries
*
QuickTransit for POWER/PowerPC: with support for MIPS, x86, and mainframe binaries
The QuickTransit product line allows computer OEMs to rapidly increase the number of user-written and ISV (Independent Software Vendor) applications available on their platforms; it enables ISVs and internal software development groups to eliminate porting costs; and it allows IT services companies to migrate their customers' legacy applications to modern platforms at a fraction of the existing cost.
"The reality is that it's often difficult and expensive to port software applications to hardware platforms," said Bob Wiederhold, President and CEO of Transitive Corporation. "QuickTransit breaks the burdensome history of hardware/software dependency and therefore provides immediate benefits to the computer industry. QuickTransit dramatically reduces the cost, risk and time-to-market to support new or multiple hardware platforms, and it makes significantly more software available on computer platforms."
How QuickTransit Works
QuickTransit utilizes a unique and patented modular architecture. It runs on top of the operating system, with no end user intervention. As a translated application runs, the QuickTransit "front-end decoder" reads in blocks of binary code and translates them into an intermediate representation (IR). An "optimization kernel" then optimizes the code represented in the IR, and a "back-end code generator" encodes the optimized blocks for the target processor and caches them. QuickTransit's high performance comes from exploiting the fact that only 10% of the code in a typical application is executed 90% of the time. So, the optimizing kernel looks for frequently executed blocks of code and aggressively optimizes them as they are identified. The QuickTransit architecture is modular, allowing front-end decoders and back-end code generators to be easily mixed and matched for the source and target environment.
QuickTransit products support applications written in any language including C, C++, Fortran, Cobol, Basic, Ada, Pascal, Modula, PL/1 and assembly language. QuickTransit products let software applications run on the target platform exactly as they run on the source platform, with 100% functionality. Graphics and interactive performance are transparent, and computational performance is 80% of what could be achieved with a native port, which is often higher performance than is available on the original platform. Today's Itanium, Xeon(TM) or POWER processors, for example, offer 10 times the computational performance of mid-1990's mainframes. Using QuickTransit software, today's processors could
-asoap
Treat me like a marketing stat, and I'll treat your movie like a series of ones and zeros
Look, marketing is king yeah: "No Performance Hit", Enderle: "Moderns cpu's are fast enough to emulate each other".
What they MEAN is, CPU speed hardly mathers today, for ANY app.. I mean, sure a few photshoppers might like better hardware, a few beancounters who worship complex excel might even like dual cpu's, but for the rest of us, its how fast an app loads, and how fast it prints..
And if one app rules yor life, you buy native speedy hardware anyway. For the REST of your software needs it doesnt matter.
I have been wondering why there isnt a VMWARE for different arches for example, well maybe now there is...
"/Dread"
QEMU does something similar... it uses a just-in-time-translation approach to emulate different CPUs (currently x86, ARM, SPARC and PowerPC).
For x86-on-x86 emulation, it's only about 4 to 6 times slower than the host CPU.
It can emulate a PC complete with network card, hard drives, graphics, etc. Best of all, it automatically provides a firewall and DHCP server on the emulated network connection, so an operating system running in the emulation can access the "outside" network painlessly.
Apart from emulating complete systems, it's also able to launch binaries compiled for another CPU. In that case it uses dynamic loader tricks to translate library calls to native calls.
I believe the Darwine project plans to use it in conjunction with Wine to run Windows applications on MacOS X.
It's really really cool stuff!
Wenn ist das Nunstruck git und Slotermeyer? Ja!... Beiherhund das Oder die Flipperwaldt gersput!
If I am reading right what the poster says it would
imply that I could run winxp on a microprocessor
with under 128 bytes of ram with no lost in
performance.
It sounds to me like the poster or the guys
promoting the "emulator software" have been
sniffing some funny stuff or have been in
management or marketing too long.
It should be reminded to those folks that the
laws of physics can't be as easily broken as
the speeding laws.
Now the company site isn't slashdotted, I had a flick through their site - they mention VM's quite a bit, and this got me thinking:
Maybe It's an OS with a built-in VM, for booting your 'real' OS. If this runs on all platforms, you can install the OS onto it transparently. You then get to install the new OS's apps, then any foreign binary gets converted into specific instructions by the transparent host OS.
If the host has good graphics card and sound (no mention of sound at all on the site) drivers then it will work fine. Good idea.
Actually, I have been wondering for years why nobody as not attempted to decompile code into an inter-language and from that into a compiler or dynamic compiling runtime VM like java.
I thought GCC worked around this concept, some abstract inter-language it then generates specific cpu code from that??
Processors have a great deal in common in their designs. So I can see it as a realistic approach to the problem. Startup time could be a big deal, but if you could recompile most or all the code, why not do that and cache the results to disk for next execution? I bet about 10% of the code can't be translated, in which case, include an interpreter code block to handle it in the generated exe. So then you lose "about 20%" when ever those small untranslated parts execute.
Then the process of translation could be quite slow for the '1st run' but not matter a whole lot.
Democracy Now! - uncensored, anti-establishment news
Im a little confused as to how this technology allows Windows applications to run on Linux. (assuming x86 Linux) Wouldnt you need to have the rest of the Windows operating system within linux in order for this to work? I can see how great this might be cool for something like Wine on PPC (allowing v.quick x86 emulation / functionality) but I dont see how it makes windows binaries magically compatible with linux running on the same processor.
...
Nick
Electronic Music Made Using Linux http://soundcloud.com/polyp
I just ordered the "QuickTransit for x86" so I can play my XBOX games on my Mac. Even better, I can run an x86 distro of Linux on my Mac. I am so out of control someone help.
Great, so we can get all those lovely windows viruses!
It's probably too late to be modded up but doesn't this remind everybody of another company that claimed a similar thing? I almost thought it was the same company.
Transmeta used to claim how they were building a chip that could emulate any other chip using what amounted to software. Ultimately, Transmeta is as we know it: Not a high performance chip company but rather fills in the low power consumption niche.
I remember all the hoo-ha about how if they can get x86 to run at competitive speeds how native code on the Transmeta chips should blow everyone away.
At the time, the claims were just as dubious as this and, ultimately, Transmeta never did become the "as fast as x86" people; however, they do provide a valuable product to companies that want low power consumption in their chips.
This may be what Transitive becomes. A useful company, filling a useful niche, but not equivalent to their original outlandish claims.
Sunny
Be my Friend
"ainalist" Rob Enderle is the fly in the ointment. Why Wired News would even touch a vowel of this "Microshaft paid for, SCO whore", (Google: Rob enderle) is beyond impune. The shill.
For those that are suspicious, it is obvious that this application is not a an emulator, but a translator. CPUs have their own programming languages: machine code. The software they have take this code, translate it to some intermediate form (a pseudo-assembly language) then translate it to the target CPU's machine code. This is quite possible. Add a little emulation/translation of hardware calls, and voila.
I mean these kind of apps are mostly for the technically enabled people ...
...
... what emulators do is the run some appse (more or less), what VMs do is run all apps, with the burden of 2 oses on your machine, and most of the time having problems with spec hardware (even a simple USB cam) ...
If you sell a virtual machine (or emulator) the first thing to *NOT DO* is to state it runs without a performance decrease.
It will eat mem, it will use your CPU, and it will access your drives *SIMULTANIOUSLY* with the host operating system.
You can say: minimal performance decrease, and 99 percent of the applications, but when someone claims these thing I just get itchy
I ran VmWare, Wine, and several others
on the other hand they might be cool just do not SAY 100% apps and no performance damage
Their software, QuickTransit, is already shipping, just not to end-users. They claim they're already shipping to OEMs, ISVs, etc.
Also, they don't claim no performance hit; on their page oriented for gaming OEMs, they claim 80% of what you'd get for a native-recompile.
Anyhow, it doesn't look like they're going to ship a consumer model, so somebody is just going to have to licence this and put it into a product. Then we can all evaluate how good it is.
BTW: Their press release from today about QuickTransit is linked to from here:
http://www.transitive.com/news.htm
Nah, the virus was written in java. 'Cause java runs in any plataform.
sign(c14n(envelop(this)), x509)
If you could predict when the company folds and goes out of business, does that mean that you can compute the transitive closure?
show me doom 3 running on my windows pc.
Alasdair Rawsthorne has written a few technical reports on the technology behind this which includes some discussion on performance. See:
Machine Adaptable Binary Translation
The paper's a few years old, but I would definitely say this is not vaporware and I would expect them to have worked out most of their performance limitations since that time. Will it run as seamless as people here seem to expect? That remains to be seen. In the meantime, instead of immediately crying foul, read up on the subject and come to an informed conclusion. It looks promising. Search around, there's more up to date info.
it will run Duke Nukem Forever!?
You can have my cynical agnosticism when you pry it from my cold, dead logic.
hahaaha... sounds like a guy i met a long time in the deepness of the net REIROM who was quite a personality in the Emuscene. He was Often talking about his EMUALLSYSTEMS capable of emulation all video games/computers. LOL++
what happens when a binary uses libraries that aren't installed on the host computer or makes a system call unsupported by the host os? a hardware emulator can't compensate for that unless it's running another os on top of the host.
what if you took execution cache to a new level. you have a basic processor emulator that can emulate the entire target processor, even if it does it very slowly. then, you have a cache monitor that watches every execution and writes the results to a file. slowly, as all executions are done, the cache gets full and you no longer actualy execute the code, but pull the previous execution out of cache. now, you also take this cache data and compile it and append it onto the original program(after making a backup) so that upon next execution, that cache data is used again allowing the machine to run fast :)
Check out patent 5,896,522 -- how the hell is this company going to register something similar?
Project Odin does a binary to binary dynamic translation from Win32 to OS/2. And it does quite well.
Odin has been circulating for some years now (it was called "w32os2" when it started). Extending Odin idea to other architectures is not trivial or easy, but it can be done.
So I am a little skeptical of the cross OS benefits but the cross processor emulation is very possible and long overdue.
Technology like this has been availible for some time. There was even an emulator for the alpha chips that would often run code faster than native code on the same processor.
The reason this seems difficult is not because the problem is particular hard but because the solutions we commonly see are so bad. If you want to run interpreted code at any reasonable speed you MUST maintain a cache of translated instruction blocks. Identify commonly used code chunks and translate them into blocks of native instructions and remember run-time branch information. I simply don't understand why things like JVMs and so forth don't do this today. Sure it takes a little effort but it can actually produce faster code than native compiles (and certainly better than a distributed binary which must be able to run on any of a family of processors).
I fully expect technology like this to ultimately predominate. Operating systems will primarily be compilers and optimizers designed to efficently keep caches of optimized native code. At some point even our web servers will be written in an interpreted language (although at run time they will still mostly be jumping between cached native code snippets). I just don't understand what took so long.
If you liked this thought maybe you would find my blog nice too:
Phantom Investor: "I am your sister's ex-boyfriend's brother!"
Talonius: "So what does that make us?"
Phantom Investor: "Absolutely nothing."
WTPOUAWYHTTOTWPA
What's the point of using acronyms when you have to type out the whole phrase anyways?
... my PlayStation 2 games to run on the Phantom?
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
here
Has anyone actually read the technology overview? It's complete rubbish. I especially like the way they claim code optimization is performed relevant to how the user is using the application. Sorry, but no.
Comment 1.
How does the operating system recognize that the application needs translation? I see three possibilities.
The first possibility is that the native operating system lets Transitive execute all applications, and Transitive decides whether to translate an application, or let the native operating system run the application unaltered. Integrating this functionality (properly) into an operating system would be extremely diffult, let alone multiple operating systems.
The second possibility is that the native operating system attempts to execute all programs, and only invokes Transitive if an unexpected application type is encountered. Due to the way that Windows only executes files according to file associations (".exe" = DOS/Windows executable, ".com" = micro-executable, ".bat" = batch file), this seems very unlikely, as Windows wouldn't even know how to execute "gimp" because it lacks an extension such as "gimp.exe".
Even if one was to rename "gimp" to "gimp.exe", Windows would attempt to load the "Windows Program Header" for the file, which would be invalid because it's a Linux application. Windows would then generate an error. Of course, Transitive could overwrite certain error handlers within the operating system to catch this kind of error, and then analyze the file using a "magic number" command to determine which operating system and what file type was under scrutiny. But then Transitive would have to overwrite these certain error handlers within all operating systems, a very unlikely proposition.
The third possibility is preconfigured "virtualization sandboxes". Virtualization software like VMWare assumes that for a virtualized system, all files and executables within that virtualized system will be executed according to the rules of that virtualized system. Ergo, if you're running a virtualized Linux system, any executable will be executed as a Linux application. Does Transitive require one to preconfigure foreign applications as existing within a predefined virtualized system? Either way, there's alot more to this than simply the "operating system recognizes that the application needs translation."
Comment 2.
This sounds like a fairly intensive process, given the number of operating systems and APIs out there.
Comment 3.
Does this mean that Transitive will take a Windows DirectX application and translate it to Linux OpenGL? Or does Transitive have it's own API, which is compatible with all video card drivers out there? For either claim, that's pretty impressive; a technology worth being bought out by nVidia or ATI. Considering the breadth and depth of all graphics libraries and versions available for numerous operating systems, that's phenomenally impressive.
Comment 4.
I'm going to find a SPARC 2 running SunOS and emulate a Windows XP session through an emulated OS/2 desktop while playing Doom in a DOS window. If it doesn't work, I'm going after them for false adverstising ;D
Join the Slashcott! Feb 10 thru Feb 17!
Can I run QuickTransit(TM) on my Phantom gaming console? And if so, will it play Duke Nukem Forever?
I just looked through their web site, and never once saw it specifically stated that you could run Windows apps on a Mac, Linux apps on Windows, etc.
:)
They did state numerous times though that "Operating system call mapping from any Unix/Linux-like operating system or any mainframe operating system to any Unix/Linux-like operating system is supported." Plus in a section talking about game systems, it's worded to indicate Xbox games could run on Xbox2. Not those exact words, but is seams fairly obvious. What other game console was x86 but is now PowerPC?
Anyway, this would indicate to me that this only works provided the target and host OS is the same, or similar, i.e. OSX is Unix-based, so it could run the Linux Quake as described in the article. The only thing that throws me off is the article talking about running Gimp on Windows. Methinks they were really using a native Windows binary there.
Duct tape is like the Force. It has a light side, a dark side, and it holds the universe together.
You can emulate a PC on a Mac, as Virtual PC demonstrates. Donig it at a reasonable speed, however, it a whole different matter. If you think that a Mac will emulate a PC anywhere near to full speed, well, go and try it. Be prepared to be dissapointed.
You can emulate a PC at a speed reaonable enough to do productivity work like using an office app that doesn't happen to be out for MacOS. You cannot run modern videogames.
CISC also "won" in that now there are almost no true RISC processors left, even those eith a RISCish ISA. The R in RISC is for Reduced, and that was the idea. Real RISC chips like old MIPS chips did two things:
1) Reduced the number of instructions. They had basic math ops for integer and maybe FP if the chip supported it, load/store, branches, a couple bitwise operators and that was IT. There were very few instructions.
2) Reduced instruction complexity. Ideally, an instuction did one thing and one thing only. No messing with multiple data units, no messing with flage, just add two numbers and stop. Each instruction was very simple.
Well, both of these have gone out the door. Modern "RISC" chips have loads of instructions that are very complex, in a large part because of SIMD units. SIMD units are a great boon to modren processors because much of what is intensive these days can be done faster with SIMD. Thing is, they are complex instructions, and you need a lot of them for a good unit. So you basically have to throw away some fundimental RISC principles if you want them.
As the parent noted, this is fine. The way you write code for a chip and the way its execution works are not 1-1 related as they used to be. Chips break up and reorder the commands you give them to whatever works best internally.
It does, however, mean that the fanboy crowing about RISC vs CISC is pretty damn stupid. I mean if you want to talk advanced ISAs Intel is really ahead right now with their EPIC (sorta) on the Itanium 2. It's a more "advanced" and "modern" ISA than RISC or CISC, but we all see the lot of good that does against the Opteron with it's "ancient" CISC ISA.
What really matters, and indeed all that matters, is how fast teh chip runs the apps you want it to run. If it's the fastest for the money, then it's probably the best choice.
Would never run MPE or MPE/iX!
Tracy Johnson
Old fashioned text games hosted below:
http://empire.openmpe.com/
BT
You'll see that most of these guys can be found elsewhere on the Web. A fair number of them seem to have a reasonably solid reputation, and also seem to have backgrounds that fit their current roles. Obviously, this doesn't settle the question of whether QuickTransit is vaporware in the least, but you have to wonder: Most of these guys have at least decent reputations in their old circles, it seems. Why would they go and trash those by making ridiculous claims about complete vaporware? I don't know that it's all it's cracked up to be, but I'd guess that at least Transitive's Board of Directors has a lot of faith in it. Which, of course, means absolutely nothing... I'd also point out that when you poke around the Web, you'll see evidence that some of these folks have been working on exactly this problem for a while... Like, since the mid-90s, if I understand everything I saw correctly. Just something to chew on.
"Oh, I like geeks way better than I like humans." - Mari Sarris
If my (brain) memory serves... Turing Machines can emulate other Turing Machines (search for theorems on your favorite CS book), the only problems are (ram) memory and speed.
A well adjusted person is one who makes the same mistake twice without getting nervous.
Just because the ship date isn't vapor, that doesn't mean the features work as advertised.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Though it doesn't appear to be a universal solution, it may bolster the PPC Linux effort by allowing it to run software compiled for the x86 platform.
While doing some background checking I found an interview from 2003.
Because you can securely transmit the OTP whenever you want. Then you can send the message later, when you have interesting information, even if the previously secure channel is no longer available.
Ideally, if you're going to actually use OTPs seriously, you give the recipient a big stack of them, keep a copy for yourself, and then go through them together in sequence.
This could allow you to correspond securely with someone for years (depending on the frequency of the messages and the number of OTPs you shared) if you can just hand off the OTPs at some opportune moment beforehand.
Not sure if somebody said this already, but it would be pretty remarkable to be able to run x86 code on an Itanium system. Even with a performance ratio of 80% as promised on the company webpage for some undisclosed translation...
AFAIK all implementations so far have been mere fractions of these kinds of speeds, and Intel has certainly been trying.
Still I would be willing to bet actual numbers in this kind of emulation will be far from advertised and this even when accounting for the fact that you have a native winXP for both platforms with identical apis.
Geesh - anyone ever heard of p-code, perl, python, ruby all use "emulators" that allow once write run many applications. Why do we keep rediscovering the wheel?