Computing Publications

Publications Home » Software Performance Prediction w...

Software Performance Prediction with a Time Scaling Scheduling Profiler

Nikolaos Baltas, A. J. Field

Conference or Workshop Paper
IEEE 19th International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems (MASCOTS 2011)
January, 2011
pp.107–116
ISBN 978-1-4577-0468-0
ISSN 1526-7539
DOI 10.1109/MASCOTS.2011.39
Abstract

We present a new approach to software performance analysis that aims to extend conventional profiling with some of the predictive capabilities of a performance model. The idea is to execute programs in virtual time, which allows hypothetical time scaling of the constituent parts of an application to be explored in advance of any speculative redevelopment aimed at improving performance. Virtual time execution works via a virtual time scheduler that controls execution by wrapping the underlying (real time) system scheduler and enforcing a thread schedule that takes account of time scaling. The necessary instruments to achieve this are added automatically to the profiled program at load time. We present VEX, a generic low-level kernel for supporting such a `scheduling profiler' in this sense and JINE, a specific instrumentation framework for the Java programming language, that builds on VEX. An evaluation of the VEX/JINE framework with a wide range of standard benchmarks shows that the prediction error is less 10% on average and the execution time overheads less than a factor of two on average, for the benchmarks tested. We also illustrate various time scaling experiments, which yield results that are quite different to those predicted from conventional profiling measurements.

BibTEX file for the publication
 

pubs.doc.ic.ac.uk: built & maintained by Ashok Argent-Katwala.