The program, called AutomaDeD (pronounced like automated), finds errors in computer code for complex "parallel" programs.
"The simulations take several weeks to run, and then they have to be debugged to correct errors in the code," said Saurabh Bagchi, an associate professor in Purdue's School of Electrical and Computer Engineering. "The error might have occurred in the first hour of operation, and if you had known about it you could have stopped it then."
Because international treaties forbid the detonation of nuclear test weapons, certification is done using complex simulations. The simulations, which may contain as many as 100,000 lines of computer code, must accurately show reactions taking place on the scale of milliseconds, or thousandths of a second.
"Many times an error in a simulation code may not become evident until long after it occurs," said Bronis R. de Supinski, co-leader of the ASC Application Development Environment Performance Team at the U.S. Department of Energy's Lawrence Livermore National Laboratory. "These delays are challenging since they make the actual location of the bug unclear."
In parallel operations used for powerful simulation tools, a highly complex job is split into numerous smaller and more manageable processes that are handled by separate machines in large computer clusters. After the computers complete their individual processes, all of the parallel results are combined.
Conventional debugging programs, however, must be operated manually, with engineers navigating through a large number of processes.
"Debuggers have worked well for sequential applications," Bagchi said. "But when we extend these to large parallel applications, application developers are not very happy because it's very time consuming and difficult to do the manual debugging. It is just difficult for human cognitive abilities to keep track of what is going on simultaneously in many processes and determine what is anomalous."
So, to enable the automatic debugging of the simulations, the researchers created AutomaDeD, which stands for automata-based debugging for dissimilar parallel tasks.
"The idea is to use AutomaDeD as the simulation is running to automatically monitor what's happening," Bagchi said. "If things start going wrong, AutomaDeD would stop and flag which process and which part of the code in the process is likely anomalous."
Errors in software code cause "stalls" and "hangs" that slow or halt simulations or give incorrect results. Another problem with parallel programs is interference from software that previously ran on the same computer clusters but were not properly expunged before the new job started running.
Recent research findings show AutomatDeD was 90 percent accurate in identifying the time "phase" when stalls and hangs occurred; 80 percent accurate in identifying the specific tasks that were the sources for stalls and hangs; and 70 percent accurate in identifying the interference faults.
The findings will be detailed in a research paper to be presented on June 30 during the 40th Annual IEEE/IFIP International Conference on Dependable Systems and Networks in Chicago. The paper was written by Purdue doctoral student Ignacio Laguna, Bagchi, and Lawrence Livermore scientists Greg Bronevetsky, de Supinski, Dong H. Ahn and Martin Schulz. The primary developers of the program are Bronevetsky and Laguna.
The same debugging approach could be used to find errors in other parallel applications, such as those used in climate modeling and high-energy particle physics.
AutomaDeD works first by grouping the large number of processes into a smaller number of "equivalence classes" with similar traits. Grouping the processes into equivalence classes keeps the analysis simple enough that it can be done while the simulation is running.
AutomataDeD also works by splitting a simulation into numerous windows of time, called phases.
"So our tool lets you know if the error occurs for task 1 and task 5 in phase 153 and allows you to zoom in and find the specific part of the code that is problematic," Bagchi said.
Large computer clusters operated by Lawrence Livermore containing thousands of processors have been used for the debugging operations.
Purdue researchers did not work with the actual classified nuclear weapons software code but instead used generic "NAS parallel benchmarks," a set of programs designed to help evaluate the performance of parallel supercomputers developed by the NASA Advanced Supercomputing division.
The work began a year ago, and the new debugging program is currently being used by the federal lab to detect certain types of errors. The researchers are continuing to improve the program. The work is funded by the Department of Energy.
Also involved in the ongoing work is Karu Sankaralingam, an assistant professor of computer sciences and electrical and computer engineering at the University of Wisconsin at Madison.
Related Web sites:Surabh Bagchi:
Emil Venere | EurekAlert!
Cutting edge research for the industries of tomorrow – DFKI and NICT expand cooperation
21.03.2017 | Deutsches Forschungszentrum für Künstliche Intelligenz GmbH, DFKI
Molecular motor-powered biocomputers
20.03.2017 | Technische Universität Dresden
Astronomers from Bonn and Tautenburg in Thuringia (Germany) used the 100-m radio telescope at Effelsberg to observe several galaxy clusters. At the edges of these large accumulations of dark matter, stellar systems (galaxies), hot gas, and charged particles, they found magnetic fields that are exceptionally ordered over distances of many million light years. This makes them the most extended magnetic fields in the universe known so far.
The results will be published on March 22 in the journal „Astronomy & Astrophysics“.
Galaxy clusters are the largest gravitationally bound structures in the universe. With a typical extent of about 10 million light years, i.e. 100 times the...
Researchers at the Goethe University Frankfurt, together with partners from the University of Tübingen in Germany and Queen Mary University as well as Francis Crick Institute from London (UK) have developed a novel technology to decipher the secret ubiquitin code.
Ubiquitin is a small protein that can be linked to other cellular proteins, thereby controlling and modulating their functions. The attachment occurs in many...
In the eternal search for next generation high-efficiency solar cells and LEDs, scientists at Los Alamos National Laboratory and their partners are creating...
Silicon nanosheets are thin, two-dimensional layers with exceptional optoelectronic properties very similar to those of graphene. Albeit, the nanosheets are less stable. Now researchers at the Technical University of Munich (TUM) have, for the first time ever, produced a composite material combining silicon nanosheets and a polymer that is both UV-resistant and easy to process. This brings the scientists a significant step closer to industrial applications like flexible displays and photosensors.
Silicon nanosheets are thin, two-dimensional layers with exceptional optoelectronic properties very similar to those of graphene. Albeit, the nanosheets are...
Enzymes behave differently in a test tube compared with the molecular scrum of a living cell. Chemists from the University of Basel have now been able to simulate these confined natural conditions in artificial vesicles for the first time. As reported in the academic journal Small, the results are offering better insight into the development of nanoreactors and artificial organelles.
Enzymes behave differently in a test tube compared with the molecular scrum of a living cell. Chemists from the University of Basel have now been able to...
20.03.2017 | Event News
14.03.2017 | Event News
07.03.2017 | Event News
22.03.2017 | Materials Sciences
22.03.2017 | Physics and Astronomy
22.03.2017 | Materials Sciences