Runtime Estimation and Resource Allocation for
Carnegie Mellon University Parallel Data Lab Technical Report CMU-PDL-12-113. December 2012.
Jiri Simsa, Randy Bryant, Garth A. Gibson
School of Computer Science
Carnegie Mellon University
In the past 15 years, stateless exploration, a collection of techniques for automated and systematic testing of concurrent programs, has experienced wide-spread adoption. As stateless exploration moves into practice, becoming part of testing infrastructures of large-scale system developers, new practical challenges are being identified.
In this paper we address the problem of efficient allocation of resources to stateless exploration runs. To this end, this paper presents techniques for estimating the total runtime of stateless exploration runs and policies for allocating resources among tests based on these runtime estimates.
Evaluating our techniques on a collection of traces from a real-world deployment at Google, we demonstrate the techniques' success at providing accurate runtime estimations, achieving estimation accuracy above 60% after as little as 1% of the state space has been explored. We further show that these estimates can be used to implement intelligent resource allocation policies that meet testing objectives more than twice as efficiently as the round-robin policy.
KEYWORDS: Concurrency, Stateless Exploration, State Space Reduction, Runtime Estimation, Resource
FULL TR: pdf