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. |
(local if available)