Maximizing Multicore Servers
In the perennial push for greater speed and more robust functionality, multicore servers have been promoted as the solution for the future. But despite their obvious benefits in cost-effective and faster parallel processing, there are significant trade-offs. Chief among these are pushback from application developers, skill transfer, memory limitations, provisioning and governance. How can IT managers best harness the gain in speed with minimum risk?
Same Song, New Verse
"Multicore has been on the hype cycle recently, but it is not a new technology. Larger server systems, such as many RISC-based systems running UNIX, have had multicore for several years," says Austin, Texas-based David Stirling, lead systems engineer at The Home Depot. "What we are seeing now is a lot of hype, with Intel and AMD on the bandwagon marketing to consumers."
One cause of confusion is the lack of a standard to describe relative performance. "There are some segments of the market that still believe clock rate [in GHz] is the only meaningful information by which processor performance can be gauged," says Doug Rollins, Director of Research and Development, MPC Computers (Gateway) in Nampa, Idaho. "However, with multicore -- in particular, quad core -- processors, this simply isn't true."
Intel and AMD think "CPU numbers" provide a more valid assessment of processor performance. For example, despite the slower clock rate of a current Xeon 5300 quad core series processor, it may outperform a current Xeon 5100 dual core series one under certain workloads. Furthermore, the extra performance can also translate to lower power consumption. (article continues)
Serial or Parallel Universe?
The market hasn't yet completely made the transition from clock speed to CPU numbers, leaving IT managers confused about how to assess performance. But in the end, the workload that is being processed, not the numbers, that should determine whether you choose a serial or parallel configuration.
"If a set of processing can only be done serially, then having multiple cores does not help," says Chicago, Ill.-based Carl Franklin, Solution Architect for Triton-Tek. "If work can be done in parallel and the application or service can delegate its work in parallel, then multicores give a better work per space and work per watt advantage."
Keep in mind, however, that while multicores technically pack more processing power in the same heat footprint, i.e., more processing power per BTU of heat, not all that processing power is accessible. "Certainly [multicores do] not double the effective processing power, as some marketing folks claim," says Stirling. "This is because much of the operating system and application code today is not designed to take full advantage of the additional cores. This is especially true of multicore desktop/laptop systems, but it applies to some server applications as well."
"The key best practice is to size the processor to the workload. With the advent of dual socket designs (like the MPC NetFRAME 1640, 1740 and 2740), one has a wide choice in CPU selection, both in terms of type, speed and quantity," says Rollins. "Not 'over buying' is as important as not 'under buying' -- and processor numbers can help with this choice." (article continues)
Besting the Beast
To maximize the power of multicore server deployments, Jay Bretzmann, Manager of Product Marketing at IBM Systems in Research Triangle Park, N.C., offers the following advice:
- Break up performance bottlenecks Look for an architecture that can maintain a balance in system resources to avoid performance bottlenecks. IBM's Enterprise X-Architecture offers customers the ability to independently scale processors, memory and I/O resources which helps it adapt to scalable software workloads like database processing, enterprise applications (SAP, Oracle, etc.) and server consolidation. IBM's x3650 2P server also offers more memory capacity than other vendors.
- Go virtual when necessary When application software doesn't support more than four concurrent threads of execution, adopt server virtualization technology in production environments in order to harness the power of the cores.
- Consolidate databases Use software like Microsoft SQL Server 2005 offering database consolidation features to host multiple smaller, underutilized databases on one larger server and one SQL Server license.
- Synchronize the software To ensure peak performance, determine that basic operating system and application software are written to take advantage of the multiple cores.
The bottom line: Multicore server deployments can pack a wallop in attacking some of the more bedeviling enterprise tasks, but how much of a wallop depends on how well you aim the punch. "You will definitely see improvement by deploying multicore chips as opposed to the previous generation single core chips," says Stirling. "But, as in any capacity management exercise, you should map your load to the actual performance of your application on the processors in question, not the marketing hype."