Skip to Main Content
This paper presents a novel approach to estimating and predicting the system-wide utilisation of computational resources in real-time. An algorithm that implements a discrete minimum mean-square error filter is applied to fuse concurrent and sequential observations of system event counts into a state vector. Contemporary computer components and subsystems make these event counts available through hardware performance counter registers. The registers may be accessed by the system's software quasi-concurrently but the number of registers in individual components is usually smaller than the number of events that can be monitored. Our approach overcomes this problem by modeling individual hardware performance counter readings as vector random processes and recursively processes them one at a time into a common state vector, thereby making larger performance counter sets observable than would otherwise be possible.