A Domain Specific Language for Execution Profiling and Regulation

Nguyen, P., Falkner, K., Detmold, H. and Munro, D.

    Profiling consists of three stages: the collection of performance data, the processing of that data to infer performance information and the feedback of this performance information into the system. Feedback refers to using the information to change either the runtime system or the sampling parameters for subsequent profiling runs. This paper will concentrate on the latter approach for feedback. The majority of existing profiling tools focus on data collection, requiring manual intervention during processing and feedback. The developer must interpret the results presented to them to identify new profiling strategies. We introduce the concept of profiling regulation, whereby the processes of collection, processing and feedback are automated. We define a domain specific language, sampspec, that provides expressibility and control over the profiling process. The developer provides a declarative specification of the information to collect, the computations to perform and the strategies to employ based on this information. This is in contrast to the manual inspection of results and restarting the profiler. Thus, the profiling process becomes one of specification of strategies for data collection and processing, and how these strategies can adapt over time. In this paper, we describe the system model and illustrate our language through a series of worked examples.
Cite as: Nguyen, P., Falkner, K., Detmold, H. and Munro, D. (2009). A Domain Specific Language for Execution Profiling and Regulation. In Proc. Thirty-Second Australasian Computer Science Conference (ACSC 2009), Wellington, New Zealand. CRPIT, 91. Mans, B., Ed. ACS. 111-120.
pdf (from crpit.com) pdf (local if available) BibTeX EndNote GS