Reto Achermann
Assistant Professor
Systopia Lab
Department of Computer Science
University of British Columbia
Declarative Power Sequencing
Authors
Jasmin Schult, Daniel Schwyn, Michael Giardino, David Cock, Reto Achermann and Timothy Roscoe
Venue
ACM TECS
Links
Abstract
Modern computer server systems are increasingly managed at a low level by baseboard management controllers (BMCs). BMCs are processors with access to the most critical parts of the platform, below the level of OS or hypervisor, including control over power delivery to every system component. Buggy or poorly designed BMC software not only poses a security threat to a machine, it can permanently render the hardware inoperative. Despite this, there is little published work on how to rigorously engineer the power management functionality of BMCs so as to prevent this happening.
This article takes a first step toward putting BMC software on a sound footing by specifying the hardware environment and the constraints necessary for safe and correct operation. This is best accomplished through automation: correct-by-construction power control sequences can be efficiently generated from a simple, trustworthy model of the platform’s power tree that incorporates the sequencing requirements and safe voltage ranges of all components.
We present both a modeling language for complex power-delivery networks and a tool to automatically generate safe, efficient power sequences for complex modern platforms. This not only increases the trustworthiness of a hitherto opaque yet critical element of platform firmware: regulator and chip power models are significantly simpler to produce than hand-written power sequences. This, combined with model reuse for common components, reduces both time and cost associated with platform bring-up for new hardware.
We evaluate our tool using a new high-performance 2-socket server platform with >100W per socket TDP, tight voltage limits and 25 distinct power regulators needing configuration, showing both fast (<10s) tool runtime, and correct power sequencing of a live system.
Bibtex
@article{Schult:2021:DPS, author = {Schult, Jasmin and Schwyn, Daniel and Giardino, Michael and Cock, David and Achermann, Reto and Roscoe, Timothy}, doi = {10.1145/3477039}, id = {Schult:2021:DPS}, issn = {1539-9087}, journal = {ACM Transactions on Embedded Computing Systems}, month = {9}, number = {5s}, publisher = {Association for Computing Machinery}, series = {ACM TECS}, title = {Declarative Power Sequencing}, url = {https://doi.org/10.1145/3477039}, volume = {20}, year = {2021} }