Historically, high performance systems use schedulers and intelligent resource managers in order to optimize system usage and application performance. Most of the times, applications just issue requests of resources to the central system. This centralized approach is an unnecessary constraint for a class of potentially flexible applications, whose resource usage may be modulated as a function of the system status. In this paper we propose a tool which, in a way essentially transparent to final users, lets the application to self-tune in function of the status of the target execution environment. The approach hinges on the use of the MetaPL/HeSSE methodology, i.e., on the use of simulation to predict execution times and skeletal descriptions of the application to describe run-time resource usage.