Neutron Science and Supercomputing Come Together at Oak Ridge National Lab
Novel capability will deliver the best of high-performance computing and cloud computing
Next-generation neutron scattering requires next-generation data analysis infrastructure. And that means not just more data, accelerated reduction, and translation and analysis, but linking the neutron scattering on a beam line live to a simulation platform where modeling and simulation can guide the experiment.
As the data sets generated by the increasingly powerful neutron scattering instruments at Oak Ridge National Laboratory’s (ORNL’s) Spallation Neutron Source (SNS) grow ever more massive, the facility’s users require significant advances in data reduction and analysis tools so they can cope. SNS is the world’s most intense pulsed, accelerator-based neutron source for scientific research and development.
Funded by the US Department of Energy Office of Basic Energy Sciences, this national user facility hosts hundreds of scientists from all over the world every year, most of whom are engaged in materials science research. Now the SNS data specialists have teamed with ORNL’s Computing and Computational Sciences Directorate to form a strategic alliance to meet the neutron science users’ next-generation requirements.
The result is ADARA – the Accelerating Data Acquisition, Reduction, and Analysis Collaboration project, which comprises individuals from across ORNL spanning five divisions: the Neutron Sciences Directorate’s (NScD’s) Neutron Data Analysis and Visualization Division (NDAV) and Research Accelerator Division, the Computing and Computational Sciences Directorate’s (CCSD’s) Computer Science and Mathematics Division, National Center for Computational Sciences (NCCS) and Information Technology Services Division.
The collaboration between neutron sciences and supercomputing, two of ORNL’s most high-powered research centers, has created a new data infrastructure that will enhance users’ ability to reduce and analyze data as they are taken; create data files instantly after acquisition, regardless of size; reduce a data set in seconds after acquisition; and provide the resources for any user to do post-acquisition reduction, analysis, visualization, and modeling – not just on site – but literally from anywhere.
At neutron experimental facilities today, research scientists collect data during experiments and do an initial analysis of their findings. The detailed data analysis that follows can take from minutes to months. For maximum effect, visiting users manipulate their data – reduce it, analyze it, and, increasingly, visualize and model it on supercomputers – to fully understand the content. This is an interactive process.
Galen Shipman is data system architect for the Computing and Computational Sciences Directorate and principal investigator of the ADARA project. We asked him to tell us what improvements SNS users can expect in the coming months.
What are the data access and analysis problems that confront SNS users today?
Galen Shipman: Much of the software infrastructure for data acquisition, reduction, and analysis at SNS was designed more than a decade ago. It is a good system and has served the needs of the users, but there is a need to shorten the time from experiment to the scientific result. That is really what the ADARA project is about. It’s about decreasing this time by providing a streaming data infrastructure and an integrated high-performance computing (HPC) capability that provides users with instant feedback from experiments at SNS.
We began in October 2011 with an analysis of the current infrastructure, working with experts at SNS. We quickly found that one of the major issues was how long it took to start getting feedback from an experiment on a beam line as it is running. What the scientist often wants to see from an experiment at SNS is an energy spectrum, but the data captured and provided to the user are simply the position and time of flight of neutrons as they travel through a material and hit a bank of detectors surrounding the material.
The current process of providing this feedback entails capturing all the neutron event data and saving it to a data file. After the entire experiment is complete, the data files are translated to a common data format known as NeXus. After this translation is complete, a data reduction process uses MANTID, a data-reduction platform, to transform the raw neutron event data to an energy spectrum or diffraction pattern. Finally, then, the user starts seeing the results of the experiment.
Often reduction is a short process. It can be minutes for small data sets on short experiments. In other cases, it can take a day or more – a full day from completion of the experiment and then another day to actually start getting feedback on what it meant and what the results are. This long lead time from the experiment to receiving feedback from the experiment can significantly impact the productivity of scientists at SNS.
How did the team propose to speed up data reduction and get to that energy spectrum faster?
Shipman: The concept, the leap forward, is to go from experiment to data reduction to obtaining an energy spectrum nearly instantaneously, while the experiment is still running.
Rather than the current approach of saving data in “buckets” and, once the bucket is full, handing the bucket off to the next process, we do a streaming approach. As data are being captured, we concurrently do translation. Every single event coming off a detector is translated live to a common data format. While doing translation, we are also doing data reduction, so as those events are coming off the detectors, we are also doing live data reduction into an energy spectrum.
How do you enable simultaneous translation and reduction of the neutron events coming off the detectors?
Shipman: For the architecture, we’ve leveraged some of the techniques that we were already using in HPC, as well as some of the techniques from more traditional, distributed computing. The fundamental architecture for our streaming data system is built upon a high-performance publish/subscribe system. We have a system we call the stream management service (SMS). It collects information from multiple feeds: from the neutron detectors, the experiment environment, such as temperature within the sample environment, and orientation of the sample. This information is what we call slow controls information. We also collect data from a variety of other sources such as Fermi choppers [devices that block the neutron beam for a fraction of time in milliseconds]. All of these data are “published” to the SMS, which then aggregates the data into a single, common network stream that can be sent to one or more downstream “subscribers.”
One of the downstream subscribers we have developed has been dubbed the Streaming Translation Service, which translates the unified neutron event stream on the fly and creates NeXus files live, as the experiment is conducted. The instant an experiment is over, the full NeXus file is created. It’s done. It doesn’t matter if it is a terabyte. It doesn’t matter if it is just a few megabytes.
Another downstream subscriber we have developed, known as the Streaming Reduction Service, which leverages the MANTID system, transforms the neutron event stream live from simple detector position and time of flight to an energy spectrum in real time. This provides scientists at SNS with real-time feedback from their experiment coupled with the Mantid reduction and analysis platform.
What happens to all the data after the experiment is completed?
Shipman: Although much of our work has focused on providing real-time feedback from an experiment, certain tasks in the data processing chain can be conducted only after the experiment is completed. To support this, the ADARA team has developed an automated workflow engine based on the Apache ActiveMQ system for post-stream processing. This workflow engine allows for coupling of an arbitrary number of tasks to the completion of an experiment, such as cataloging of the experiment data, additional data reduction and analysis, and archiving of the experiment data to our multi-petabyte archival storage system at the NCCS.
Once cataloged, these data are available for subsequent reanalysis and intercomparison with previous experiments. This post-processing step can be highly interactive in which users interact with their data through the Mantid software package or through other analysis tools and custom applications. Although much of the data captured can be analyzed using a workstation computer, many of the datasets require HPC systems to provide users with timely feedback. While HPC systems can provide timely feedback and support interactive analysis, in the past these systems have only been accessible by advanced users with a background in parallel computing. To support a much broader set of users, we have integrated support of HPC systems into Mantid, effectively hiding the complexities of parallel computing while providing its benefits to our users.
So you bring the advantages of HPC systems to all the SNS users?
Shipman: Exactly. We have built an integrated HPC capability for users at SNS. Through a web service-enabled architecture, scientists at SNS – or scientists sitting in a coffee shop across the country – can seamlessly conduct a variety of analysis or reduction tasks on HPC infrastructure at the NCCS. From the users’ perspective, they are interacting with an application on their desktop. But behind the scenes, we are farming out larger reduction and analysis tasks to HPC systems running the Moab Intelligence engine from Adaptive Computing through a Web Service RESTful API. These HPC systems have an order of magnitude more computational capability than their desktop. This has enabled dramatic acceleration in post-processing workloads, in which scientists reanalyze their data from a completed experiment or compare a number of completed experiments. Our ActiveMQ workflow manager, based on Apache Active MQ, can also leverage this framework, farming out computationally intensive tasks to HPC systems at the NCCS as part of the experiment pipeline. We are really excited about this capability; we have in essence developed an elastic compute capability using both software as-a-service and platform as-a-service models that deliver the best of HPC and cloud computing to users at SNS.
Is neutron science research effectively partnering with supercomputing?
Shipman: Yes. The ADARA team has already built out the software and hardware infrastructure to support the use of NCCS HPC systems by scientists at SNS. Our next steps will include coupling the live streaming capability with modeling and simulation, enabling real-time analysis of experiments, such as fitting of the experiment data to a model of the material in the experiment. This will enable an entirely new level of real-time feedback from experiments at SNS. In the future, this and techniques that leverage the coupling of experiment and simulation will enable systems at the Oak Ridge Leadership Computing Facility (OLCF) to steer the experiment, providing the scientist with real-time information from a simulation of the material that they can use to more efficiently conduct the experiment at SNS. In fact, we have begun the initial steps of this work through the Center for Accelerated Materials Modeling, led by Mark Hagen, NDAV group lead.
Through this and other upcoming work, we see a future in which the Titan multi-petaflop platform at the OLCF could be steering an experiment based on intercomparison of simulation of a material with neutron data captured at SNS. This coupling of neutrons and computation could provide new breakthroughs in materials science, biology, and engineering, while significantly improving the productivity of our users.
What and who got this started?
Shipman: Jeff Nichols, the associate Laboratory director for the CCSD, and Kelly Beierschmitt, the associate Laboratory director for NScD, recognized the importance of coupling computation and neutron science. They realized that by doing so we could make significant progress in increasing the productivity of scientists at SNS and ultimately develop new capabilities in multiple science domains that use neutrons and computing.
The ADARA project has required expertise in both computing and neutron science. The computing team doesn’t have the science background in neutrons but does have the software/engineering background required to help build the system. So in collaboration, leveraging previous work that the neutron sciences data team had done, the ADARA team was able to extend those concepts and write new software to deliver a streaming infrastructure and an integrated HPC capability at SNS. Although we have made significant progress through the ADARA project, this is just the beginning of a long-term strategic partnership between computing and neutron science here at ORNL, a partnership enabled by the Laboratory’s multi-program science and technology capabilities.