|
10.01.2007
The present and future of personal computing is multicore.
On the desktop, it began with technologies like HyperThreading and dual-socket motherboards with Pentium® processors.. Now dual-core systems have gone mainstream, and quad-core is the hot new thing. Available today, the quad-core Intel® Core™ 2 Extreme Processor QX6700 is the performance champion for media encoding and 3D rendering. It’s also at the heart of great gaming platforms, and as game engines become more threaded, this CPU has room to grow.
For hardcore enthusiasts, the word “enough” usually isn’t in their vocabulary. And if you crave even more compute power, then four cores is a beginning, but eight cores is the destination. There’s been some talk about “eight-core ready,” where some quad-core platforms can be upgraded to eight-core in the future. Why wait? If it’s eight cores you want, here’s a system you can build….TODAY.
We’ve nicknamed our eight-core rig “the V8,” since it has eight computing engines. But before we get into its speeds and feeds, let’s cover how eight cores can change your computing life, and how applications can and will take advantage of them.
Why Eight Cores?
When it comes to scaling performance, the name says it all: multicore. It can mean two, four or more cores. The path to more performance used to be deeper pipelines with cranked up clock rates, but the model now is to go wider with more cores. Each of these cores has better per-clock efficiency (instructions per clock, or IPC), so lower clock rates actually can yield better performance.
Multicore gives a multiprocessor (MP)-aware OS like Windows XP or Linux more cores to work with, where the OS’ scheduler can divide up work to be done by different applications across the cores. This makes your system feel more responsive, even when many tasks are in flight. This experience scales with additional cores, where you can have even more tasks being executed, and still maintain the system’s responsive feel.
Many applications are already multi-threaded, meaning the work the application does gets divided up into smaller pieces, and can be executed on different cores, and then reassembled. Some applications are written to have a specific number of threads, while others use an “n-number of threads” approach, where the application spawns as many threads as there are cores. So, a dual-core system would have two threads in flight, whereas a quad-core system would have four threads being worked on. An n-threaded app could put eight threads in flight simultaneously on this eight-core beast we're showing you here.
Multicore, Today and Tomorrow
Multicore today is found in applications like these:
Media Encoding: DivX*, Windows* Media Encoder with Advanced Profile, and some versions of the LAME* MP3 encoder are threaded, and show very impressive scaling. It’s worth noting that in our labs we’ve seen some media encoder performance scale 80-100% when going from a four-core to an eight-core system (see The Legal Stuff for system details about the quad-core system used for comparison). This kind of scaling indicates that even with an eight-core system like the one we’re showing you here, the front-side bus (FSB) is not the bottleneck. If it were, efficient scaling like this might not be possible.
3D Rendering: 3D graphics has always been an inherently parallelizable challenge, and multicore systems can dramatically accelerate the rendering of complex 3D images. Packages like Cinema* 4D, Lightwave*, 3DSmax implemented threading, and realized considerable performance scaling on multicore systems. The open-source 3D ray-tracer POV-Ray* supports n-number of threads, and because 3D graphics is an inherently parallelizable workload, it also scales very well when more cores are present in a system.
Distributed Computing Engines: Distributed computing takes very large workloads and breaks them up into small “work-units” that are then distributed across a network of computers. Each computer works on a single work-unit at a time, and when it completes, the computer sends this work-unit back to the main server that aggregates these work units back into a larger whole. You can think of it as a kind of mosaic design where each work-unit represents a single tile. You can also see that this is a kind of multicore computing model. Some of these engines use what could be considered a “layered” multicore model where the engine puts millions of CPUs to work on different projects, and because the compute engine running on the client system is threaded, those individual computers can get their work units completed much faster if they have multicore CPUs.
One such example is the Berkeley Open Infrastructure for Network Computing (BOINC) initiative, which sees powerful scaling when run on multicore systems. The BOINC engine powers projects like Rosetta@Home, which determines 3-dimensional shapes of proteins in research that may ultimately lead to finding cures for some major human diseases. Take a look at Rosetta@Home’s leader board. As of January 10, 2007, Intel-based platforms owned the top 14 spots for performance.
BOINC also powers SETI@Home, the search for extraterrestrial intelligence. Another example is a project, called SMPOV, that enables the POV-Ray 3D renderer to do distributed rendering using networked computers. The Stanford Folding@Home engine is yet another distributed computing engine, and it endeavors to understand protein folding, misfolding, and related diseases.
Games: Here the party is just getting started. Some of your favorite games already take advantage of multicore technology, including Quake* 4, Splinter Cell* Double Agent, Call of Duty* 2, Supreme Commander* and Age of Empires* III. Much of the first-generation threading in game engines accelerates physics and artificial intelligence (AI) game code. Most game engines are written as a large serial event loop, and while physics and AI have seen the early benefit, upcoming engines like the Source* Engine (Half-Life* 2 Episode 2) Unreal* Engine 3.0 (Unreal* Tournament 2007), CryENGINE* 2 (Crysis*) will take greater advantage of multicore systems to deepen your gaming experiences.
Multicore platforms also open up possibilities, where you can have demanding background workloads in flight like video encoding, and still have a great gaming experience. MMORPG games are good candidates where you can have your game cruising along smoothly on one display, while doing a number of other tasks that show up on your other display. And all of them run smoothly.
Home Theater PC and the Digital Home: Home Theater PCs (HTPCs) are primarily video-focused systems (playback, recording, transcoding, streaming), and video encoders are already threaded and can scale performance smartly on multicore platforms. The migration toward high-definition video will increase the system demands that video tasks place upon HTPCs, and multicore is key to seamlessly handling those workloads. Mulitcore allows an HTPC to simultaneously record several TV shows, recompress others to save disk space, stream content out onto your home LAN, and let you play a game. Sound cool? Yeah, we thought so too.
Intel® Virtualization Technology (Intel® VT) will even allow you to host multiple operating systems, where each OS can be allocated either a single core, or several cores. So if you like to use several Linux distributions as well as Windows*, multicore systems mean you don’t have to choose between them. Just run them all.
The Ingredients
Now that you’ve seen the ways multicore is reshaping computing today, and will continue to drive it forward into the future, let ‘s get down to actually building this eight-core beast.
Here are the system specs for the system. The approximate bill-of-material cost (at time of this writing) of this box is $4,500 (without display).
CPUs: Dual Quad-Core Intel® Xeon® processor X5355 CPUs running at 2.66GHz
Motherboard: Intel® Workstation Board S5000XVN motherboard, with the Intel® Chipset 5000X
System RAM: 2GB (4x512MB) of FB-DIMM DDR2-667 RAM, giving 21GB/sec of read bandwidth, and 10.7GB/sec of write bandwidth
Graphics Card: nVidia* 8800 graphic card.
Storage: 1.3-terabyte RAID array, five disks (RAID 0) (7,200RPM Maxtor* DiamondMax* 6L30050 SATA drives)
Optical Drive: TDK* 420N DVD burner
Case: CoolerMaster* CMStacker* 830 case
Power Supply: Enermax* Galaxy DGA1000EWL
OS: Windows* XP Professional with SP2, DirectX 9.0c
One interesting thing to note about this rig is its memory configuration. The Intel® Workstation Board S5000XVN motherboard is dual-socket, and the Intel® Chipset 5000X implements dual frontside buses that effectively create a pair of dual-channel memory banks that are interleaved to produce a single logical pool of memory for the CPUS and OS to use. The result is that the system has 21GB/sec of read bandwidth, and 10.7GB/sec of write bandwidth.
The Intel® Chipset 5000X’s Datasheet explains further:
The MCH provides four channels of Fully Buffered DIMM (FB-DIMM) memory. Each channel can support up to 4 Dual Ranked FB-DIMM DDR2 DIMMs....The MCH can support up to 16 DIMMs or a maximum memory size of 64GB physical memory... The read bandwidth for each FB-DIMM channel is 5.3GB/s for DDR2 667FB-DIMM memory which gives a total read bandwidth of 21 GB/s for four FB-DIMM channels. Thus, this provides 10.7 GB/s of write memory bandwidth for four FB-DIMM channels.
One downside to the Intel® Workstation Board S5000XVN motherboard is that it currently doesn’t support multiple graphics cards, so we equipped it with a single nVidia* 8800 graphic card. Though a single GPU, this card provides ample graphics performance, and for much of the compute-intensive workloads, a single top-end GPU is more than adequate to get the job done.
The Beast Captured in Pictures
Looks Simple Enough: Don’t let the serene exterior fool you. Within this box dwells an eight-core performance monster.
Turn Me On: Go ahead, push it. You know you want to…
Ready to Rock: Fired up and good to go. This rig can run a 3D game smoothly, and run eight instances of protein-folding calculations. Don’t try this at home…unless of course you have one of these.
The Beast Captured in Pictures
An Inside View: Here you can see the twin quad-core Xeons running with stock cooling fans.
Going Deep: A better view of “the twins” and the system guts.
Outside Looking In: This is the coolest shot of the bunch. It’s like looking under the hood of an exotic sports car. Try not to drool on your monitor. This also makes a great desktop wallpaper. If you want to make it yours, just click on the image to download a high-resolution version of this shot.
Got Questions?
This year and in the years to come, multicore platforms will rule the high-performance computing world. Multicore computing itself isn't really new, but this much horsepower on your desktop sure is, and it's going to enable a new crop of killer apps we haven't even imagined yet. Gets us giddy just thinking about it. What do think the killer apps for multicore are? Head over to our forums and do some crystal-ball gazing of your own.
If you have any questions about building an eight-core rig, or want to know more about implementation details (fans, cabling, fancy mood-lights, etc.) head over the forums and post what you want to know, and we'll get your questions answered.
The Legal Stuff
Performance tests and ratings are measured using specific systems and/or components and reflect approximate performance of Intel products as measured by those tests. Any difference in system hardware, software, or configuration may affect actual performance. Buyers should consult other sources of information to evaluate system or component performance they are considering purchasing. For information on performance tests and performance of Intel products, visit http://www.intel.com/performance/resources/limits.htm
System Configuration Used in Quad-Core System Performance Tests:
Processor: Intel® Core™2 Extreme Processor QX6700 (Quad-Core 2.66 GHz, 1066 MHz FSB, 8 MB of total L2 cache
Motherboard: Intel Desktop Board D975XBX2
Memory: 2 GB (2 x 1GB DIMMs) Micron* DDR2-800 (5-5-5-18)
Video Controller: eVGA* nVidia* Geforce* 7950 GX2
Operating System: Microsoft* Windows* XP Professional, Build 2600, SP 2 on NTFS, DirectX* 9.0c
*Other names and brands may be claimed as the property of others
|