While it is possible to accurately predict the execution time of a given cycle of an adaptive application, it is not generally possible to predict the adaptive steps the application will take and therefore to predict the total execution time for a given run of the application. To remedy this situation we have developed an executable model that can be accessed dynamically at runtime directly from the application of interest. In this manner, the application itself can predict the execution time for its next cycle, after the adaption step has been completed. This allows the application to decide if it is running correctly (i.e., by matching up to predicted times), when to perform checkpoint operations (if the next cycle will exceed a predefined time limit between checkpoints), or when to terminate the application (if the next cycle will exceed the application's time allocation). In this paper we introduce a framework for specifying such an executable model and demonstrate its use in a variety of performance scenarios. The dynamic model is shown to have high accuracy over a number of test cases (even in the presence of interference). We further demonstrate the use of the model to determine optimal checkpoint intervals.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.