Stochastic Learning of Computational Resource Usage as Graph Structured Multimarginal Schrödinger Bridge
Georgiy A. Bondar, Robert Gifford, Linh Thi Xuan Phan, Abhishek Halder
TL;DR
The paper addresses learning the time-varying, jointly distributed availability of heterogeneous hardware resources (e.g., CPU, LLC, memory bandwidth) by formulating it as a graph-structured multimarginal Schrödinger bridge problem. It introduces path, barycentric, and series-parallel MSBP formulations, with maximum-likelihood interpretations, and develops efficient Sinkhorn-based projection algorithms that scale linearly with the number of snapshots or cores. Theoretical guarantees of convexity and duality are paired with practical algorithms that exploit graph structure to reduce computational complexity, allowing nonparametric learning directly from scattered profile data without gridding. Empirical validation on single-core NMPC and multi-core Canneal benchmarks demonstrates accurate distributional predictions and fast convergence, highlighting the approach’s potential for fine-grained dynamic resource scheduling in resource-constrained cyber-physical systems.
Abstract
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.
