and other RAN functions) largely in software in an off-the-shelf hardware platform consisting of servers utilizing commercially available general purpose processors and accelerators such as x86 central processing units (CPUs), field programmable gate arrays (FPGAs), and smart net- work interface controllers (SmartNICs), where the stack implementation is not tied to a particular hardware (i.e. is virtualized) and the solution can be scaled based on the workload and resources available. With more powerful processors coming every generation and cloud-based data centers, virtualization enables operators to reduce capital expenditure (CAPEX) and operational expenditure (OPEX) by not requiring proprietary hardware, resource pooling across sites, and enabling solutions to be upgraded and operated in a centralized and scalable manner. The two most common virtualized platforms are hypervisors (virtual machines [VMs]) and containers. While the hypervisor is a more mature technology, which has been deployed for many applications (e.g. data centers), the growing trend in virtualization is moving toward a container-based cloud native platform, which enables lower memory footprints, lower processing overheads, and better support for real-time requirements. The 3GPP and O-RAN standards have evolved to allow functional splits of the RAN that enable most of the RAN to be virtualized (and deployed in a cloud or a data center) while keeping radio and a small portion of the physical layer processing (e.g. time-domain pro- cessing) to be implemented in hardware and remain deployed on the site. That being said, the relevant standards typically do not define virtualized RAN explicitly, but rather make it possible in implementation. There are several challenges to RAN virtualization, which is getting more complex as we move toward high data rate and low latency requirements for 5G. These include support for hardware accelerators, timing/synchronization, scaling with load, high availability, and managing power consumption. 6.2 Virtualiza