The concept of dynamic resource allocation doesn’t really exist with traditional, fixed-function networking devices because all of their computing resources are normally dedicated to one particular network function.
Orchestrators have been around since the advent of cloud computing. They create and tear down virtual machines (VM) all day long, typically assigning a fixed amount of computing resource to VMs. When applications are not running fast enough, options include running fewer VMs on the server or adding more system memory, but neither option addresses any possible underlying issues or deal well with rapidly changing workload needs such as spikes in traffic.
If we want orchestrators to do a better job at allocating resources intelligently and dynamically, we have to give them better tools – and in a network management environment there are unique requirements. One example is that providers of telecom solutions have traditionally had to provide assurances of delivered capabilities around “FCAPS” – Fault, Configuration, Accounting, Performance and Security. Providing assurance of such service levels is particularly essential to support critical and latency-sensitive applications like autonomous cars and stock trading.
Two critical shared resources are cache size and memory bandwidth, which can have a large influence on overall application performance in multi-threaded and multi-tenant environments. Cache is a computing platform’s fastest memory system, enabling instructions to execute more quickly by providing high-bandwidth, low-latency data to the processor cores. High memory bandwidth is crucial to network functions that forward and switch high volumes of network traffic.
With Intel® Infrastructure Management Technologies, we’ve made it easier for orchestrators to get the information required to tune the platform to meet critical performance requirements. Intel® Resource Director Technology (Intel® RDT) is one such technology that enables orchestrators to monitor and control key shared system resources to help ensure quality of service (QoS), a key element of service assurance use models. It’s an innovative capability used to maximize workload consolidation density and avoid overprovisioning of computing resources. The control features help improve performance consistency and dynamic service delivery, leading to improved service assurance, availability, and agility.
Here are the main features of Intel RDT:
- Cache Monitoring Technology (CMT) monitors the last-level cache (LLC) utilization by individual threads, applications, or VMs. It enhances application characterization, “noisy neighbor” detection, performance debugging, and advanced real-time provisioning and scheduling decision-making.
- Cache Allocation Technology (CAT) allows orchestrators to dynamically assign dedicated LLC capacity to a network function (i.e., thread) to increase its determinism or ensure consistent line-rate performance based on information from CMT (above). This feature can be automated via software-programmable control for best efficiency.
- Memory Bandwidth Monitoring (MBM) tracks a thread’s memory bandwidth usage to detect over-utilized memory bandwidth, characterize and debug the performance of bandwidth-sensitive applications, detect “noisy neighbor” streaming applications, and schedule non-uniform memory accesses (NUMA) more effectively.
- Code and Data Prioritization (CDP) enables separate control over code and data placement in the LLC. Certain specialized types of workloads may benefit from increased runtime determinism and greater performance predictability.
Optimize Your NFV Infrastructure
Be confident that your performance-critical workloads are getting the resources they need so they meet your service level (and as a provider, service-assurance) objectives. Make sure a low-priority workload isn’t hogging cache or memory, thereby choking a high-priority workload and bringing down its performance. With help from Intel® Infrastructure Management Technologies such as Intel RDT, limit the cache of a low-priority workload or move it to another server that isn’t running time-critical applications.
If you’re developing a multi-function appliance, Intel RDT makes it easier to integrate third party applications, especially if any of them happen to be a noisy neighbor. Tune your shared resources to get the right level of performance out of all your applications. For example, make sure all your virtual switch code runs in cache, which will improve the performance of all the VMs.
Intel RDT also gives you the tools to offer several levels of performance based on different service level agreements (SLAs). Make dynamic resource adjustments in order to maintain consistent performance levels.
This is one use case for Intel Infrastructure Management Technologies, applied to Communications Service Provider management needs but many of these same technologies are being deployed to similar service-delivery and management purposes in cloud environments. Intel Infrastructure Management Technologies provide detailed platform telemetry (usage, statistics, errors and events data) through open standard APIs and plug-ins to management and analytics systems, providing rich information on the operational usage and control of the platform resources. The rich platform telemetry can be processed by both online and off-line analytics systems to detect and report trends, which can feed improved decisions on resource and capacity planning—in networks and beyond.
Technology Pillars for NFV Infrastructure
To enhance the capabilities of NFV infrastructure, Intel developed advanced capabilities in three key areas: packet processing performance, service assurance enablement, and data and network security. In this blog, I highlighted the tools that can help monitor and improve service assurance use model capabilities. In a prior blog, I described the tremendous packet processing improvement from the Data Plane Development Kit (DPDK). Look for a future blog on data and network security.
You can follow Dan on Twitter: @drod2000.