Visit additional Tabor Communication Publications
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 10, 2008 @ 9:00 PM, Pacific Standard Time
Michael Feldman is the editor of HPCwire.
No Recent Blog Comments
The Xeon Phi coprocessor might be the new kid on the high performance block, but out of all first-rate kickers of the Intel tires, the Texas Advanced Computing Center (TACC) got the first real jab with its new top ten Stampede system.We talk with the center's Karl Schultz about the challenges of programming for Phi--but more specifically, the optimization...
Although Horst Simon was named Deputy Director of Lawrence Berkeley National Laboratory, he maintains his strong ties to the scientific computing community as an editor of the TOP500 list and as an invited speaker at conferences.
Supercomputing veteran, Bo Ewald, has been neck-deep in bleeding edge system development since his twelve-year stint at Cray Research back in the mid-1980s, which was followed by his tenure at large organizations like SGI and startups, including Scale Eight Corporation and Linux Networx. He has put his weight behind quantum company....
May 16, 2013 |
When it comes to cloud, long distances mean unacceptably high latencies. Researchers from the University of Bonn in Germany examined those latency issues of doing CFD modeling in the cloud by utilizing a common CFD and its utilization in HPC instance types including both CPU and GPU cores of Amazon EC2.
May 15, 2013 |
Supercomputers at the Department of Energy’s National Energy Research Scientific Computing Center (NERSC) have worked on important computational problems such as collapse of the atomic state, the optimization of chemical catalysts, and now modeling popping bubbles.
May 10, 2013 |
Program provides cash awards up to $10,000 for the best open-source end-user applications deployed on 100G network.
May 09, 2013 |
The Japanese government has revealed its plans to best its previous K Computer efforts with what they hope will be the first exascale system...
May 08, 2013 |
For engineers looking to leverage high-performance computing, the accessibility of a cloud-based approach is a powerful draw, but there are costs that may not be readily apparent.
05/10/2013 | Cleversafe, Cray, DDN, NetApp, & Panasas | From Wall Street to Hollywood, drug discovery to homeland security, companies and organizations of all sizes and stripes are coming face to face with the challenges – and opportunities – afforded by Big Data. Before anyone can utilize these extraordinary data repositories, however, they must first harness and manage their data stores, and do so utilizing technologies that underscore affordability, security, and scalability.
04/15/2013 | Bull | “50% of HPC users say their largest jobs scale to 120 cores or less.” How about yours? Are your codes ready to take advantage of today’s and tomorrow’s ultra-parallel HPC systems? Download this White Paper by Analysts Intersect360 Research to see what Bull and Intel’s Center for Excellence in Parallel Programming can do for your codes.
In this demonstration of SGI DMF ZeroWatt disk solution, Dr. Eng Lim Goh, SGI CTO, discusses a function of SGI DMF software to reduce costs and power consumption in an exascale (Big Data) storage datacenter.
The Cray CS300-AC cluster supercomputer offers energy efficient, air-cooled design based on modular, industry-standard platforms featuring the latest processor and network technologies and a wide range of datacenter cooling requirements.