Ever since Intel released the Pentium D—and, later, the Core 2 Duo—the multi-core processor has gone from exotic to everyday. Most desktop PCs can now ship with some variety of two-core Intel processor, and Intel's new Core 2 Quad packs four CPU cores onto a single die. AMD is moving in the same direction, although its efforts in this department haven't been quite as widely lauded.
But one question still plagues many IT folks: Are the extra cores worth the extra money? As of this moment, the newest quad-core processors cost north of $1,000—and while prices on multi-core processors are sure to come down, they're going to remain at a premium for a long time to come. So if you're budgeting out for new systems, you want to have some idea of whether two (or four, or more) cores are worth the extra bucks.
The primary factor to consider is what the hardware is going to be used for, i.e., the application load and the user base. Multi-core systems thrive most when they're fed highly multithreaded, parallelized applications—programs that can split their workload off among multiple CPUs. Such applications include:
- Servers or Web-based applications. A site that services hundreds of users at once typically processes each user's workload in a separate thread whenever possible. So anything that works as a server will almost certainly benefit from being multi-core. (Servers are drifting towards being multi-core by default.)
- Databases. This encompasses everything from desktop programs such as Access or FileMaker Pro to SQL Server, Sybase and MySQL. All of them work better when they have more CPUs to run on.
- Distributed computing. Programs that use idle CPU time to do work (such as Folding@Home) make efficient use of multiple cores.
- Multimedia. This includes video editing suites, audio workstations, Photoshop, 3D rendering, CAD and Flash. Most multimedia programs run in a highly parallel, multithreaded fashion. However, there are a few exceptions—some kinds of video encoding (e.g., QuickTime) that aren't as heavily optimized for multithreading and can't always be.
In short, it's the applications that make the difference. Applications that only run in a single thread, or that can only be moderately parallelized, won't show much improvement on a multi-core system. Examples of such applications include word processing, Web browsing and reading static content (i.e., Adobe Acrobat or Word documents).
The application load, then, should be one of the main factors in determining if you really need two or more cores, or if one core will do. One exception would be if you're replacing an older single-core machine that runs significantly slower than the current baseline of hardware. If there's no real difference in cost between a dual-core system and its single-core counterpart, by all means go for the dual-core system. There will be no real disadvantage.
Of course, the operating system is a factor too. Windows XP and Windows Server 2003 both recognize and work with multiple-core processors; the main restrictions for these OSes are not the number of cores, but the number of physical sockets in the system. Windows XP Home has a limit of one physical socket; XP Professional's limit is two. Windows Server starts at two sockets and scales up, depending on which edition you buy. But all should be able to recognize multiple cores natively.
About the author: Serdar Yegulalp is editor of the Windows Power Users Newsletter, which is devoted to hints, tips, tricks, news and goodies for Windows NT, Windows 2000 and Windows XP users and administrators. He has more than 10 years of Windows experience under his belt, and contributes regularly to SearchWinComputing.com and SearchSQLServer.com.
More information on this topic: