The basic building block of Bulldozer is the dual-core module, pictured below. AMD wanted better performance than simple SMT (ala Hyper Threading) would allow but without resorting to full duplication of resources we get in a traditional dual core CPU. The result is a duplication of integer execution resources and L1 caches, but a sharing of the front end and FPU. AMD still refers to this module as being dual-core, although it's a departure from the more traditional definition of the word. In the early days of multi-core x86 processors, dual-core designs were simply two single core processors stuck on the same package. Today we still see simple duplication of identical cores in a single processor, but moving forward it's likely that we'll see more heterogenous multi-core systems. AMD's Bulldozer architecture may be unusual, but it challenges the conventional definition of a core in a way that we're probably going to face one way or another in the not too distant future.

A four-module, eight-core Bulldozer
The bigger issue with Bulldozer isn't one of core semantics, but rather how threads get scheduled on those cores. Ideally, threads with shared data sets would get scheduled on the same module, while threads that share no data would be scheduled on separate modules. The former allows more efficient use of a module's L2 cache, while the latter guarantees each thread has access to all of a module's resources when there's no tangible benefit to sharing.
This ideal scenario isn't how threads are scheduled on Bulldozer today. Instead of intelligent core/module scheduling based on the memory addresses touched by a thread, Windows 7 currently just schedules threads on Bulldozer in order. Starting from core 0 and going up to core 7 in an eight-core FX-8150, Windows 7 will schedule two threads on the first module, then move to the next module, etc… If the threads happen to be working on the same data, then Windows 7's scheduling approach makes sense. If the threads scheduled are working on different data sets however, Windows 7's current treatment of Bulldozer is suboptimal.
AMD and Microsoft have been working on a patch to Windows 7 that improves scheduling behavior on Bulldozer. The result are two hotfixes that should both be installed on Bulldozer systems. Read on for our take on what these hotfixes do to Bulldozer's Windows 7 performance.
Facebook had 22 Million active users in the middle of 2007; fast forward to 2011 and the site now has 800 Million active users, with 400 million of them logging in every day. Facebook has grown exponentially, to say the least! To cope with this kind of exceptional growth and at the same time offer a reliable and cost effective service requires out of the box thinking. Through a combination of software optimizations and a careful selection of hardware, Facebook set out to create a platform that would meet their needs, and then they open sourced the design to the world.
The Facebook Open Compute server design was ambitious: “The result is a data center full of vanity free servers that is 38% more efficient and 24% less expensive to build and run than other state-of-the-art data centers.” Even better is that Facebook Engineering sent a couple Open Compute servers to our lab for testing:

As a competing solution we have an HP DL380 G7 in the lab. Recall from our last server clash that the HP DL380 G7 was one of the most power efficient servers of 2010. Is a server "targeted at the cloud" and designed by Facebook engineering able to beat one of the best and most popular general purpose servers? That is the question we'll answer in this article.
AMD has been trailing Intel in the x86 performance space for years now. Ever since the introduction of the first Core 2 processors in 2006, AMD hasn't been able to recover and return to the heyday of the Athlon 64 and Athlon 64 X2. Instead the company has remained relevant by driving costs down and competing largely in the sub-0 microprocessor space. AMD's ability to hold on was largely due to its more-cores-for-less strategy. Thanks to aggressive pricing on its triple and hexa-core parts, for users who needed tons of cores, AMD has been delivering a lot of value over the past couple of years.
Recently however Intel has been able to drive its per-core performance up with Sandy Bridge, where it's becoming increasingly difficult to recommend AMD alternatives with higher core counts. The heavily threaded desktop niche is tough to sell to, particularly when you force users to take a significant hit on single threaded performance in order to achieve value there. For a while now AMD has needed a brand new architecture, something that could lead to dominance in heavily threaded workloads while addressing its deficiencies in lightly threaded consumer workloads. After much waiting, we get that new architecture today. Bulldozer is here.

Read on for our full review!