A Domain Specific Language for Execution Profiling & Regulation

Free registration required

Executive Summary

Profiling is the process of gathering information about a runtime system to determine the performance of the system under certain circumstances. This information can be used to reveal areas of the system that are computationally intensive. 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 describes an approach to profiling that makes the regulator mechanism a feasible means for automating the collection, processing and feedback stages. The regulator takes the form of a domain specific language called sampspec, which allows the developer to programmatically specify the information that should be collected, the computations that should take place on this data as well as the actions to take with respect to subsequent runs. Consequently, sampspec provides the requisite expressibility in acting as a regulator. Existing profiling systems do not provide the ability for regulation as profiling is stopped and restarted for any feedback into the profiler to take effect. The paper also describes the system model and illustrates the language through a series of worked examples.

  • Format: PDF
  • Size: 208.5 KB