Stochastic Learning of Computational Resource Usage as Graph Structured Multimarginal Schrödinger Bridge
This addresses the challenge of predicting computational resource usage for software systems, which is incremental as it applies an existing mathematical framework (Schrödinger bridge) to a specific domain problem.
The authors tackled the problem of learning time-varying stochastic computational resource usage from measured profile snapshots, proposing a graph-structured Schrödinger bridge method that enables nonparametric learning and prediction of the most-likely time-varying distribution of resource availability. They demonstrated practical use in case studies including a single-core nonlinear model predictive controller and synthetic multi-core software.
We propose to learn the time-varying stochastic computational resource usage of software as a graph structured Schrödinger bridge problem. In general, learning the computational resource usage from data is challenging because resources such as the number of CPU instructions and the number of last level cache requests are both time-varying and statistically correlated. Our proposed method enables learning the joint time-varying stochasticity in computational resource usage from the measured profile snapshots in a nonparametric manner. The method can be used to predict the most-likely time-varying distribution of computational resource availability at a desired time. We provide detailed algorithms for stochastic learning in both single and multi-core cases, discuss the convergence guarantees, computational complexities, and demonstrate their practical use in two case studies: a single-core nonlinear model predictive controller, and a synthetic multi-core software.