Program Preparation and Execution System
To achieve reliably high performance in a constantly changing environment, the GrADS project is developing a software architecture designed to support adaptation and performance monitoring. The GrADSoft architecture, depicted in Figure 1, replaces the discrete steps of application creation, compilation, execution, and post-mortem analysis with a continuous process of adapting applications to both a changing Grid and a specific problem instance.
At the heart of the GrADSoft architecture is an enhanced execution environment, depicted on the right side of Figure 1. This execution system continually adapts the application to changes in the Grid resources, with the goal of maintaining overall performance at the highest possible level. Two key concepts are critical to the working of this system. First, an application must be encapsulated as a configurable object program, which can be optimized rapidly for execution on a specific collection of Grid resources. Second, it relies upon a system of performance contracts that detail the expected performance of modules as a function of available resources. These performance contracts include the criteria needed to guide the run- time environment in configuring the object program to available resources and in deciding when to interrupt execution and reconfigure to achieve better performance. In short, the run-time system will dynamically adapt the application to a changing Grid environment via a closed execution loop.
In addition to supporting the closed-loop execution environment, the realtime monitor provides feedback about system performance to the user, through realtime displays, and to the program development tools, through stored annotations. In response, the user can steer program behavior, advise the service negotiator about preferred execution sites or resources, or recommend reoptimization of specific components. The GrADS compiler and PSE uses stored performance data to tailor recompilations. The goal is to provide tools that will free the user from many of the low-level concerns that programming for the Grid entails today, permitting greater focus on the high-level design and tuning of programs for a heterogeneous distributed computing environment.
Please review the individual LICENSE and GrADSoft_Copyright files included with the tar files for details on the software license applicable to each package.
We also include, for convenience, copies of two of the necessary support packages: