Without further ado, here's what happened when we ran our test apps with the default Windows 7 scheduler threading—i.e., with no awareness of modules or sharing—and with our two different affinity masks.
These results couldn't be much more definitive. In every case but one, distributing the threads one per module, and thus avoiding sharing, produces roughly 10-20% higher performance than packing the threads together on two modules. (And that one case, the FDom function in picCOLOR, shows little difference between the three affinity options.) At least for this handful of workloads, the benefits of avoiding resource sharing between two cores on a module are pretty tangible. Even though the packed config enables a higher Turbo Core frequency of 4.2GHz, the shared config is faster.
Our test apps, obviously, are not your typical desktop applications, and they may not be a perfect indicator of what to expect elsewhere. However, since many games and other apps are lightly threaded, with three or four threads handling the bulk of the work, we wouldn't be surprised if one-per-module thread affinities were generally a win on Bulldozer-based processors.
Naturally, some folks who have been disappointed with Bulldozer performance to date may find solace in this outcome. With proper scheduling, as may come in Windows 8, future AMD processors derived from this architecture may be able to perform more competitively. Unfortunately, Windows 8 probably won't ship during the model run of the current FX processors.
At the same time, these results take some of the air out of AMD's rhetoric about the pitfalls of Intel's Hyper-threading scheme. The truth is that both major x86 CPU makers now offer flagship desktop CPU architectures with a measure of resource sharing between threads, and proper scheduling is needed in order to extract the best performance from them both. (This situation mirrors what's happened in 2P servers in recent years, where applictions must be NUMA-aware on current x86 systems in order to achieve optimal throughput.) A gain of up to 20% on a CPU this quick is certainly worthy of note.
Trouble is, right now, Intel has much better OS and application support for Hyper-Threading than AMD does for Bulldozer. In fact, we're a little surprised AMD hasn't attempted to piggyback on Intel's Hyper-Threading infrastructure by making Bulldozer processors present themselves to the OS as four physical cores with eight logical threads. One would think that might be a nice BIOS menu option, at least. (Hmm. Mobo makers, are you listening?)
At any rate, application developers who want to make the most of Bulldozer are free to affinitize threads in upcoming revisions of their software packages anytime. If AMD can persuade some key developers to help out, it's possible the next round of desktop applications could benefit very soon.
106 comments — Last by format_C at 11:59 AM on 12/15/11
|1. GKey13 - $650||2. JohnC - $600||3. davidbowser - $501|
|4. cmpxchg - $500||5. DeadOfKnight - $400||6. danny e. - $375|
|7. the - $360||8. rbattle - $350||9. codinghorror - $326|
|10. Ryu Connor - $325|
|Android on x86: A quick look at Asus' Memo Pad ME176C tabletA 7" Bay Trail quad for $149||50|
|Core i7-4790K 'Devil's Canyon' overclocking revisitedCan a retail chip and a fancy MSI MPower mobo go further?||51|
|Overclocking Intel's Pentium G3258 'Anniversary Edition' processorLudicrous speed on the cheap||206|
|Juno dev platform lays foundation for 64-bit Android on ARMBootstrapping a massive transition||34|
|Overclocking the Core i7-4790KCan Devil's Canyon deliver?||135|
|A first look at AMD's Kaveri APU for notebooksKaveri goes mobile||61|
|ARM lays the foundation for a data center invasionPartners line up to help make it happen||49|
|AMD reveals K12: New ARM and x86 cores are comingAlready deep into development||115|
|Silent Power PC is cooled by copper foam||23|
|ARM-based Opteron now available in $2,999 developer kit||15|
|Best Buy CEO: Tablets 'crashing,' PC seeing 'revival'||99|
|Core i5 powers bizarro Android convertible||20|
|EA to charge $4.99/month for access to its biggest games||56|
|Gigabyte's Brix Gaming BXi5G-760 mini-PC reviewed||49|
|Orange you glad Asus made a mechanical gaming keyboard||42|
|New GeForce drivers add Shield tablet support, SLI profiles||8|