About the ASCR Computer Science Program

About the ASCR Computer Science Program

Our principal investigators develop software for Petascale to Exascale computing platforms that enable application scientists - physicists, biologists and other specialists - to tackle complex problems and simulate very large experiments that would be unfeasible, too costly or too difficult to perform in a laboratory environment or on a less powerful computer.  To establish and maintain DOE's modeling and simulation leadership in scientific areas that are important to its mission, ASCR implements a broad base research portfolio in computer science, in coordination with ASCR applied mathematics, computational science and network research programs, to solve complex scientific problems that are on a trajectory to require Exascale computing capabilities by 2020.

Advanced Architectures
Exascale computer systems will be comprised of as many as a billion heterogeneous cores, designed with novel computer architectures that incorporate new power efficient memory and storage systems.  A few of the challenges for novel architectures are  1) the energy costs of moving data both on-chip and off-chip; 2) keeping the current technology roadmaps, memory per processor is expected to fall dramatically; 3) locality of data and computation renders flat cache hierarchies not useful; 4) energy-efficient on-chip and off-chip communication fabrics and synchronization mechanisms.  Chief among these concerns is the power consumed by memory technology.  This Computer Science component addresses simulation, emulation, and design of novel architectures and mechanisms for reducing and/or managing power and/or heat requirements for high performance computing systems.  It also addresses challenges with the memory, storage hierarchy, and on-chip as well as off-chip interconnects.  It includes methods for improving system resilience and managing component failure rates, which are expected to exceed current rates by several orders of magnitude.  This research component supports the co-design of scientific applications and hardware systems that support advanced computational science at the extreme scale.

Operating  and File Systems for Extreme Scale Computers
Exascale computer systems will enable billion way concurrency, with the associated challenges of energy-efficient data movement, communication and synchronization.  This research component addresses the management of memory hierarchy, synchronization, resource scheduling and communication, code migration, and I/O system at all levels - chip to memory, memory to I/O node, I/O node to disk.  It also addresses power and resilience issues of execution models, runtime systems, operating and I/O systems for these novel architectures, enabling dynamic and adaptive mechanisms that optimize 10 billion-way concurrency in simultaneous operations and that reduce the need for users to be aware of system complexity.

Programming Challenges for Extreme Scale Computers
New programming models are needed in order to program up to a billion heterogeneous cores systems organized in novel architectures and capable of 10 billion-way concurrency.  This research component includes programming models, programming languages, and compilers that address the fundamental need of expressing concurrency and locality in ways that are comprehensible to scientists and software developers, who must be able to understand how codes relate to theory and experimentation in their disciplines, and yet optimize the performance requirements of parallel scientific applications in the power constrained extreme scale platforms.  This component also includes development environments, frameworks, and debugging tools.

Performance and Productivity Tools
This Computer Science component focuses on the best to match hardware architectures to applications, enabling users to diagnose, monitor, and optimize the performance of scientific application codes on computing platforms.  This component entails the development of performance modeling, analysis, monitoring, and auto-tuning tools.  It also includes formal verification and validation metrics and methods.

Data Management, Analysis and V isualization
The challenges of analyzing massive scientific data sets are compounded by data complexity  that results from heterogeneous methods and devices for data generation and capture and the inherently multi-scale, multi-physics nature of many sciences, resulting in  data with hundreds of  attributes or dimensions and spanning multiple spatial and temporal scales.  This Computer Science component supports innovative research in the management and analysis of extreme-scale scientific data in the context of Petascale and/or Exascale computers with heterogeneous multi-core architectures.  The activities supported include a combination of basic research, algorithms for advanced architectures, and development of usable tools and methods for data management and data analytics, including visual analysis, and scientific workflow tools for scientific discovery.

About The ASCR Computer Science Portfolio

The current CS research portfolio includes projects associated with:

  1. Advanced hardware and software architectures for Exascale computing systems;
  2. Hardware and software approaches to power/energy management for HPC systems;
  3. Scalable and fault tolerant operating and runtime systems, including file systems and input/output bottlenecks;
  4. Compilers, programming models, languages, and environments;
  5. Auto-tuning and performance modeling, monitoring, analysis, and optimization tools;
  6. Software development tools and methods;
  7. Scientific data management, integration, analysis and visualization for petabyte to exabyte data sets, both static and streaming, including in-situ methods.

We continuously evaluate the CS portfolio to assure that it is in conformance with changes in programmatic directions of ASCR and the Office of Science.  In order to complement the research portfolio or to cover research gaps, we may issue Computer Science specific funding opportunities (FOA).   ASCR-supported computer science projects must be developed in the context high performance scientific applications that support the missions of ASCR and the Office of Science.