A Framework for Automated Learning of Application Memory Usage Behaviour

Accurate estimation of the amount of memory required is an important step in discovering and selecting configurations for computational jobs in a grid environment. In order to mitigate the adverse impact of over and under estimation of memory requirements, job submitters need to carry out benchmarking in order to understand the memory usage behaviour of specific applications. An automated mechanism for learning the memory usage pattern can allow them to focus more on the results of the jobs. This paper presents mechanisms that automate the process of understanding the memory usage behaviour of jobs. The mechanism uses the provenance data from previously completed jobs. The proposed mechanism enables populating an information model describing the memory usage patterns of applications. The paper also presents techniques for making predictions on the memory usage while the development of the knowledge base is still being carried out. The utility of the mechanism is demonstrated by showing its increasing ability to predict the memory usage for incoming jobs. Also highlighted are the factors that effect the pace in which the system acquires knowledge about the memory usage behaviour.

[2]  Cameron Kiddle,et al.  A Generic Execution Management Framework for Scientific Applications , 2010, 2010 IEEE 12th International Conference on High Performance Computing and Communications (HPCC).

[3]  Gil Utard,et al.  On the memory usage of a parallel multifrontal solver , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[4]  Shengchao Qin,et al.  Analysing memory resource bounds for low-level programs , 2008, ISMM '08.

[5]  Shengchao Qin,et al.  Memory Usage Verification for OO Programs , 2005, SAS.

[6]  David K. Gifford Hardware estimation of a process' primary memory requirements , 1977, CACM.

[7]  Sergio Yovine,et al.  Synthesizing parametric specifications of dynamic memory utilization in object-oriented programs , 2005 .

[8]  Cameron Kiddle,et al.  Modelling memory requirements for grid applications , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[9]  Mrv Michel Chaudron,et al.  Scenario-based prediction of run-time resource consumption in component-based software systems , 2003 .

[10]  Ovidiu Gheorghioiu,et al.  Statistically determining memory consumption of real-time Java threads , 2002 .

[11]  Sergio Yovine,et al.  A Static Analysis for Synthesizing Parametric Specifications of Dynamic Memory Consumption , 2006, J. Object Technol..

[12]  Laurent Nana,et al.  Scheduling and memory requirements analysis with AADL , 2005 .

[13]  Sergio Yovine,et al.  Parametric prediction of heap memory requirements , 2008, ISMM '08.