Model-based control utilizes performance models of applications to choose performant system configurations for execution of applications. The performance models used in this research separate specification of the software system from specification of the execution environment so that model-based control can select software configurations for a given execution environment or, conversely, select execution environments for a given software configuration. Some representations, methods, and tools that enable model-based control are briefly described. Application of some of the methods and tools to a stochastic optimization code is briefly sketched. The problems of model-based control of two other applications are defined and described. The relationship between model-based control and other methods for adaptive control is briefly discussed.
Model-Based ControlCurrent procedures for selection of system configurations for execution of complex, parallel programs on complex, distributed execution environments are mostly ad hoc. Anecdotal evidence suggests that system configurations obtained from current ad hoc procedures are often sub-optimal. System configuration management is rendered even more difficult when the application is adaptive or when the execution environment changes. Model-based control is a methodology for generating effective system configurations that are based upon predictions obtained from performance models of the application and of its execution environment.Model-based control begins with the well-established but infrequently applied practice of using a performance model of the application and the initial execution environment to determine an effective initial system configuration. Performance models can be assembled manually and the analysis leading to effective configurations can incorporate human intelligence.Adaptive, model-based control adapts system configurations based upon the runtime behavior of the application, changes in execution environment, or both. This control methodology requires us to incorporate measurement, analysis, and modeling into the application structure.It requires automated or semi-automated construction of performance models for application configurations, execution environments, and mapping of applications to resources. Model-based control is domain specific. Automation can occur within application domains and within families of execution environments. This paper reports on progress towards design and implementation of model-based control of a stochastic optimization code and on the initial steps taken toward equipping two other applications, namely a method-of-lines code and a composite materials code, for adaptive modelbased control.The approach and the technology base for adaptive control was established in the POEMS project. POEMS developed methods for automated development of performance models of both applications and execution environments [1]. The original POEMS team, augmented by application developers, is currently extending the technology for compositio...