Tuesday, February, 9th 2010
 
Print Page Print   Email to Friend Email   Bookmark Bookmark

In My Opinion

Multicore processors face uncertain future

By Patrick Madden, State University of New York

01/02/08

Researchers in the semiconductor industry are normally focused on technical problems, with the assumption that the “business part” of the industry will take care of itself. As Moore’s Law has marched forward, consumer demand for new products has fueled exponential growth. With the recent shift to multicore configurations for consumer microprocessors, however, there is a great deal to be concerned about. Unlike many in the field, I am extremely skeptical about the prospects for general purpose multicore processors.
 
It is important to keep the nature of the computer market in perspective. Almost 75% of the revenue for computers comes from laptop and desktop PCs. It’s easy to find good use for multiple cores in the server and supercomputer market, but this is only a fraction of the revenue that keeps the industry moving. If there is little consumer demand for the new processors, the growth cycle could stall, having wide repercussions.
 
An obvious and immediate barrier for the consumer market is the current lack of parallel software. To gain benefit from multiple processors cores, software must be fundamentally rewritten, and users will need to upgrade to new versions. Universities have been advocating parallel software development for decades, yet it has never taken root. There has also been abundant funding from a number of sources, but this too has been unable to spur adoption.
 
It’s not yet clear what sorts of consumer applications can use multicore processors, and scale well to large numbers of cores. The most obvious applications -- graphics and media processing -- are generally handled by special purpose chips. While video chip makers may thrive, this does not help the manufacturers of general purpose microprocessors.
 
Amdahl’s Law sets limits
 
Even if most software applications are rewritten to utilize parallel resources, there is a longer term challenge from Amdahl’s Law. Performance gains from parallel computation will be quickly “mined out,” in the same way that it is difficult to extract more instruction level parallelism.
 
In its simplest form, Amdahl’s Law considers an application program to have two components. One portion of the program, S, consists of the instructions that must be executed in a serial fashion. A second portion, P, can be executed in parallel. For simplicity, assume S+P = 1.0. The time taken to complete program execution with n processors is the time for S, plus the time for P divided by n. The effective speedup relative to a single processor is 1.0/(S + (P/n)). The Law is quite simple, but surprisingly accurate.
 
For example, if P=0.75 and S=0.25, one can obtain a healthy 60% speedup by switching from one processor to two. The expected speedup is 1.0/(0.25 + (0.75/2)), or about 1.6. To obtain this performance increase, the application program must be written explicitly to take advantage of parallel hardware.
 
As the number of cores grows, one sees rapidly diminishing returns. When switching from two cores to four, the speedup becomes 1.0/(0.25 + (0.75/4)), or about 2.29. While still an impressive speedup, it is only about 43% faster than the two-core version. Scaling to eight, sixteen, thirty-two, and sixty-four cores gives gains of 27%, 16%, 9%, and 4% respectively. It should be obvious that as the number of cores scales towards infinity, the maximum speedup that can be obtained is 1.0/S. In practice, one might expect P values around 0.6, making the returns of parallelism even smaller.
 
Early reports on dual core ICs are not encouraging. An average consumer might be able to use four or perhaps even eight processors, which we will likely reach before 2010. Well before we reach the thousand-core level, however, performance gains become almost undetectable. In some sense, switching from clock frequency scaling to core scaling is a shift from “compound interest” to a “one-time pay out.” With 20% gains in performance for each technology generation, it made sense to continue investing in faster clocks. Parallelism offers a significant initial performance bump, but returns quickly decrease. How long should we invest in such a strategy?
 
History isn't encouraging
 
This generation is far from the first to pursue parallel computation. The engineers, scientists, and investors at Alliant, Atari, CDC, Convex, Enumera, HPC, Inmos Transputer, Kendall Square Research, Maspar, Meiko, Parsytec, Sequent, Solbourne, and Thinking Machines were all confident. All of these companies, and many others, failed. Small scale parallel machines have been available to consumers for many years, but have remained a small market. Computer pioneer Gene Amdahl recently commented in a videotaped presentation that "If you're an individual, you won't want multicore." David Patterson, computer scientist at the University of California at Berkeley, refers to the switch to parallel computing as a "Hail Mary." Stanford University president John Hennessy has said that if he was in industry, he would be panicked.
 
From a business perspective, it’s difficult to understand the enthusiasm for multicore. Parallel computing has only done well in very small niches. It is very easy, and perhaps comforting, to imagine a world where many customers are interested in applications where P is close to 1, and that these applications will be discovered in the nick of time. Imagination alone, however, does not pay the bills.
 
To avoid repeating history, we must consider a few questions very carefully. First, one must ask what does the customer want to do? If the application does not have P close to 1, it is certain that performance will reach a limit, and quickly. Any miraculous new application that would be enhanced with more cores can be simulated easily today. If it can't be simulated, it's unlikely to magically appear in the future. Further, one should ask how many customers are there for a given application, and how much will they pay? These are questions that many of our predecessors either never asked, or got wrong.
 
No alternatives to multicore?
 
Unfortunately, if we are to continue performance increases, there seems to be no alternative to multicore. Given my overall skepticism, it might be surprising that my main research focus is on developing massively parallel software for general purpose optimization, and that my students spend much of their time with OpenMP, MPI (Message Passing Interface), and Intel’s TBB (Threaded Building Blocks). I would liken this effort to that of researchers studying cancer -- searching for a cure is a worthwhile goal, but it would be foolish to believe that there will be an easy short-term solution. Simply put, there is no other choice. My hope is that scalable algorithms and tools can be developed, having use in a wide range of areas; there is no guarantee that this will happen.
 
The semiconductor industry faces a difficult challenge. We have the ability to manufacture more transistors, but few ways of making them truly useful to a large market. If compelling applications for the consumer market can be created, Moore’s Law can continue. If not, we are all in for some very interesting times.
 
Patrick Madden is associate professor of computer science at the State University of New York (SUNY) in Binghamton.
 
Related article
ICCAD debate: Multicore disaster or opportunity?

Add Comment Add Comment - please log-in to comment

SCDsource newsletter subscribers may post a comment - Register for free!

Back to Home Page