Bolt: Faster Reconfiguration in Operating Systems

Dynamic resource scaling enables provisioning extra resources during peak loads and saving energy by reclaiming those resources during off-peak times. Scaling the number of CPU cores is particularly valuable as it allows power savings during low-usage periods. Current systems perform scaling with a slow hotplug mechanism, which was primarily designed to remove or replace faulty cores. The high cost of scaling is reflected in power management policies that perform scaling at coarser time scales to amortize the high reconfiguration latency. We describe Bolt, a new mechanism built on existing hotplug infrastructure to reduce scaling latency. Bolt also supports a new bulk interface to add or remove multiple cores at once. We implemented Bolt for ×86 and ARM architectures. Our evaluation shows that Bolt can achieve over 20× speedup for entering offline state. While turning on CPUs, Bolt achieve speedups of 1.3× and 21× for ×86 and ARM. The speedup is limited by high latency hardware intialization. On an ideal processor with zero-latency initialization, the speedup on ×86 rises to 10×.