HomeCommunityArchitectures and Processors blog
August 5, 2019

Improved Power Management and System Control through SCMI

This blog offers an overview of the Arm SCMI white paper and specification. It outlines improved power and performance management of a SoC, as well as enhanced system control functionality using SCMI.

By Souvik Chakravarty

Share
Reading time 4 minutes

Power and Performance Management of a System-on-Chip (SoC) aims to deliver the maximum designed performance while simultaneously optimizing power consumption for targeted software workloads. In this context, the Operating System (OS) is the entity that has the most comprehensive view of the running and runnable workloads. Thus, the OS has evolved over time as the primary entity driving and controlling power and performance management along with system control functionality.

OS-based Power Management paradigms and their drawbacks

Software Complexity

OS-based system control and power management has led to complexities in the software stack which have affected its maintainability, portability and security. The race for differentiation among hardware vendors has led to widely different hardware designs requiring specialized software support, which are potentially difficult for a single generic OS kernel to support. This poses a challenge for OS developers who strive to create and maintain a single, generic kernel. The differentiation also poses problems for SoC vendors, who must provide dedicated software for each platform that they must support. Hence many platforms end up maintaining out-of-tree kernel code. This poses challenges in OS upgrades, which in-turn leads to faster obsolescence because the latest software features and security upgrades become difficult to deploy. Additionally, vendors who want to support multiple OS variants on each platform need to create, maintain and debug separate software stacks for each OS with no code commonality.

System-on-Chips may comprise multiple PE clusters, each cluster running a separate OS Instance. In such a scenario any single OS instance may not have complete control and view of the platform. This is true of virtualized systems as well, where there may be multiple OS hosted as Virtual Machines. In such a scenario, the traditional OS-based control of the platform’s system and power management leads to software which is either too bespoke for a generic kernel to support or which compromises functionality.

Security vulnerability

Maintaining all the system and power controls within the domain of the OS kernel has another side-effect. It exposes the system to security attacks which may result in denial of service, extraction of secrets, or other exploits. Such attacks generally work by attempting to transition the system into unstable states by exploiting the system controls exposed to the OS kernel. As a mitigation, some platforms have migrated system controls away to the Secure Trusted world. However, there is no common mechanism, at least in the Linux kernel, that works for all platforms with such a design.

Response time limitations

As SoCs become more powerful, it may not always be feasible to design power supplies for worst case electrical requirements or design the platform chassis for worst case thermal requirements. Such designs require a central entity to regulate platform power and performance according to the electrical and thermal environment and tolerances. This entity must be capable of providing a faster response time than OS kernels.

Delegation-based approach to Power Management

The above limitations of OS-centric power and performance management leads to an obvious conclusion: the Arm ecosystem needs to adopt a delegation-based approach to power and performance management. This approach exploits a judicious division of power, performance and system control responsibilities between the OS and the platform firmware.

In the delegation-based approach, an entity that can perform the role of the platform firmware is the Arm System Control Processor (SCP) firmware. The SCP firmware can be customized for differentiation, thereby allowing the OS kernel to remain generic. The OS continues to play a primary role in choosing power and performance levels. The firmware validates the OS requests according to overall system policies and constraints, and programs the platform hardware to operate at the selected level.

Benefits to OS developers and SoC Vendors

The delegation-based approach to power management and system control architecture is resistant to security attacks and can be deployed on generic OS kernels without modifications to the latter. The SCP-Firmware can potentially support multiple Operating System variants on the same platform, thereby lowering efforts through firmware commonality. This eases development, debug and maintenance costs for the OS developers and reduces time to market for the SoC vendors.

Standard Interface between OS and Platform Firmware

SCMI overview diagram

A key requirement of the delegation-based approach is a standard interface between the platform firmware and the OS kernel. The Arm System Control and Management Interface (SCMI) specification provides this standardized interface, allowing a generic OS kernel to communicate with any platform firmware that complies to this specification. It also enables a common firmware that can be deployed across multiple Operating Systems.

More Information on SCMI

Our newly published white paper provides a high-level overview of the SCMI specification and the benefits it offers to OS developers and SoC vendors in enabling a generic OS kernel that works across a variety of SoC designs. The whitepaper provides details of how a platform design can leverage SCMI to provide the benefits of maintainability, safety and security while still providing differentiation.

Download SCMI White Paper


Log in to like this post
Share

Article text

Re-use is only permitted for informational and non-commercial or personal use only.

placeholder