Iridescent: A Framework Enabling Online System Implementation Specialization
Vaastav Anand, Deepak Garg, Antoine Kaufmann
TL;DR
The paper tackles the challenge of manually designing high-performance, workload-specific system implementations by proposing Iridescent, a framework that automates online specialization guided by end-to-end performance. It introduces a two-part architecture that separates stable fixed code from a performance-critical handler, and provides a rich set of specialization points and policy-driven, Just-In-Time code generation to explore configurations at runtime. Through multiple case studies (MMulBlockBench, CloverLeaf, LibLPM, TAS, FastClick, Network Functions), Iridescent demonstrates substantial performance gains (up to 30x in some cases) and adaptation to dynamic workloads, while carefully addressing correctness via specialization guards. The work contributes a practical toolkit for annotating specialization opportunities, managing runtime exploration, and integrating with LLVM, enabling dynamic, end-to-end optimization with manageable developer effort.
Abstract
Specializing systems to specifics of the workload they serve and platform they are running on often significantly improves performance. However, specializing systems is difficult in practice because of compounding challenges: i) complexity for the developers to determine and implement optimal specialization; ii) inherent loss of generality of the resulting implementation, and iii) difficulty in identifying and implementing a single optimal specialized configuration for the messy reality of modern systems. To address this, we introduce Iridescent, a framework for automated online system specialization guided by observed overall system performance. Iridescent lets developers specify a space of possible specialization choices, and then at runtime generates and runs different specialization choices through JIT compilation as the system runs. By using overall system performance metrics to guide this search, developers can use Iridescent to find optimal system specializations for the hardware and workload conditions at a given time. We demonstrate feasibility, effectivity, and ease of use.
