HPCwire

Leading HPC
Solution Providers




















HPCwire >> Features

Swedish Startup Looks to Unleash Multicore


Page:  1  of  2
1 | 2   All  »  

As most high performance computing users are aware, the rise of multicore-based systems has spawned a number of problems. One of the most fundamental of them is the memory bandwidth bottleneck. As more cores are added to the die, there is proportionally less cache to serve each one, resulting in more accesses to slower main memory. To state it simply, computational power is growing faster than memory performance.

The result is that additional processor cores often spend an inordinate amount of time waiting for data to crunch on, thereby wasting the computational power of the multiple cores. Avoiding unnecessary main memory accesses and keeping cache usage optimized is critically important for performance since a processor core can execute hundreds of instructions in the time it takes to access a memory location. Chip designers have compensated to some extent by constructing processors with larger multi-level caches and hardware prefetching. Unfortunately, the potential of such hardware is only realized if the software can exploit it. To date, composing high-level source code that is well-tuned for these cache-dependent architectures has been a major challenge.

Help may be on the way. Acumem, a two-year-old Swedish company that operated in semi-stealth mode until recently, has released a new performance analyzer specifically developed to help programmers achieve good cache utilization and optimize memory access. The technology is based on work done by Erik Hagersten, the CTO of Acumem, and his research team at Uppsala University.

Called SlowSpotter, the Acumem tool illuminates "slow spots" in an application and points the developer to the offending source code or data structures. Up until now, performance analysis tools relied on hardware counters, and typically only revealed where a lot of cache misses were occurring -- so called hot spots. It was left up to the programmer to figure out what to do with that information. SlowSpotter actually finds the problematic source and suggests ways to tweak the code to optimize performance. Better yet, it ranks the problem areas in the code according to their potential for performance improvement.

For example, a fairly common problem in programs is thrashing the cache by accessing multi-dimensional arrays inefficiently. If a nested loop is traversing a two-dimensional matrix in column order (row order for Fortran), the traversal will touch one element in too many cache lines before returning to touch more data. By that time, the cache line may have been evicted. Usually, by just switching the loop traversal around, cache use is optimized.

Beside loop nesting problems, SlowSpotter will also find code with poor cache line utilization (a section of the code is using high amounts of bandwidth due to inefficient data packing); loop fusion opportunities (two loops are using the same data and may be fused to improve cache usage); irregular access patterns (an irregular data access pattern causing inefficient cache usage); and hot spots (a section of the code with a high amount of cache misses, but with no obvious fix).

Hagersten, a self-proclaimed "cache nerd," realized that most programmers aren't equipped to optimize code performance on the modern microprocessor. He says SlowSpotter results are presented in such as way so the average (i.e., non-parallel thinking) programmer can understand the problems and make the necessary code changes.

While the tool is aimed at the least common dominator, experts can benefit too. According to Hagersten, some of the most extreme performance people he knows have used the tool to uncover performance problems in code that they thought they had tuned. One customer -- an ISV -- bought a site license for the entire company. Even though the ISV had three or four people that focused on performance, they wanted everybody to have the tool to change their mindset about the importance of optimization.

Because of the ubiquity of multicore, the potential audience for SlowSpotter is huge. But the company intends to initially focus on the HPC market, where memory bandwidth limitations are most acute and the users have a better understanding of the problem. And HPC users will be the ones to see the most dramatic speed-ups. "They are getting on the multicore train much faster," notes Hagersten.

Acumem tested SlowSpotter on a SPEC application benchmark (470.lbm) that uses the "Lattice Boltzmann Method" (LBM) to simulate incompressible fluids in 3D. Using an Intel Core2 Quad Q6600 2.4GHz (1066MHz FSB and equipped with 800 MHz DDR2 RAM), the original code ran only 1.5 times faster on all four cores compared to a single core. After the SlowSpotter optimization was applied, the code ran 3.2 times faster. Even for single core execution, optimization produced a 1.6X speedup.

Page:  1  of  2
1 | 2   All  »  

Article Tools

  • Print This Page
  • Bookmark This Article

Share Options

(Digg, Technorati, more)


Subscribe

Discussion

There are 0 discussion items posted.  



Top Headlines

3D Seismic Data: Taking a Smarter Approach to Interpretation

Jul 09 | Engineer Live | The demand for computational tools to underpin the 3D seismic interpretation process has never been more apparent. Read more...

Engineering Unemployment Soared in 2Q to 8.6%

Jul 08 | EE Times | Unemployment for U.S. engineers has reached record levels, according to government figures. Read more...

Gartner Adjusts 2009 IT Spend Downward Again

Jul 08 | Network World | Global spending for 2009 projected to drop 6 percent, for a total of $3.2 trillion. Read more...

Concurrent and Parallel Are Not The Same

Jul 08 | Linux Magazine | Portability or efficiency? Neither is guaranteed when writing explicit parallel code. Read more...

800 TFLOP Real-Time Ray Tracing GPU Unveiled, Not for Gamers

Jul 07 | Ars Technica | Japanese company builds custom ASIC to accelerate real-time ray traced rendering for the auto industry. Read more...

Featured Whitepapers

Building High Performance Computing in a Green and Modular Solution Building Block

Apr 14 | | Many HPC IT departments are feeling the rising pressure to deliver more capacity computing and performance while trying to reduce the total cost of ownership. This white paper discusses how an environmentally-friendly and open-standards HPC building block based computing system using flexible interconnect options helps address capacity computing needs.

Multimedia

Webcast: Dell Expands HPC Access and Adoption with Intel Cluster Ready Program


Source: Addison Snell, GM/VP, Tabor Research; sponsored by Dell

Many organizations that could benefit from the use of HPC clusters find that it is complicated to get the systems up and running because of limited IT resources or the complexities of the clusters themselves. Learn how the Intel Cluster Ready program, for which Dell was an original partner, seeks to address this challenge for entry level and mid-range HPC users.

Video White Paper: Architecting a Better Network Storage Solution

BlueArc's Titan architecture represents an evolutionary step in file servers by creating a hardware-based file system that can scale bandwidth, IOPS, and overall data capacity well beyond conventional software-based devices. With its ability to virtualize a massive storage pool of up to four usable petabytes of tiered storage, Titan can scale with growing data requirements, offering a competitive advantage for businesses, researchers, or other enterprises seeking to better manage data growth while still ensuring optimal performance.

Webcast: HPC Development Solutions: Sun Studio & Sun HPC ClusterTools


Sun Studio Compilers and Tools and Sun HPC ClusterTools allow you to create high performance parallel applications for OpenSolaris, Solaris and Linux. Sun Studio Express 11/08 includes MPI performance analysis capabilities and full OpenMP 3.0 compiler support. Learn about all this and the latest in Sun HPC ClusterTools 8.1.

Special Feature: ISC'09

Newsletters

Stay informed! Subscribe to HPCwire email Newsletters.






HPC Job Bank


Featured Events

WORLDCOMP 2009
Data Mining Courses