The Leading Source for Global News and Information Covering the Ecosystem of High Productivity Computing
From the Editor | Main Blog Index
December 11, 2008
Between Intel, Microsoft and a host of smaller firms, there's been some hopeful progress on software for multicore processors. But even if we manage to develop multicore-smart apps, we have to remind ourselves that the memory wall looms ahead. Despite the stall in CPU clock speeds, the proliferation of cores is continuing to widen the gap between microprocessor performance and memory performance.
The problem is not new, certainly not to old-time techies. The classic missive on the memory wall (PDF) was written in 1994 by researchers Wulf and McKee at the University of Virginia. They concluded that we were headed for disaster in the near future -- in 10 years or so. Fortunately, they didn't take into account that cache memory would grow in both size (KB to MB) and sophistication (three levels, prefetching, etc.). Also, integrated memory controllers would become the norm, helping to improve DRAM access.
But the fundamental hardware realities remain. The bandwidth and latency of main memory (static DRAM) have not kept pace with CPU performance. Currently, processor caches provide access to data with latencies of around one or two nanoseconds, while DRAM latencies are roughly 100 times as large. Bandwidth, likewise, is reduced as you move from cache to main memory. Eventually an application generates a cache miss and the processor stalls, twiddling its bits for a 100 cycles or more until the data is retrieved from (or sent to) main memory. Even an L3 cache access costs tens of processor cycles.
For HPC, the memory wall is bigger and closer than it is for other computing domains. Data-hungry, compute-intensive applications place big demands on the memory subsystem. A recent article in IEEE Spectrum spotlights a study at Sandia that simulated HPC application performance with increasing core counts:
With no other way to improve the performance of processors further, chip makers have staked their future on putting more and more processor cores on the same chip. Engineers at Sandia National Laboratories, in New Mexico, have simulated future high-performance computers containing the 8-core, 16-core, and 32-core microprocessors that chip makers say are the future of the industry. The results are distressing.
Indeed. In a graph that looks somewhat reminiscent of this year's NASDAQ stock chart, the Sandia simulation predicts that for certain types of HPC applications, performance rises modestly from two to four cores, and even more modestly from four to eight. But after eight cores, performance actually drops off, and goes into free-fall beyond 16 cores.
The implied knock on multicore seems somewhat misplaced. If the simulation were performed on a single-core processor with increasing clock speeds, presumably you would see the performance increase in a similar manner as you doubled and quadrupled the clock frequencies, with the memory bottleneck exerting its braking effect. At some point though, the performance would just level off as the CPU hits the memory wall.
Theoretically splitting up computation across multiple cores should help mitigate the memory wall effect since there's a decent chance that some cores will still be happily running in cache, while others are stuck waiting for data from main memory. But the Sandia study predicts decreasing performance above eight cores, so something analogous to Fred's Brooke's "Mythical Man-Month" must be going on. In that model, adding additional resources slows down the process, mainly because of additional overhead in communication. It's Moore's Law versus Brooke's Law, with the latter trumping the former.
The category of HPC applications that the Sandia engineers were studying is what they call "informatics" -- a catch-all they use to describe compute-intensive codes that are searching for patterns in very large databases. Applications used to help with natural disaster management and counterterrorism fall into this category. Unlike the more predictable data access patterns of HPC codes that model a physical system, like a hurricane or an oil reservoir, informatics apps tend toward irregular access. Spatial and temporal locality are lower in these types of codes and that puts a strain on the whole memory hierarchy.
The extent to which memory bandwidth and latency is limiting HPC performance overall is largely unknown, although anecdotal evidence suggests a growing problem. At SC08 last month, IDC reported that users are hitting the wall with multicore. If that's a generalized situation, it's going to get worse fast.
According to an April 2008 HPC User Site Census report by Tabor Research, the installed base of HPC systems is only about midway into its transition from single-core to multicore, with single-core CPU chips currently making up more than half of total processors. That was eight months ago, so we already may be past the tipping point. The report concludes the transition to multicore should be mostly completed within the next few years. That will happen if for no other reason than you won't be able to buy single-core processors. Intel's last one-core server chip was released over three years ago.
And while the report states that memory per core is trending upward -- from 1.36 GB/core in pre-2005 systems to 2.96 GB/core in systems deployed in the first quarter 2008 -- the memory wall is not a capacity issue. In some cases more memory will translate into more aggregate bandwidth, but adding additional DRAM is usually done to avoid the even more daunting I/O wall at the disk.
It would be an interesting exercise to track cache size per core in deployed HPC systems, since larger caches have been the biggest defense against the memory wall. Cache has been growing exponentially to try and keep up with the multiplying cores. The latest Shanghai quad-core Opteron chips from AMD have 6 MB of L3 cache, as well as 2 MB of L2 and 256 KB of L1. The corresponding Harpertown processor from Intel has up to 12 MB of L2 and 128 KB of L1 (but no L3). The more cache-heavy four- and six-core Dunningtons have 6 MB of L2 and up to 16 MB of L3, along with 96 KB of L1 per core.
In the long-term, the scaling of the memory wall may take place once 3D memory devices and/or optical interconnects are commercialized. Failing that, expect to see much larger and smarter cache hierarchies.
Posted by Michael Feldman - December 11 @ 6:17PM
(Digg, Technorati, more)
Platform HPC Workgroup Manager
Platform HPC Workgroup Manager integrates all the cluster productivity tools you need to deploy, run and manage your HPC environment.
Michael Feldman is the editor of HPCwire.
More Michael Feldman
Re: IBM and HPC by truly64
HPC = servers but a lot more by lawries
Lena by Nastyanna
Lena by Nastyanna
Multi core deployment becomes a memory game by truly64
Re: Venture Capital Drought? Not So Much. by Ron Van Holst
Re: AMD Confirms 12-Core Opteron Production by Nastyanna
Re: Cray Corrals Big Defense Deal by Nastyanna
Re: Podcast: Cray Awarded Defense Deal; SGI Makes Storage Buy; IBM Invents New Algorithm by Nastyanna
Painful Truth by jeffrey.mcallister
SGI = graphics + HPC by johnbarr
HPC = servers but a lot more by truly64
Oracle SPARC != Fujitsu SPARC by Alan M. Feldstein
Sun & HPC != Oracle & HPC by Merblich
a third vendor for lossless low latency 10GbE fabric by lee.fisher@hp.com
Response to GAH by KevinButerbaugh
Response to KevinButerbaugh by GAH
Response to KevinButerbaugh by GAH
Response to GAH by KevinButerbaugh
Response to bdrupp by KevinButerbaugh
Climate Crisis and Exaflops by bdrupp
Climate Crisis and Exaflops by John Hules
Climate Crisis and Exaflops by GAH
Climate Crisis by KevinButerbaugh
IBM "Brain Simulation" article is not properly presented. by Merritt
563 out of 1206 by vvolkov
Little Iron by gadunk
At least it's not "cloud" by KevinButerbaugh
Native QPI Interface? by commike
Mmmmmm by hellcats
New transistorized IC chip scales. by symmecon
Itanium at IDF by Alan M. Feldstein
Communication time by jnapper
"The financial meltdown and computing" by donpellegrino
Human Models by mdgabriel
High-End SPARC Chip for Scientific Applications by Alan M. Feldstein
RapidMind by Mr LolO
Rapidmind by dminor
Longer run times by JohnWest
re: Algo trading Angst by jshore
Results of Testing by in_the_crease
The prospects for virtual SMP technology got another boost last month when Florida State University announced it had installed a new HPC system from 3Leaf Systems. The servers are being housed at the university's HPC facility and will be used across a range of scientific disciplines.
Read More...
For the first time in 62 years, the four-man Olympics bobsled team from the US captured the gold medal, setting a course world record in the process. The winning bobsled had some state-of-the-art engineering behind it, including CFD software from Exa Corporation. As it turned out, that software may have proved to be the margin of difference in the race.
Read More...
Cray and Microsoft Research partner on cloud computing project; IBM donates a POWER7-based supercomputer to Rice University; and the Kavli Foundation hosts a dialogue on the convergence of nanoscience and neuroscience. We recap those stories and more in our weekly wrapup.
Read More...
Mar 09 | Free Software Magazine | Data-driven computing will need open software. Read more...
Mar 09 | Bio-IT World | Tahoe Informatics founder eyes GPUs, CUDA software. Read more...
Mar 08 | Sporting Life | Formula One engineers differ on benefits of CFD. Read more...
Mar 08 | InfoWorld | AMD offers up 48-core server prize. Read more...
Mar 04 | Linux Magazine | The new x86 multicore offerings could portend big changes for HPC platforms. Read more...
Jan 12 | | In-depth look at vSMP Foundation server virtualization technology, technical implementation, use cases and capabilities. The technical whitepaper provides an architectural overview and details on the three vSMP Foundation products: vSMP Foundation for SMP, vSMP Foundation for Cluster and vSMP Foundation for Cloud.
Jan 18 | | This white paper discusses Gore’s copper cable assemblies, and how they continue to exceed the standards for providing reliable, cost-effective solutions for high-performance computer applications.
Join this online panel discussion for live Q&A with leading industry experts, analysts, and end-users to discuss the latest innovations, best practices, barriers to implementation, and measurable benefits of server virtualization with a particular focus on today's real world solutions.
Learn about scalable fault-tolerant architectures and examples of energy efficient and scalable supercomputing clusters using dual QDR InfiniBand to combine capacity computing with network failover capabilities with the help of programming languages such as MPI and a robust Linux cluster management package.
LIVE@SCO9: The IBM team discusses new innovations in hardware, software and services that help clients better understand their workloads and get insight from their R&D efforts. Technology demonstrations include the soon-to-be-released Power7 HPC processor, the DCS990 system with 2.4 petabytes of storage, the xCAT management tool, secure HPC cloud computing and more. Winners of two HPCwire Readers' and Editors’ Choice Awards! Take the IBM virtual tour at SC09 or more information go online to: http://www-03.ibm.com/systems/deepcomputing/sc09.html