XPRESS will define a system software architecture, called OpenX, to represent the full functionality ultimately anticipated for an exascale computing system. While a paper specification, it will include important interfaces between the programming system and underlying runtime and operating system (OS), called XPI, and between the runtime system and operating system, called RIOS. Compliancy with these interface specifications will facilitate different X-stack configurations comprising components of different design, possibly by different development teams to accelerate progress towards advanced DOE systems. XPRESS will implement a critical subset of OpenX software modules to integrate and test key functionality to demonstrate and apply a working software system incorporating the defining innovative concepts upon which XPRESS is defined. These will include the LXK lightweight kernel OS and the HPX-4 runtime system interoperating through RIOS and driven by workloads via the XPI interface.
The XPRESS research is exploring means of dramatically improving efficiency and scalability through a set of guiding and interrelated operational and structural principles that together comprise an advanced execution model, ParalleX. ParalleX replaces the static Communicating Sequential Processes (CSP) execution model primarily familiar to all through MPI with the means of a fully dynamic and adaptive paradigm to exploit the capabilities of future generation performance oriented runtime systems and hardware architecture enhancements. The ParalleX model and manifesting runtime system software incorporate key semantic constructs and mechanisms for dynamic adaptive resource management, task scheduling, and parallelism discovery. It combines lightweight multi-threading with event-driven (sometimes message-driven) computation coordinated by powerful synchronization objects in the context of global address space. Together, these mutually supportive elements enable new implementation strategies to facilitate runtime techniques for dramatic performance improvement towards extreme scale computing.
XPRESS is organized as a set of cooperative tasks to develop and test a software architecture based on the above concepts to deliver working scalable and efficient runtime environments for leading to exascale computing. These major tasks include:
Provide parameters and their mutual sensitivities to guide co-design and quantify operational behavior
Guiding principles for co-design of the components of OpenX software stack
A conceptual framework for the co-design and interoperability of proof-of-concept XPRESS software stack including the RIOS interface protocol specification between the operating system and runtime system
Lightweight kernel operating system for order constant scalability and low/no noise to manage resources
Support of application dynamic adaptive resource management, task scheduling, and introspective control policies
Intermediate form and low-level(readable) programming interface reflecting the ParalleX model, providing a target for source-to-source high level parallel language translation, and supporting early direct programming experimentation and measurement
Ensuring seamless transition of legacy codes and programming methods to the future generation of ParalleX based exascale systems
Critical to determining degree of effectiveness and likelihood of ultimate success as well as guiding corrective design changes to achieve DOE objectives
As well as reporting to DOE X-stack program management, to provide early adopters with sufficient information to apply prototype programming and execution environment