78-0-323-91923-4.00014-8 © 2022 Elsevier Inc. All rights reserved. 140 Open Radio Access Network (O-RAN) Systems Architecture and Design possible scaling options, ordered from simple and low-impact to complex and high- impact: Scale the performance of an existing device by changing core frequency. This is what Personal Computers do when they change to a "turbo" frequency for peak performance requirements-you don't change the system at all, but just run it at a different frequency to match performance requirements. Obviously the software impact is pretty much nonexistent, there doesn't need to be any re-partitioning of software. Also, the hardware changes that are required are limited. The hardware system may want to support dynamic voltage and frequency scaling to incrementally reduce power consumption. Overall, this approach can save tens of percentage of consumed power, with minimum impact. Scale the number of cores in a device, without changing device families. Silicon devices from (almost) all vendors come in device families that are pin-compatible but support different numbers of CPU cores, programmable gates, memory interfaces, and SO on. This allows a single hardware design to support multiple devices with associated price and power targets, typically with approximately two times overall performance range from low-end to high-end. There is a software impact, however, where software needs to either be modified to scale "automatically" between number of deployed cores (Linux as an Operating System does this, obviously, but a application level thread scheduling algorithm could be built similarly) or the software needs to have multiple instantiations, each hard-configured to the number of CPU cores deployed in the specific system. Scale by adding or removing devices in the system. Consider building a board design that allows to de-populate some of the components for a single hardware design to be able to support multiple product categories. This strategy doesn't save in form factor but given that silicon const