Magic platinum bullet.
Jun. 26th, 2008 01:14 pmHere is the trick:
Let's imagine a Intel P5 emulator running on Nehalem. Let's assume the emulation overhead is 80%, and there is some way to parallelize the emulator with overall performance hit of 40% due to scalability issues. Both numbers are good but not uncommon for apps of that size. This leads us to 0.2*16*0.6=1.92 or 92% speedup. And what if the emulator is running a legacy single-threaded application with no source code that we need to run as fast as we can? (This happens in reality, I've seen quite a few examples)
This approach if implemented could work even better on future many-core processors.
I've called this "platinum bullet" because "silver bullet" is reserved and the industry will need a way to automatically parallelize applications as much as to grow programmer's performance.
Unfortunately there are 2 major flaws in this description and one minor one that I've made deliberately to simplify things. Those are for readers to find :)
Let's imagine a Intel P5 emulator running on Nehalem. Let's assume the emulation overhead is 80%, and there is some way to parallelize the emulator with overall performance hit of 40% due to scalability issues. Both numbers are good but not uncommon for apps of that size. This leads us to 0.2*16*0.6=1.92 or 92% speedup. And what if the emulator is running a legacy single-threaded application with no source code that we need to run as fast as we can? (This happens in reality, I've seen quite a few examples)
This approach if implemented could work even better on future many-core processors.
I've called this "platinum bullet" because "silver bullet" is reserved and the industry will need a way to automatically parallelize applications as much as to grow programmer's performance.
Unfortunately there are 2 major flaws in this description and one minor one that I've made deliberately to simplify things. Those are for readers to find :)