Telco edge clouds are among the most popular and promising technologies with great potential to deliver performance improvements. An edge cloud is an infrastructure to run software located close to devices and end-users.
This type of local deployment brings several performance benefits, one of which is reduced latency. Edge computing services can offer timely response to events and actions at the network edge. This is possible thanks to the advancements in mobile telecommunication technologies. Various sectors, such as manufacturing, healthcare, transport and automotive can achieve faster interaction between edge computing services and devices, and with higher reliability. The fast and reliable set of communication services necessary to facilitate efficiency for these sectors are collectively known as ultra reliable low latency communications (URLLC) services.
Several technological capabilities are necessary to meet the performance requirements of URLLC services, one of which is agile processing of application workloads at the operating system level. Enhancements in the Linux kernel facilitate expedited processing of applications with the enablement of real-time kernel, which is perfect for URLLC applications. In this blog, we will talk about real-time kernel and how telco edge clouds can benefit from it.
What is URLLC?
Modern telecom infrastructure and telecom solutions provide various services to mobile service subscribers with different levels of service level agreements (SLA). These SLAs set limits on multiple key performance metrics, such as latency, data throughput, and reliability. These limits vary according to the type of service offered, and designate how stringent the SLAs are for each service provided to a telco operator’s customers.
The newest generation of mobile communication standards define a number of broad use cases for mobile services, one of which is the most restrictive among others about how large a latency that a service can tolerate. This use case is defined as ultra reliable low latency communications (URLLC).
URLLC brings together two performance requirements in communications that have been traditionally conflicting: reliability and low latency. Services that require low latency, such as telephony, can typically tolerate reduction in reliability, for example, by means of retransmissions when end-to-end data delivery fails. Conversely, other services that focus on transfer of bulk data require high reliability whilst having more room for higher latency. In contrast to these two, URLLC needs both, and 5G systems can now deliver them.
URLLC has several enhanced features now included in the most recent mobile telecommunication standards defined and published by the Third Generation Partnership Project (3GPP), particularly for the air interface between devices and the radio access network (RAN) of a mobile telecom infrastructure. These new features allow for a fast mobile networking protocol stack and are offered to those applications that need very low latency.
However, there are multiple factors that all need to be in place besides having a fast networking protocol stack. One of those is a fast operating system kernel that can expedite the execution of those latency-sensitive applications that also require high reliability. Let’s now take a brief and high-level glance at how applications get processed in the Linux kernel.
How applications are run by an operating system
Multiple applications are run by an operating system (OS) at the same time. These applications run as one or multiple threads, each of which is a block of application code that is executed at a time. As the OS needs to eventually execute all threads, it allocates the threads across the CPU cores found on the system. Having a multiple-core system, which is common-place today in modern systems, makes it possible to have parallel execution of multiple threads across multiple cores.
Despite the fact that there can be more than one CPU core, the OS still needs to execute multiple threads in each core. This is simply because, almost always, there are a lot more threads in the system that need execution than there are CPU cores available to run them. Therefore, on each CPU core, the OS executes application threads one by one, by switching between them: once it finishes executing a thread on a core, it moves on to another. This is a type of concurrency on each core, allowing for the execution of more than one application on a CPU core run over a period of time, despite the fact that the CPU core executes a single thread at a time.
Since only a single thread can be run on a CPU core at a given time, the existence of multiple threads requires a queue where these threads wait for execution. The specific order that application threads are to be executed is determined in runtime by the OS, by means of assigning a priority to each thread. A higher priority assigned to a thread means that this thread is executed sooner than those with a lower priority. This process makes it quicker to execute those applications whose threads get assigned a higher priority.
However, the execution order assigned by the OS scheduler to threads cannot make any guarantees on how soon an application’s execution can be completed. In other words, it is a best-effort service. This is because the time to complete the execution of all threads of an application depends on the other threads that are currently waiting to be executed in the queue. This is exactly where a different mechanism is needed to satisfy the latency requirements of those telco applications that need a rather urgent treatment. So let’s take a look at what a real-time kernel can do in the telco edge for those applications that need fast interaction with devices and users.
In a real-time kernel, the scheduler works towards providing a guarantee for an application on how long its threads wait in the CPU’s execution queue. Once scheduled to run, it also provides a guarantee on how long it will take to actually execute that application’s threads. With these two guarantees in place, the application is given a rather special priority by the operating system. In other words, with the real-time kernel, the uncertainty on how long it takes to execute an application in the Linux kernel is reduced by giving that application preferential treatment. This is what improves the system’s responsiveness to application events.
Support for real-time compute in the Linux kernel is invaluable for those time-sensitive applications providing mission-critical services. If your system has tight latency requirements, and missed deadlines result in system failure cases, then real-time kernel is the best choice.
If you would like to learn more about the real-time kernel technology, check out our technical deep dive on the subject, and also our three-part blog series. Next, we will talk about how real-time kernel is beneficial for telco solutions.
Real-time kernel for the telco infrastructure
To better relate how a real-time kernel helps to improve telco solutions, we need to first elaborate a little bit more on the role that edge computing plays in a modern telecom infrastructure.
Edge computing greatly benefits from any technology that reduces system latency, so that the events triggered by application workloads and devices can be handled more quickly. The telco edge cloud is where we need these fast computation and communication capabilities.
In telco edge clouds, server systems run telco business applications that need fast interaction with devices and users. Oftentimes, such applications are referred to as multi-access edge computing (MEC) applications, referring to the different types of access network technologies that devices could use to connect to business systems. These applications are deployed in a telco edge cloud, so that they can interact with user devices and business terminal devices much faster than they can when deployed in a central cloud location or on a public cloud system.
Real-time kernel helps edge computing and the telco edge cloud performance in multiple ways:
- Business applications can execute quicker on a server system as the real-time kernel prioritises their execution.
- Response times to and from mobile devices is faster, as the software for the mobile communication protocol stack also runs faster on a real-time kernel. For instance, the modular software components of Open RAN systems, such as the central unit (CU), distributed unit (DU), and radio unit (RU), need an agile system to run on.
- Application execution is highly reliable, which is desirable for URLLC use cases that need 99.999% reliability.
This is exactly why the real-time kernel is an ideal telecom solution for URLLC use cases, where business applications care about reliability and ultra-low latency at the same time. With that in mind, let’s now take a look at some typical telecom solutions that can benefit from real-time kernel.
Telco use cases for real-time kernel
With the deployment of the Fifth Generation (5G) mobile networks, many industry sectors will benefit from private mobile networks that deliver efficient on-site mobile telecommunication capabilities, boosting the performance of their business use cases. Real-time kernel will play a key role for those sectors where time-sensitive compute matters, and a missed deadline results in not only system degradation, but also failure. It can provide the sectors with deterministic behaviour and reliable operations with stringent response times.
Industry 4.0 requires connections from machines in a production line to systems deployed on-site. The efficiency and better performance of a private mobile network compared to alternative connectivity options means that now the telco solution delivered to an industry facility must comply with ultra-low latency requirements. Machines operating on a factory floor need to deliver timely updates and receive actuation commands from control systems and software. Even the smallest amount of extra delay that is outside the tolerable amounts means the fine granularity of accuracy is lost, resulting in lower production quality and disruption in the production line.
A real-time kernel is an excellent choice for a self-driving vehicle, and the reason is twofold. First, a self-driving system needs fast execution and coordination of a vehicle’s mechanical and electronic systems with fast response to road events and the triggers from internal control systems. Second, it needs to communicate with systems outside the vehicle to retrieve information on road events, deliver vehicle monitoring information, and receive emergency response and remote control and actuation commands. To support this second need, a 5G telco infrastructure can deliver fast end-to-end vehicle-to-infrastructure (V2X) communication capabilities between a vehicle and system servers at an edge cloud. The communication protocol stack greatly benefits from any latency reduction mechanisms, such as the real-time kernel at the operating system level.
Life support devices that help timely delivery of medical healthcare to patients no doubt need to run quickly. With the availability of 5G URLLC technologies, it is now also possible to deliver telemedicine services and remote surgery operations over a mobile network. This means healthcare staff with the expertise to perform specialised medical operations don’t necessarily have to be at the same location where patients are. URLLCs makes a mobile network deliver remote healthcare services with ultra-low latency and reliability. However, systems still need to execute the mobile networking stack fast and efficiently. Real-time kernel is therefore essential for telemedicine and remote surgery healthcare scenarios.
Smart energy grid
Energy systems are part of our critical infrastructure. Systems failures need to be detected and alerts must be rapidly delivered so that timely remedial actions can be taken. Telecom infrastructure can provide low end-to-end latency for the smart energy grid, which has self-healing mechanisms and control systems that rely on monitoring and actuation signals. Real-time kernel is therefore the perfect technology for a smart-energy grid.
Ubuntu with real-time kernel
We mentioned a few telco use cases in this blog but the list here is certainly not all inclusive, and there are many more industry sectors that can have specific use cases needing support for URLLC. Real-time kernel is a perfect fit for any such use case, but enterprises need production-grade and supported systems. This is where Canonical can help.
Canonical offers real-time kernel with Ubuntu Server 22.04 LTS, via Ubuntu Pro, Canonical’s comprehensive enterprise security and compliance subscription, covering all aspects of open infrastructure. Ubuntu Pro with real-time kernel is an enterprise-grade operating system, ready for production systems that require URLLC telco solutions.
Real-time kernel is also available for Ubuntu Core 22, and is offered to enterprise customers with a Dedicated Snap Store. Ubuntu Core is the fully containerised Ubuntu variant that is optimised for edge devices, such as those at the telco edge cloud.
With a 10-year extended security service included, and available support services, enterprise customers can focus on their mission-critical business operations, whilst Ubuntu with real-time kernel ensures a fast and secure telco infrastructure.
Real-time kernel is a capability that addresses the needs of ultra-reliable and low latency telco use cases often found in multiple industry sectors, such as automobile, manufacturing, automation, healthcare, and smart city services. Canonical provides Ubuntu Pro with real-time kernel to customers in these sectors with an extensive security guarantee and support services.
Ubuntu with real-time kernel is generally available for your telco use cases; read our announcement for details. If you also would like to learn more about Ubuntu Pro’s security features for telco, you can watch our webinar and read our blog.
Canonical provides a full stack for your telecom infrastructure. To learn more about our telco solutions, visit our webpage at ubuntu.com/telco.