Resonance: Replacing Software Constants with Context-Aware Models in Real-time Communication
This work addresses the problem of sub-optimal 'one-size-fits-all' software constants for large-scale real-time communication applications like Skype, providing a method for dynamic, context-aware optimization.
This paper replaces fixed software constants in Skype's real-time communication (RTC) system with context-aware models using contextual bandits. They applied this to audio, video, and transport components, demonstrating an experimental approach to optimize runtime performance based on dynamic context.
Large software systems tune hundreds of 'constants' to optimize their runtime performance. These values are commonly derived through intuition, lab tests, or A/B tests. A 'one-size-fits-all' approach is often sub-optimal as the best value depends on runtime context. In this paper, we provide an experimental approach to replace constants with learned contextual functions for Skype - a widely used real-time communication (RTC) application. We present Resonance, a system based on contextual bandits (CB). We describe experiences from three real-world experiments: applying it to the audio, video, and transport components in Skype. We surface a unique and practical challenge of performing machine learning (ML) inference in large software systems written using encapsulation principles. Finally, we open-source FeatureBroker, a library to reduce the friction in adopting ML models in such development environments