  We propose to learn the time-varying stochastic computational resource usage
of software as a graph structured Schr\"odinger 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.
