Computer scientists collect computing tools for next-generation machines

Feb 15, 2012 by Eric Gedenk

( -- Researchers using the OLCF's resources can foresee substantial changes in their scientific application code development in the near future.

The OLCF's new , a Cray XK6 named Titan with an expected peak speed of 10-20 petaflops (10-20 thousand trillion calculations per second), will use a of conventional, multipurpose central (CPUs) and highperformance graphics processing units (GPUs) which, until recently, primarily drove modern . Titan is set to be operational by early 2013. The machine will supplant the OLCF's current , Jaguar, a Cray XT5 using an entirely CPU-based platform.

With Titan's arrival, fundamental changes to computer architectures will challenge researchers from every scientific discipline. Members of the OLCF's Application Performance Tools (APT) group understand the challenge. Their goal is to make the transition as smooth as possible.

"The effort necessary to glean insight from large-scale computation is already considerable for scientists," computational astrophysicist Bronson Messer said. "Anything that tool developers can do to reduce the burden of porting codes to new architectures, while ensuring performance and correctness, allows us to spend more time obtaining scientific results from simulations."

The APT group is working to ensure that researchers receiving allocations on leadership-class will not have to spend huge amounts of time learning how to effectively use their codes as the OLCF shifts to hybrid computing architectures.

An application tool can do anything from translating one computer programming language into another to finding ways to optimize performance. "We decide which tools—pieces of software that enable application scientists to perform their simulations in an effective manner—are of interest to us, and whether or not these current tools are sufficient; and by sufficient I mean in the context of our production environment, Jaguar," said Richard Graham, group leader of the APT group at the OLCF. "If they are not sufficient, we need to understand if we can enhance the current tool set, or if we need to go out and see if there is something else out there."

Graham explained that many of the same tools that helped Jaguar advance beyond the petascale threshold will also play imperative roles in getting Titan off and running toward the exascale—a thousand-fold increase over petascale computing power. However, just like scientific application codes, software tools will have to be scaled up for a larger machine.

Hammering out details

The group has expanded the capabilities of debugging software to meet the needs of large, leadership-class systems. Debuggers are capable of helping to identify programming glitches in users' application codes. Until recently, though, debugger software did not scale up to supercomputer architectures well. The APT group has worked with British company Allinea on the DDT debugger for several years to bring debugging up to scale. "People claimed that you could not do debugging beyond several hundred to several thousand processes," Graham said. "Now, my group routinely debugs parallel code at more than 100,000 processes."

Another major issue facing supercomputers is collecting and analyzing performance data. The tools group is collaborating with the German Technische Universität Dresden on the "Vampir" suite of trace-based performance analysis tools. These tools look at the performance of an application run from both macroscopic and microscopic lenses. In addition to examining the program counter, which directs the traffic of the functions a computer should be executing, they are capable of tracing back through all of the call stacks, which help organize the sequence of operations for the measured performance. Just as the group scaled debugging to new heights, they have done the same with performance analysis. "Basically, we've been able to run trace-based applications at 200,000 processes, and the previous record was on the order of 100,000," Graham said.

Perhaps the largest challenge related to hybrid architectures comes from shifts in programming languages. Both Graham and computer scientist Greg Koenig agree that compilers were one of the most important tools for scaling computer applications to the petascale, and they will undoubtedly play an imperative role in integrating scientific applications into hybrid architectures. Compilers play the role of translators, taking programming languages such as C++ and Fortran and converting them to serial-based languages—binaries—that a computer can understand. "One of the major challenges of computer science is compiling codes from one category to another," Koenig said. Graham explained that for the last two years, the APT group has been collaborating with CAPS Enterprise, a French company producing the Hybrid Multi-Core Parallel Processor (HMPP) compiler. Two years' worth of collaboration has started to yield results. "The work has resulted in significant capabilities being added to the compiler that help us incrementally transition our existing applications to accelerator-based computers and has started to lead to some performance enhancements," he said.

National laboratories such as Oak Ridge could help foster the transition to hybrid computing. Koenig noted that businesses often have harsh deadlines for turning a profit, and academic institutions must often publish findings before they begin heavily collaborating with other institutions.

"I like to think that between the two of these, the national labs fit." Koenig said. "You have a lot of unique capabilities in the national lab system that you do not get in other places. You can think a little more abstractly than you can than if you were in a business setting. We have the luxury of being able to look further into the future, and we don't have to turn a profit immediately. We are doing research, but it is research that can be applied for solving real problems, and that's particularly true in the Application Tools group, because we are trying to address real needs of computational scientists."

Explore further: Computerized emotion detector

add to favorites email to friend print save as pdf

Related Stories

Customizing supercomputers from the ground up

May 27, 2010

( -- Computer scientist Adolfy Hoisie has joined the Department of Energy's Pacific Northwest National Laboratory to lead PNNL's high performance computing activities. In one such activity, Hoisie will direct ...

NVIDIA dresses up CUDA parallel computing platform

Jan 28, 2012

( -- This week’s NVIDIA announcement of a dressed up version of its CUDA parallel computing platform is targeted as a good news message for engineers, biologists, chemists, physicists, geophysicists, ...

Recommended for you

Computerized emotion detector

16 hours ago

Face recognition software measures various parameters in a mug shot, such as the distance between the person's eyes, the height from lip to top of their nose and various other metrics and then compares it with photos of people ...

Cutting the cloud computing carbon cost

Sep 12, 2014

Cloud computing involves displacing data storage and processing from the user's computer on to remote servers. It can provide users with more storage space and computing power that they can then access from anywhere in the ...

Teaching computers the nuances of human conversation

Sep 12, 2014

Computer scientists have successfully developed programs to recognize spoken language, as in automated phone systems that respond to voice prompts and voice-activated assistants like Apple's Siri.

Mapping the connections between diverse sets of data

Sep 12, 2014

What is a map? Most often, it's a visual tool used to demonstrate the relationship between multiple places in geographic space. They're useful because you can look at one and very quickly pick up on the general ...

User comments : 0