Blue Waters' system software is a critical part of the petascale environment. The software environment for Blue Waters is designed to ensure that applications can take full advantage of its hardware capabilities and achieve high sustained performance on a broad range of applications as well as enhance the productivity of application developers and system administrators by providing convenient, integrated tools to analyze and control the behavior of the system.
Blue Waters will run either Linux or AIX as its operating system. The operating system selection process is currently underway.
The system will support debugging at scale, advanced job management for batch and interactive access, application and system-wide checkpointing with data compression, and block allocations of computing time. It will also support:
- MPI and MPI2.
- OpenMP for shared memory.
- Partitioned Global Address Space languages (UPC and Co-Array Fortran).
- Low-level active messaging layer.
- IBM's LoadLeveler for resource management.
- Eclipse-based application framework to support development.
- Advanced performance tools, including the HPCS toolkit.
- The Charm++ infrastructure.
Many of the largest-scale applications are more a suite of codes. They have as many as a million lines of source code, and parts of that code may date back decades. With this in mind, Blue Waters will support traditional programming languages like Fortran, C, and C++. It will also support emerging programming models like Co-Array Fortran and Unified Parallel C. These technical capabilities will be coupled to extensive support from Blue Waters staff.
This support will include collaborative Petascale Application Collaboration Teams (PACTs), which will ensure that a range of applications can take full advantage of Blue Waters when it comes online in 2011. It will also include more informal help and consulting. Send email to the Blue Waters Consulting Office at bwconsult@ncsa.illinois.edu for more information.