Windows emulated faster than the real thing.

SirDaShadow

New member
Ok, while I was playing with qemu (PC emulator) I think I saw the light, so bear with me, I'm not too versed on this subject but something just hit me pretty hard.

Basically, imagine if QEMU or any other pc emulator/virtualizer or whatever would take advantage of multi-core processing. You would run a uni-processor OS on the Virtual Machine, but the emulator will try to run it as fast as possible.

Theorical result...you could run the OS like Windows FASTER THAN NATIVE due to the fact that 99.999999999999% of OS apps are not written to take advantage of multicore....but running those into an emulator, they wouldn't care they would just "run as fast as the underlying 'hardware'".

Thoughts, ideas?

<P ID="signature"></P>
 

hcs

Active member
But then you get the fundamental question: how to parallelize a uni-processor emulated machine?
Sure, you can put hardware emulation and stuff in another thread and share that among your multi-core, but to get multiple processes of out one CPU is no less difficult than getting multiple processes out of one process (i.e. run a single threaded program on a dual core CPU and see it never take up more than 50% CPU capacity).

Upon further thought this sort of parallelism is what modern CPUs take advantage of all the time. If qemu did something like that, modelling a CPU as multiple processing streams... it'd be tricky, but not nearly undoable. I wonder if this could be done efficiently enough that the dependencies between the streams wouldn't render it a waste of time.<P ID="edit"><FONT class="small">Edited by hcs on 08/04/06 01:52 PM.</FONT></P>
 
Top Bottom