It's a multicore world. Intel, Advanced Micro Devices and other chip makers have moved from single- to dual- to quad-core processors over the past decade, and there are plans to pack as many as 80 cores into a single chip.
There are obvious advantages in terms of processing power. That's why the Holland Computing Center at the University of Nebraska is upgrading a 1,151-server supercomputer from dual- to quad-core AMD chips. "We can double the amount of compute cycles we provide to researchers," says Jim Skirvin, president of the center.
Going forward, however, users may face problems with software licensing and will have to figure out which applications are best suited for multicore processors.
Software vendors are accustomed to charging customers a license fee for each server or processor an application is installed on. This model was upset when chip makers started creating processors with multiple cores, and vendors still have not settled on a good solution, analysts say.
"It's still a serious pain in the butt for just about everybody," says Forrester analyst James Staten. "There's been no consensus among the [independent software vendors]. There have been attempts by vendors to find ways to evaluate these platforms. Nothing has stuck."
IBM started charging on the basis of "processor value units" in 2006, a measurement of processor performance. Microsoft has been more vocal than any vendor, Staten says, insisting on a per-socket pricing model because it's easy to calculate and the number of sockets in a system won't change as dramatically as the number of cores.
"A lot of ISVs don't like this model because they believe it leaves a lot of money on the table," Staten says. "Making things more complicated is virtualization," he adds, noting that this technology allows users to create multiple virtual servers on a single core.
Staten hopes such vendors as IBM, Microsoft and Oracle join to create a standards body that can implement a uniform pricing model. Until then, customers should not be shy of telling vendors what they want.
"Advocate for single licensing for multicore processors," advises analyst William Terrill of Info-Tech Research in a paper on multicore servers issued last year. "Where possible, the licensing for these applications should allow one license for any number of cores within a processor chip. . . . While some vendors will resist, selecting alternatives that do offer more cost-effective terms will eventually move the market."
Another key is to negotiate enterprisewide licenses to make all that per-core, per-server messiness go away. "[Vendors] never gain when they have licensing policies that customers don't like," Staten says. "You have to start screaming at these vendors about what you want and how you want it to be counted."
Finding apps that fit
When considering what applications are best able to take advantage of multicore processors, think multithread: applications that have multiple threads and processes that can run simultaneously by using more than one core. Performance-sensitive "heat-seeker" applications used by people in high-performance computing, financial services, or the oil and gas discovery industry "could probably consume every core we give them today and then some," says Shannon Poulin, director of Intel Xeon marketing.
Mainstream applications like SAP's and databases and Web-based programs are also well suited to multicore, Poulin says. Single-threaded programs, such as most audio applications, are better off fully utilizing just one CPU core, one tester found last year.
Because a single-core system is generally faster than the individual cores within a multicore processor, a single-threaded application that's tied to processor clock-speed would slow down on a multicore system, according to David Simmons, Sun's senior director of x64 volume server and workstations.
But industrywide, "the software is a little behind right now," Forrester's Staten says. "There are some applications that can take advantage of an eight-core system right out of the gate, but the majority of them cannot."
Large businesses and research centers aren't necessarily going to scrap a single-threaded application that works well, particularly if it's mission-critical and would be hard to replace. Mike Lang, a technical staff member at the Los Alamos National Laboratory in New Mexico, says the lab is deploying more than 2,300 quad-core AMD Barcelona processors this year for capacity computing, scientific applications and simulations.
Los Alamos, however, isn't going to rewrite the numerous custom applications it uses, including one that has about 100,000 lines of code. "The applications are big enough that it's cheaper to buy the right computer than to rewrite the applications," Lang says.
Eight-core on the horizon
Over the long term, more and more cores will be the trend, because the laws of physics make it difficult to build faster cores in an energy-efficient manner, notes Scott Handy, vice president of marketing and strategy for IBM's Power Systems Platform. Speeding up processors raises the heat level.
The next generations of Intel and AMD chips probably will have eight cores apiece. AMD's eight-core project, code-named Montreal, is on course for a 2009 release, says Kevin Knox, vice president of AMD's commercial business.
Intel's next generation, to be released in the second half of this year, will have "four or more cores," Intel's Poulin says. The next logical options would be either six or eight cores per socket, he says. Another possible next step, he adds, is to release quad-core processors with hyper-threading -- an Intel-proprietary technology that duplicates certain sections of a processor, allowing it to act like two processors.
Sun, which offers an eight-core chip called Niagara, plans to release a 16-core chip the second half of this year.
Intel demonstrated an 80-core machine at the beginning of 2006, but that won't be released in the near future. For one thing, most software isn't multi-threaded enough to handle more than the quad-core processors already on the market, Poulin notes. "What we're trying to do is go slowly so we can keep the software community in tune with the development of the CPUs we're producing and the number of cores we're putting in there," he says. "You're starting to see virtualization and other workflows driving up the number of cores that can be practically used."
Meanwhile, enterprises can still buy single-core servers -- but maybe not for long. Fewer than 10% of Intel's shipments are single core, Poulin says. The majority is quad core, and the rest are dual.
"We aren't currently developing any more single-core variants," Poulin says. "We are developing CPUs that have the flexibility to operate in four-core mode but also dual- and single-core modes. All of our CPUs have been backward-compatible in that way."
There is still a place for single-core processors, Handy argues. But that comes with a caveat: IBM's "single core" Power6 microprocessor is really a dual-core in which only one core has been activated. "Our cores are so fast that some customers don't need more than one," he says.
Single-core will continue "to be very popular in small and medium businesses," Handy says. "They'll put their test, production and development on the same core [using server virtualization]."
No need to restrict virtualization to one core, however. Vendors see multicore processors as a key enabler of virtualization, and say enterprises that use server virtualization may be better able to take advantage of every core. "We've added instructions at the processor level to help speed up virtualization," AMD's Knox says.
"You can have multiple virtual machines per core," Sun's Simmons says. "It gives you the compute capacity to handle more virtual machines in a smaller footprint."
This story, "The Trouble With Multicore Processors" was originally published by Network World.