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.
Licensing headaches
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.
Applications already optimized for the multicore world include Windows Server 2003, Sun Solaris 10 OS, Red Hat Enterprise Linux, and HP's Unix operating system, according to Info-Tech's Terrill.
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."