Resonance: Replacing Software Constants with Context-Aware Models in Real-time Communication - Gupchup, Jayant; Aazami, Ashkan; Fan, Yaran; Filipi, Senja; Finley, Tom; Inglis, Scott; Asteborg, Marcus; Caroll, Luke; Chari, Rajan; Cozowicz, Markus; Gopal, Vishak; Prakash, Vinod; et al. (NeurIPS 2020, 2020)
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 realtime 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.