A flow-aware intelligent network interface card optimization system and method
By optimizing the resource allocation of intelligent network interface cards through real-time monitoring and dynamic scheduling, the performance bottleneck caused by multiple resource contention is resolved, ensuring the stability of high-priority tasks and system efficiency, and realizing the rational allocation and efficient utilization of resources.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HARBIN INST OF TECH AT WEIHAI
- Filing Date
- 2026-01-30
- Publication Date
- 2026-05-29
AI Technical Summary
In environments with high resource contention, intelligent network interface cards face the problem of resource contention affecting performance and throughput. At the same time, it is difficult to monitor and predict the dynamic changes in network traffic in real time to maintain the stability and efficiency of network functions.
By introducing modules for resource monitoring, traffic awareness, resource prediction, and dynamic scheduling, network traffic is monitored in real time, resource allocation is dynamically adjusted based on traffic patterns, machine learning and time series analysis methods are used for traffic prediction, and priority queues and load balancing modules are combined to optimize resource allocation strategies.
It effectively solved the resource contention problem, ensured the stable operation of high-priority tasks, improved system throughput and stability, reduced resource waste, and enhanced the utilization rate of hardware resources.
Smart Images

Figure CN122120135A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of computer network technology, and more specifically, relates to a system and method for optimizing a traffic-aware intelligent network interface card in a multi-resource contention environment. Background Technology
[0002] Intelligent network interface cards (INICs) are hardware devices that integrate computing and networking functions. Widely used in modern data centers and cloud computing environments, INICs differ from traditional network interface cards in that they not only handle data packet transmission but also integrate processors and dedicated hardware accelerators, supporting advanced processing and customized functions for network traffic. The advantages of INICs lie primarily in their high performance, low latency, and programmability, making them key hardware for network function virtualization and network acceleration.
[0003] At present, although intelligent network interface cards have significantly improved performance, they still face two major technical challenges in practical applications: resource contention and traffic awareness, as detailed below: 1. When multiple network functions run in parallel on the same intelligent network interface card, they share limited hardware resources (such as processor cores, memory, and hardware accelerators), leading to resource contention and thus affecting performance and throughput. 2. How to monitor and predict dynamic changes in network traffic in real time in order to adjust resource allocation strategies and ensure the stability and efficiency of network functions under sudden or irregular traffic patterns. Summary of the Invention
[0004] This invention addresses the technical problems existing in the prior art by providing a system and method for optimizing intelligent network interface cards based on traffic awareness.
[0005] To solve the above-mentioned technical problems, the present invention provides the following technical solution: An optimization method for traffic-aware intelligent network interface cards is proposed, which is achieved through a combination of one or more of the following steps: Real-time monitoring and feature aggregation: The resource monitoring module periodically collects the usage status of CPU, memory and hardware accelerators of each network function; the traffic awareness module extracts statistical features, pattern features and time series features, and forms a unified state vector. Traffic trend prediction: The traffic prediction module outputs short-term and long-term traffic prediction values and traffic pattern labels based on the above state vector. Resource demand and contention risk inference: The traffic prediction results are input into the performance model through the resource prediction module to deduce the multi-resource demand of each network function in the future window, and the resource contention index is calculated to assess the contention risk; when the risk exceeds the threshold, an early warning is triggered and feedback is sent to the scheduling decision layer. Joint scheduling decision generation: Through the resource scheduling module, multi-dimensional scheduling decision input items are used as joint inputs, and under the constraints of the priority queue module, dynamic allocation ratios and adjustment directions for multiple resources are generated; Policy issuance and resource execution: The scheduling decision is issued to the hardware resource layer, and resource isolation, quota adjustment and accelerator time queue configuration are implemented through the operating system; Effect evaluation and incremental feedback optimization: The effect of the strategy is evaluated based on throughput, latency and SLA compliance rate; if the target is not met, the scheduling parameters are updated according to the rules and the next closed-loop iteration is initiated.
[0006] Preferably, the optimization method includes a coupled multi-resource contention optimization link based on dynamic scheduling and a prediction link based on traffic awareness. The traffic awareness and traffic prediction results provide prior input for resource prediction and resource scheduling, and resource monitoring and execution feedback are used to correct prediction deviations and scheduling parameters, forming a continuous adaptive optimization.
[0007] Preferably, the optimization method employs a layered closed-loop architecture. The closed-loop logic includes: monitoring data providing input for prediction, prediction results guiding scheduling decisions, decisions being issued to hardware for execution, execution results being fed back to the monitoring layer, and parameters being iteratively optimized. The layered closed-loop architecture includes: The hardware resource layer includes the physical resources of the intelligent network interface card, which is used to execute scheduling strategies and provide feedback on the execution results. The monitoring and acquisition layer includes a resource monitoring module and a traffic awareness module, which are responsible for collecting system operation status data in real time and extracting traffic characteristics. The predictive analytics layer includes a traffic prediction module and a resource prediction module. It uses machine learning and time series analysis methods to predict future traffic patterns and resource demands. The scheduling decision layer includes a resource scheduling module, a priority queue module, and a load balancing module. Together, they achieve priority-oriented resource allocation, quantitative indicator-driven load balancing correction, and multi-dimensional collaborative dynamic allocation.
[0008] Preferably, the resource scheduling module takes predicted demand, real-time status, contention risk, and SLA / priority as joint inputs.
[0009] Preferably, during the closed-loop iteration process, the allocation of multiple resources follows a unified adjustment principle: priority is given to ensuring the SLA boundary of high-priority network functions; under the constraint of resource upper limit, bottleneck relief is prioritized for resource dimensions with high contention risk; resource reclamation and reallocation are implemented for network functions with low load or low resource utilization; and small-step incremental adjustments are adopted for sudden traffic scenarios to avoid system oscillation and balance stability and response speed.
[0010] Preferably, the traffic awareness module uses DPDK-based zero-copy packet capture technology to extract statistical characteristics, pattern characteristics, and timing characteristics of network traffic in real time. By using a polling mode to directly capture data packets from the network queue of the intelligent network interface card, bypassing the operating system kernel protocol stack, zero-copy high-speed data packet capture is achieved. Data packets are aggregated into streams based on 5-tuples to extract data packet rate, byte rate, burst factor, time-series autocorrelation features, and traffic pattern labels. The traffic pattern labels include at least four categories: stable, bursty, periodic, and irregular.
[0011] Preferred, including: Packet capture technology; Traffic classification and aggregation: IP packets are filtered by an Ethernet type classifier, and non-IP packets are discarded. The AggregateIPFlows module is used to aggregate packets according to five-tuples. The timeout for UDP and TCP flows is set to 3600 seconds. Statistical feature extraction: The Counter module is used to count the number of data packets and bytes, and the AverageCounter module is used to calculate the average packet size; real-time traffic rate, including bit rate and packet rate, is calculated in 1-second intervals using a script; statistical features include: packet rate, byte rate, average packet size, stream size, and number of active streams; Pattern feature extraction: Analyze the burst characteristics of traffic and calculate the burst factor as the ratio of peak rate to average rate; Time series feature extraction: Construct traffic time series data, including historical data points from the past 60 seconds; calculate the autocorrelation function of the time series to identify periodic patterns, extract the statistical characteristics of the time series, and label the traffic patterns as one of four types: stable, bursty, periodic, or irregular through a pre-trained traffic classification model; Data Acquisition Output: All acquired data is stored in CSV format, containing the following fields: timestamp, packet rate, byte rate, average packet size, stream size, number of active streams, CPU utilization, memory usage, and actual throughput.
[0012] Preferably, the resource prediction module incorporates the resource competition index R. contention The formula for assessing the risk of contention is as follows:
[0013] In the formula, This represents the resource requirement of the i-th network function. Indicates the total resource capacity. Indicates the frequency of resource usage; When R contentionWhen the value is greater than 0.85, a high risk of resource contention is identified, and the system triggers an early warning mechanism to send this information to the resource scheduling module.
[0014] Preferably, the priority queue module sets priority weights based on the service type, service level agreement requirements, and current status of network functions. The weight of high-priority network functions is not less than 0.7, and priority is given to ensuring their minimum throughput and maximum latency SLA boundaries. During resource scheduling, CPU cores and hardware accelerator resources are allocated to high-priority network functions first. The load balancing module assesses the load status using the Load Balancing Index (LBindex), which is calculated as follows:
[0015] In the formula, σ is the standard deviation of resource utilization rate, and μ is the mean of resource utilization rate; When LB index When the value is greater than 0.3, it is determined to be a load imbalance, triggering resource reallocation to balance the resource usage weight of each network function.
[0016] Furthermore, the present invention also provides a traffic-aware intelligent network interface card optimization system, which applies the above-mentioned optimization method, including: The traffic awareness module is used to monitor and analyze network traffic characteristics in real time, identify traffic patterns, and generate traffic characteristic data. The traffic prediction module is used to predict changes in traffic patterns; The resource monitoring module is used to monitor and collect the usage of intelligent network interface card hardware resources by multiple network functions, and provide real-time feedback on resource usage efficiency and bottlenecks. The resource prediction module is used to predict the future resource requirements of various network functions; The resource scheduling module is used to dynamically adjust the resource allocation strategy of the intelligent network interface card.
[0017] Compared with the prior art, the present invention has the following beneficial effects: This invention, through the introduction of resource monitoring, traffic awareness, resource prediction, and dynamic scheduling modules, monitors network traffic in real time and predicts its changing trends, dynamically adjusting resource allocation based on traffic patterns. Specifically, real-time monitoring and intelligent scheduling result in more rational resource allocation for each network function, improving hardware resource utilization; a priority module ensures that high-priority network functions receive sufficient resources, guaranteeing the real-time performance and stability of critical tasks; the resource prediction module can predict resource demands based on traffic fluctuations, thereby enabling advance resource scheduling and avoiding performance issues caused by sudden traffic changes; the traffic prediction module, combined with machine learning and time series analysis methods, anticipates changes in traffic patterns, preventing uneven resource allocation and improving the processing efficiency of intelligent network interface cards; and the load balancing module ensures that under high load, each network function can allocate resources according to its priority.
[0018] This invention enables automatic monitoring and dynamic adjustment of resource allocation when multiple network functions are running in parallel, avoiding performance bottlenecks caused by excessive resource contention. Furthermore, it can monitor and predict dynamic changes in network traffic in real time, dynamically adjusting the resource allocation strategy of the intelligent network interface card based on the prediction results. This invention's optimization method effectively solves the resource contention problem, ensuring the stable operation of high-priority tasks through priority sorting and load balancing, improving system throughput and stability, and reducing resource waste. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a flowchart illustrating an optimization method according to one embodiment of the present invention; Figure 2 This is a schematic diagram of the architecture of an optimization method and system according to one embodiment of the present invention; Figure 3 This is a block diagram of a resource monitoring data acquisition module according to one embodiment of the present invention; Figure 4 This is a block diagram of a traffic prediction module according to one embodiment of the present invention; Figure 5 This is a block diagram of a resource prediction module according to one embodiment of the present invention; Figure 6 This is a flowchart illustrating the resource scheduling module of one embodiment of the present invention. Detailed Implementation
[0021] To make the technical problems, technical solutions, and beneficial effects to be solved by this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and are not intended to limit the scope of this application.
[0022] Example 1 Please see Figure 1 This invention provides an optimization method for traffic-aware intelligent network interface cards, which is achieved through a combination of one or more of the following steps: Real-time monitoring and feature aggregation: The resource monitoring module periodically collects the usage status of CPU, memory and hardware accelerators of each network function; the traffic awareness module extracts statistical features, pattern features and time series features, and forms a unified state vector. Traffic trend prediction: The traffic prediction module outputs short-term and long-term traffic prediction values and traffic pattern labels based on the above state vector. Resource demand and contention risk inference: The traffic prediction results are input into the performance model through the resource prediction module to deduce the multi-resource demand of each network function in the future window, and the resource contention index is calculated to assess the contention risk; when the risk exceeds the threshold, an early warning is triggered and feedback is sent to the scheduling decision layer. Joint scheduling decision generation: Through the resource scheduling module, multi-dimensional scheduling decision input items are used as joint inputs, and under the constraints of the priority queue module, dynamic allocation ratios and adjustment directions for multiple resources are generated; Policy issuance and resource execution: The scheduling decision is issued to the hardware resource layer, and resource isolation, quota adjustment and accelerator time queue configuration are implemented through the operating system; Effect evaluation and incremental feedback optimization: The effect of the strategy is evaluated based on throughput, latency and SLA compliance rate; if the target is not met, the scheduling parameters are updated according to the rules and the next closed-loop iteration is initiated.
[0023] This invention, through the introduction of resource monitoring, traffic awareness, resource prediction, and dynamic scheduling modules, monitors network traffic in real time and predicts its changing trends, dynamically adjusting resource allocation based on traffic patterns. Specifically, real-time monitoring and intelligent scheduling result in more rational resource allocation for each network function, improving hardware resource utilization; a priority module ensures that high-priority network functions receive sufficient resources, guaranteeing the real-time performance and stability of critical tasks; the resource prediction module can predict resource demands based on traffic fluctuations, thereby enabling advance resource scheduling and avoiding performance issues caused by sudden traffic changes; the traffic prediction module, combined with machine learning and time series analysis methods, anticipates changes in traffic patterns, preventing uneven resource allocation and improving the processing efficiency of intelligent network interface cards; and the load balancing module ensures that under high load, each network function can allocate resources according to its priority.
[0024] This invention enables automatic monitoring and dynamic adjustment of resource allocation when multiple network functions are running in parallel, avoiding performance bottlenecks caused by excessive resource contention. Furthermore, it can monitor and predict dynamic changes in network traffic in real time, dynamically adjusting the resource allocation strategy of the intelligent network interface card based on the prediction results. This invention's optimization method effectively solves the resource contention problem, ensuring the stable operation of high-priority tasks through priority sorting and load balancing, improving system throughput and stability, and reducing resource waste.
[0025] Example 2 Furthermore, such as Figure 2 As shown, this embodiment of the invention provides a traffic-aware intelligent network interface card optimization system, which applies the above-mentioned optimization method and includes: The traffic awareness module is used to monitor and analyze network traffic characteristics in real time, identify traffic patterns, and generate traffic characteristic data. The traffic prediction module is used to predict changes in traffic patterns; The resource monitoring module is used to monitor and collect the usage of intelligent network interface card hardware resources by multiple network functions, and provide real-time feedback on resource usage efficiency and bottlenecks. The resource prediction module is used to predict the future resource requirements of various network functions; The resource scheduling module is used to dynamically adjust the resource allocation strategy of the intelligent network interface card.
[0026] In this embodiment, the optimization method includes a coupled dynamic scheduling-based multi-resource contention optimization link and a traffic-aware prediction link. The traffic awareness and traffic prediction results provide prior input for resource prediction and resource scheduling. Resource monitoring and execution feedback are used to correct prediction deviations and scheduling parameters, forming a continuous adaptive optimization. Together, they constitute a closed-loop optimization method for SmartNICs.
[0027] Specifically, a dynamic scheduling-based optimization method for multi-resource contention in intelligent network interface cards is proposed, and the links used in this optimization method include: The resource monitoring module is used to monitor and collect information in real time on the use of hardware resources of the smart network interface card by multiple network functions.
[0028] The resource scheduling module is used to dynamically adjust the resource allocation strategy based on real-time monitoring data and the resource requirements of each network function to ensure that the resource allocation of each network function is reasonable.
[0029] The resource prediction module is used to predict the resource requirements of various network functions under future traffic fluctuations and to schedule resources in advance based on the prediction results.
[0030] The priority queue module is used to prioritize network function resource requests based on the priority of the network function and SLA requirements.
[0031] In this embodiment, the output of the resource monitoring module is connected to the input of the resource scheduling module, and the output of the resource scheduling module is connected to the input of the resource prediction module and the priority queue module. Finally, the scheduling results are fed back to the hardware resources of the intelligent network interface card.
[0032] Furthermore, the resource monitoring module uses hardware counters to collect the usage status of CPUs and hardware accelerators in real time; the resource scheduling module can automatically adjust the resource allocation ratio of each network function according to the real-time load of the network function; the resource prediction module predicts future traffic trends based on historical traffic data and machine learning models, and dynamically adjusts the resource allocation strategy; the priority queue module allocates more resources to high-priority network functions according to the service type, priority, and SLA requirements of the network functions.
[0033] A traffic-aware intelligent network interface card resource optimization method is proposed, and the optimization method utilizes links including: The traffic awareness module is used to monitor and analyze the characteristics of network traffic in real time.
[0034] The traffic prediction module is used to predict changes in traffic patterns by combining machine learning or time series analysis methods. In each scheduling cycle, it synchronously outputs the predicted future traffic sequence, traffic pattern label and prediction confidence to the resource prediction module in the form of a timestamped message, either in a periodic synchronization or event-triggered manner.
[0035] The resource prediction module completes resource demand inference within a preset time window after receiving the prediction results, and submits the inference results to the resource scheduling module to generate the resource allocation strategy for the next cycle. When synchronization fails or the prediction result times out, the system enters the fault tolerance process, uses the most recent valid prediction result or the conservative extrapolation result based on real-time monitoring values as the alternative input, and outputs a synchronization anomaly flag to the resource scheduling module to trigger degraded scheduling or alarm.
[0036] The resource scheduling module is used to dynamically adjust the CPU, memory, and hardware accelerator resource allocation strategy of the intelligent network interface card based on traffic prediction results and real-time network function load, in order to adapt to changes in traffic patterns.
[0037] The load balancing module is used to automatically adjust the resource usage weight of each network function on the intelligent network interface card according to the resource requirements and traffic patterns of the network functions.
[0038] In this embodiment, the output of the traffic sensing module is connected to the input of the traffic prediction module, the output of the traffic prediction module is connected to the input of the resource scheduling module, and the output of the resource scheduling module is connected to each hardware resource of the intelligent network interface card.
[0039] Furthermore, the traffic prediction module predicts short-term traffic trends based on historical traffic data, real-time traffic characteristics, and prediction models, and adjusts resource allocation in advance; the load balancing module dynamically allocates traffic according to changes in traffic patterns and the priority of network functions, ensuring that high-priority traffic can be processed first when resources are limited; the resource scheduling module combines traffic pattern prediction results with real-time monitoring data to intelligently adjust resource allocation, ensuring that the intelligent network interface card can maintain efficient and stable operation under sudden or irregular traffic patterns.
[0040] Furthermore, in this embodiment, the traffic awareness module employs deep packet inspection technology to capture and analyze the header information and load data of network packets in real time; the traffic prediction module uses an LSTM neural network to perform second-level time-series prediction of traffic data; and the traffic prediction module uses an XGBoost hybrid model to perform hour-level time-series prediction of traffic data. Based on the traffic prediction results and a performance model built from historical traffic data, system test results, and known network function characteristics, the resource prediction module can deduce the future resource requirements of each network function.
[0041] The resource scheduling module first determines the priority of each network function through the priority queue module, ensuring that high-priority tasks are allocated resources first. Then, based on traffic and resource prediction data, it performs dynamic resource allocation to ensure stable operation of each task under varying traffic patterns and resource contention. Finally, the load balancing module balances resource allocation. If resource allocation does not achieve the expected results, a real-time feedback mechanism is activated to dynamically optimize and adjust resource allocation using an incremental adjustment strategy.
[0042] Furthermore, such as Figure 2 As shown, this embodiment of the invention does not deploy modules such as resource monitoring, traffic prediction, and resource scheduling in isolation, but rather constructs a closed-loop collaborative optimization system of "monitoring—prediction—decision-execution—feedback": The resource usage status and traffic awareness characteristics output by the monitoring and acquisition layer serve as unified inputs to the predictive analysis layer. The predictive analysis layer outputs future traffic trends, resource demand, and contention risk assessment results, which serve as key bases for the scheduling decision layer to generate multi-resource joint allocation strategies. The scheduling decision layer integrates priority queues, load balancing, and resource constraints to form a unified adjustment scheme for resources such as CPU, memory, and hardware accelerators, and then distributes it to the hardware resource layer for execution. The execution results are then collected by the monitoring and acquisition layer to form feedback, thereby achieving continuous optimization in scenarios of sudden traffic and multiple network functions competing in parallel.
[0043] Example 3 This invention provides a traffic-aware intelligent network interface card optimization method in a multi-resource contention environment, comprising the following steps: Real-time monitoring and feature aggregation: The resource monitoring module periodically collects the usage status of CPU, memory and hardware accelerators of each network function; the traffic awareness module extracts statistical features, pattern features and time series features, and forms a unified state vector. Traffic trend prediction: The traffic prediction module outputs short-term and long-term traffic prediction values and traffic pattern labels based on the above state vector. Resource demand and contention risk inference: The traffic prediction results are input into the performance model through the resource prediction module to deduce the multi-resource demand of each network function in the future window, and the resource contention index is calculated to assess the contention risk; when the risk exceeds the threshold, an early warning is triggered and feedback is sent to the scheduling decision layer. Joint scheduling decision generation: The resource scheduling module takes "predicted demand, real-time status, contention risk, SLA / priority" as joint inputs and generates dynamic allocation ratios and adjustment directions for multiple resources (CPU / memory / accelerator) under the constraints of the priority queue module; the load balancing module detects and corrects resource allocation imbalances caused by load skew. Policy issuance and resource execution: The scheduling decision is issued to the hardware resource layer, and resource isolation, quota adjustment and accelerator time queue configuration are implemented through the operating system; Effect evaluation and incremental feedback optimization: The effect of the strategy is evaluated based on throughput, latency and SLA compliance rate; if the target is not met, the scheduling parameters are updated according to the rule of "bottleneck resource identification - reclaiming idle resources - prioritizing high-priority tasks - incremental adjustment", and the next round of closed-loop iteration is entered.
[0044] In this embodiment, during the closed-loop iteration process, the allocation of multiple resources follows the following unified adjustment principles: prioritizing the protection of the SLA boundary of high-priority network functions; under the constraint of resource upper limit, prioritizing bottleneck mitigation for resource dimensions with high contention risk; implementing resource reclamation and reallocation for network functions with low load or low resource utilization; and using small-step incremental adjustments for sudden traffic scenarios to avoid system oscillation, thereby balancing stability and response speed.
[0045] Furthermore, the optimization method in this embodiment adopts a layered closed-loop architecture to achieve optimization. The closed-loop logic includes: monitoring data provides input for prediction, prediction results guide scheduling decisions, decisions are sent to hardware for execution, execution results are fed back to the monitoring layer, and parameters are iteratively optimized.
[0046] like Figure 2 As shown, the layered closed-loop architecture, from bottom to top, includes: hardware resource layer, monitoring and acquisition layer, predictive analysis layer, scheduling and decision-making layer, and application layer.
[0047] Specifically, the hardware resource layer includes the physical resources of the intelligent network interface card, used to execute scheduling strategies, provide feedback on execution results, and provide computing and storage capabilities for the operation of upper-layer network functions; it includes: Multi-core CPU processors provide general computing capabilities; The memory subsystem provides data storage capabilities; Hardware accelerators, including dedicated accelerators for regular expression engines, encryption / decryption engines, compression engines, etc. Network interface, high-speed data network data transmission interface.
[0048] In this embodiment, the monitoring and acquisition layer includes a resource monitoring module and a traffic sensing module, which are responsible for collecting system operation status data in real time and extracting traffic characteristics. The sampling period can be set to 1 second.
[0049] The resource monitoring module can periodically collect data on the CPU, memory, and hardware accelerator usage of various network functions through performance counters and system calls. The specific collection methods are as follows: CPU resource monitoring: By reading the virtual filesystem interface / proc / [pid] / stat, the user-mode CPU time (user_time), kernel-mode CPU time (sys_time), and total CPU time (total_time) of a process are obtained at a sampling period of 1 second. The Linux perf tool is used to collect hardware performance counters, including clock cycles, instructions, cycles per instruction (IPC), and instruction retirement time (inst_retired), with a sampling period of 3 seconds.
[0050] Memory resource monitoring: The VmRSS field is extracted from the / proc / [pid] / status file to obtain the actual physical memory size used by the process, in KB. The perf tool is used to collect performance counters such as L2 cache read / write counts (l2d_cache_rd, l2d_cache_wr), total L2 cache access counts (l2d_cache), and memory read / write counts (mem_access_rd, mem_access_wr). The wss.pl tool is used to estimate the working set size, with a sampling time of 3 seconds.
[0051] Hardware accelerator monitoring: The system reads the control register status of hardware accelerators such as the regular expression engine, encryption / decryption engine, and compression engine through the device driver interface to obtain the accelerator busy time (busy_time) and total sampling window time (total_time), and calculates the accelerator utilization. For the regular expression accelerator, it also monitors metrics such as receive timeout count (rx_timeout), maximum match count (rx_max_match), resource limit count (rx_resource_limit), idle count (rx_idle), send busy count (tx_busy), total latency (tot_lat), maximum latency (max_lat), and minimum latency (min_lat).
[0052] The traffic awareness module can extract statistical, pattern, and temporal characteristics of network traffic in real time through DPDK-based zero-copy packet capture and deep analysis techniques. The specific implementation method is as follows: Packet capture technology: Employing the FromDPDKDevice interface of the DPDK framework, it captures packets directly from the network queue of the intelligent network interface card via a polling mode driver (PMD), bypassing the operating system kernel protocol stack to achieve zero-copy high-speed packet capture. Packet capture rates can reach 100Gbps, and batch processing mode is supported, with a batch size configurable to 32 packets.
[0053] Traffic classification and aggregation: IP packets (EtherType0x0800) are filtered using an Ethernet type classifier, while non-IP packets are discarded. The AggregateIPFlows module is used to aggregate packets according to a five-tuple (source IP address, destination IP address, source port, destination port, protocol type). The timeout for both UDP and TCP flows is set to 3600 seconds. Each packet undergoes processing steps including stripping the 14-byte Ethernet header, verifying the validity of the IP header, and setting a timestamp.
[0054] Statistical feature extraction: The Counter module is used to count the number of data packets and bytes, and the AverageCounter module is used to calculate the average packet size. Real-time traffic rates, including bit rate (bit_rate, in Mbps) and packet rate (rate, in Kpps), are calculated every second using a script. Statistical features include: packet rate (pps), byte rate (bps), average packet size (avg_pkt_size), flow size (flowsize), and number of active flows (flow_count).
[0055] Pattern feature extraction: Analyze the burst characteristics of the flow and calculate the burst factor as the ratio of peak rate to average rate. Calculate the flow change rate as the ratio of the rate difference between adjacent sampling points to the sampling interval, and statistically analyze histogram features such as packet size distribution, flow size distribution, and flow duration distribution.
[0056] Time-series feature extraction: Construct traffic time-series data, including historical data points from the past 60 seconds. Calculate the autocorrelation function (ACF) of the time series to identify periodic patterns and extract statistical characteristics of the time series, including mean, standard deviation, skewness, and kurtosis. Using a pre-trained traffic classification model, label traffic patterns as one of four types: "stable," "burst," "periodic," or "irregular."
[0057] Data Acquisition Output: All acquired data is stored in CSV format, containing the following fields: timestamp, packet rate (pps), byte rate (bps), average packet size (avg_pkt_size), flow size (flowsize), number of active flows (flow_count), CPU utilization (cpu_usage), memory usage (mem_usage), and actual throughput (throughput).
[0058] Furthermore, the data acquisition frequency is once per second, and the historical data buffer stores the data points of the most recent 3600 seconds (1 hour). It adopts a circular buffer structure, and automatically overwrites the oldest data when the buffer is full.
[0059] In this embodiment, the predictive analysis layer includes a traffic prediction module and a resource prediction module, which predict future traffic patterns and resource demands based on machine learning and time series analysis methods.
[0060] Specifically, the traffic prediction module uses a hybrid model of LSTM neural network and XGBoost to predict traffic at different time scales; The resource prediction module can deduce the future resource requirements of each network function based on traffic prediction results and performance models, and assess potential resource contention risks.
[0061] In this embodiment, the scheduling decision layer is the core control unit of the system. It comprehensively considers multiple factors to achieve intelligent resource management. Various modules collaborate to achieve priority-oriented resource allocation, quantitative indicator-driven balance correction, and multi-dimensional collaborative dynamic allocation. Specifically, this includes: The priority queue module calculates priorities based on the service type of the network function, SLA requirements, and current status, and performs queuing management. The load balancing module assesses the load status of each network function and triggers resource reallocation when an imbalance is detected. The resource scheduling module integrates monitoring data, prediction results, priority queues, and load status to formulate dynamic resource allocation strategies.
[0062] In this embodiment, the application layer can deploy multiple network functions as needed. These multiple network functions share the hardware resources of the intelligent network interface card and are subject to unified management by the scheduling decision layer.
[0063] Furthermore, in this embodiment, the functional layers and modules do not work independently, but rather form a closed-loop collaboration with a unified state vector and a unified scheduling objective. The monitoring and acquisition layer aggregates "resource usage status (CPU / memory / accelerator) and traffic characteristics (statistics / patterns / time series)" and outputs them to the predictive analysis layer; the predictive analysis layer outputs "future traffic trends, resource demand predictions, and contention risk assessments" and feeds them back to the scheduling decision layer; the scheduling decision layer generates a multi-resource joint allocation strategy under priority queue constraints and load balancing corrections, sends it to the hardware resource layer for execution, and the execution results are returned to the monitoring and acquisition layer for the next round of corrections, thereby achieving continuous adaptive optimization for parallel contention of multiple network functions and sudden traffic changes.
[0064] Example 4 To better illustrate the technical effects of the various embodiments of the present invention, the present invention provides an experimental verification embodiment of an optimization system and optimization method based on traffic-aware intelligent network interface card in a specific application scenario and under a multi-resource contention environment.
[0065] This embodiment is based on a large data center environment. Two network functions, FlowMonitor and Network Intrusion Detection System (NIDS), are deployed on the NVIDIA BlueField-2 SmartNIC to handle mixed traffic from multi-tenant applications.
[0066] The intelligent network interface card is equipped with 8 ARM Cortex-A72 CPU cores, 16GB DDR4 memory, an integrated regular expression acceleration engine, and supports dual-port 100Gbps network interfaces.
[0067] The host server is configured with an Intel Xeon Gold 6248R processor, 128GB of memory, and runs Ubuntu 20.04 operating system.
[0068] The FlowMonitor network function is responsible for real-time statistics of traffic characteristics, including metrics such as packet rate, byte rate, and flow size distribution. It is initially allocated 2 CPU cores and 2GB of memory. The NIDS network function detects malicious traffic based on deep packet inspection technology. It is initially allocated 2 CPU cores and 4GB of memory, and uses a regular expression acceleration engine for pattern matching.
[0069] In this embodiment, four typical traffic patterns are set up for the experiment, as shown below: (1) Stable traffic mode: constant 50Gbps rate, packet size 1024 bytes; (2) Burst traffic mode: The base rate is 30Gbps, and a burst traffic of 80Gbps occurs every 60 seconds for 10 seconds. (3) Periodic flow pattern: The flow fluctuates sinusoidally between 20Gbps and 70Gbps with a period of 5 minutes; (4) Irregular traffic pattern: Randomly varying traffic rates, which conform to the actual distribution characteristics of Internet traffic.
[0070] Furthermore, such as Figure 1 As shown, the optimization method operates in a closed-loop iterative manner, including: real-time monitoring and traffic awareness, traffic prediction, resource demand and contention risk inference, joint scheduling decision generation, policy issuance and execution, and effect evaluation and feedback optimization. Among them, resource prediction takes traffic prediction as a priori input, scheduling decisions rely on both real-time status and prediction information, and feedback evaluation results are used to dynamically update scheduling parameters and threshold settings, thereby ensuring that the system maintains efficient and stable operation under different traffic patterns and resource contention intensities.
[0071] Furthermore, such as Figure 3As shown, during the real-time monitoring and traffic awareness phase, CPU usage, memory usage, and hardware accelerators are monitored in real time.
[0072] CPU process time (user_time, sys_time, total_time) can be obtained by reading the process file.
[0073] The formula for calculating CPU utilization is: CPU _ Usage =(( total _ time _ t 1- total _ time _ t 0) / CLK _ TCK ) / ( elapsed _ time × num _ cores ); In the formula, total _ time _ t 0 represents the timestamp of the first sample. total _ time _ t 1 represents the timestamp of the second sampling; CLK _ TCK CPU clock frequency; elapsed _ time The time interval between two samples; num _ cores The number of CPU cores allocated to this network function.
[0074] Memory usage is determined by reading the Status file in the process to extract the actual physical memory used.
[0075] The formula for calculating memory utilization is: Memory _ Usage = VmRSS / memory limit In the formula, VmRSS The actual physical memory used by the process; memory _ limit The memory limit set for it.
[0076] The hardware accelerator reads the status of the control registers through the device driver interface.
[0077] The formula for calculating accelerator utilization is: ACC _ Usage = busy _ time / total _ time In the formula, busy _ time The time during which the accelerator is in the execution state; total _ time This represents the total sampling window time.
[0078] During the initial phase of FlowMonitor's operation, the typical data collected by the monitoring module are as follows: timestamp=1729483200, pps=45234.5, bps=546789000, avg_pkt_size=1024, flowsize=16384, flow_count=128, cpu_usage=45.2%, mem_usage=1650MB, throughput=630.2Kpps.
[0079] Furthermore, such as Figure 4 As shown, the traffic feature extraction engine extracts statistical features, pattern features, and time-series features, generates traffic feature vectors, loads pre-trained traffic classification models, and updates traffic pattern labels in real time for use by the traffic prediction module.
[0080] The traffic forecasting and resource demand forecasting phase deals with changes in future traffic patterns and forecasts of future resource demands.
[0081] Traffic prediction, based on real-time data provided by the traffic awareness module, enables accurate traffic forecasting. The following two methods are employed: LSTM neural networks solve short-term traffic prediction by generating a time series model from historical traffic datasets over a period of time. The model runs in real time and calculates future traffic predictions in the second range based on past traffic characteristics.
[0082] The XGBoost hybrid model addresses long-term traffic forecasting by learning traffic patterns through a training dataset, identifying the relationship between different traffic characteristics and future fluctuations, and combining real-time traffic data for prediction during the forecasting phase.
[0083] Validation showed that the mean absolute percentage error (MAPE) of the LSTM model under the four traffic patterns were: 8.2% for stable traffic, 12.5% for burst traffic, 9.8% for periodic traffic, and 15.3% for irregular traffic. The hybrid model, through weighted fusion (LSTM weight 0.7 for short-term prediction and ARIMA weight 0.3), reduced the average MAPE to 8.5%, significantly outperforming the single model.
[0084] Furthermore, such as Figure 5As shown, the future resource requirements of the FlowMonitor and NIDS network functions are predicted. The performance model is built through offline training, using a historical dataset containing traffic load, resource allocation, and measured throughput, and employing a gradient boosting regression tree to establish the mapping relationship between traffic and resource consumption.
[0085] The resource prediction module introduces the resource competitiveness index R. contention The formula for assessing the risk of contention is as follows:
[0086] In the formula, This represents the resource requirement of the i-th network function. Indicates the total resource capacity. Indicates the frequency of resource usage.
[0087] When R contention When the value is greater than 0.85, a high risk of resource contention is identified, and the system triggers an early warning mechanism to send this information to the resource scheduling module.
[0088] Under sudden traffic surges, the system predicts that within the next 5 seconds, FlowMonitor's CPU demand will increase from 45% to 72%, and NIDS's CPU demand will increase from 38% to 65%, with total demand reaching 137%, exceeding the available 4 cores. contention The calculated value is 0.89, triggering resource reallocation.
[0089] Furthermore, such as Figure 6 As shown, the priority queue module first determines the priority of each network function during the resource scheduling phase. The priority queue module sets priority weights based on the service type, service level agreement requirements, and current status of the network function. The weight of high-priority network functions is no less than 0.7, and priority is given to ensuring their minimum throughput and maximum latency SLA boundaries. During resource scheduling, CPU cores and hardware accelerator resources are allocated to high-priority network functions first.
[0090] Specifically, according to the Service Level Agreement (SLA) requirements, FlowMonitor is set as high priority (weight 0.7) with a minimum throughput of 500Kpps, while NIDS is set as medium priority (weight 0.3) with a detection latency of no more than 10 milliseconds.
[0091] The dynamic resource allocation algorithm calculates the optimal allocation scheme based on priority and predicted resource demand.
[0092] In the resource contention scenario described above, the scheduler increases the CPU allocation for FlowMonitor from 2 cores to 3 cores, while NIDS maintains 2 cores but increases its scheduling priority, and memory allocation remains unchanged. Resource adjustments are made by binding CPU cores using the Linux taskset command and limiting memory usage through the cgroup mechanism.
[0093] Furthermore, the load balancing module assesses the load status using the Load Balancing Index (LBindex), which is calculated as follows:
[0094] In the formula, σ is the standard deviation of resource utilization rate, and μ is the mean of resource utilization rate.
[0095] When LB index When the value is greater than 0.3, it is determined to be a load imbalance, triggering resource reallocation to balance the resource usage weight of each network function.
[0096] In this embodiment, after the resource scheduling decision is generated, the hardware resource layer executes the resource allocation decision, sending resource allocation instructions to the hardware resource layer through the operating system interface for resource isolation, allocation, and adjustment. The resource monitoring module collects feedback data and evaluates the effect of resource allocation.
[0097] By evaluating throughput, latency, and SLA compliance, it is determined whether resource allocation has achieved the expected results. If the expected results are achieved, hardware resources are allocated according to the scheduling strategy. If the resource allocation has not achieved the expected results, a real-time feedback mechanism is activated to dynamically optimize and adjust resource allocation. This process includes the following steps: If throughput is lower than expected but latency is normal, prioritize increasing CPU or memory resources; If the SLA violation rate is high and the performance of some high-priority tasks does not meet expectations, the system will prioritize allocating resources to high-priority tasks. Reclaim idle resources: If the resource usage of certain network functions is low, the system will reclaim these resources and reallocate them to functions with limited resources. By adopting an incremental adjustment strategy, the allocation of resources will gradually increase or decrease, rather than increasing resources drastically at once, to ensure a smooth system transition. After each adjustment, the system evaluates the effect and ensures efficient and stable operation through continuous feedback mechanisms and incremental adjustments.
[0098] This invention provides a technical solution involving Network Functions Virtualization (NFV), SmartNIC resource management, traffic prediction, and performance optimization. Specifically, it is a system and method for optimizing traffic-aware SmartNICs in a multi-resource-contention environment. This invention focuses on solving two key problems: first, addressing the resource contention problem caused by multiple network functions running in parallel on the same SmartNIC and sharing limited hardware resources, thereby improving the overall system performance and throughput; second, addressing how to monitor and predict dynamic changes in network traffic in real time and adjust resource allocation strategies based on changes in traffic patterns to ensure the stability and efficiency of network functions under sudden or irregular traffic patterns.
[0099] This invention introduces resource monitoring, traffic awareness, resource prediction, and dynamic scheduling modules to monitor network traffic in real time and predict its changing trends. Based on traffic patterns, it dynamically adjusts resource allocation and optimizes the efficient utilization of resources by each network function. Specifically, through real-time monitoring and intelligent scheduling, resource allocation for each network function is more rational, improving hardware resource utilization. Through priority queue and load balancing modules, resource allocation strategies can be flexibly adjusted according to task importance, traffic patterns, and system status, ensuring that high-priority network functions receive sufficient resources and guaranteeing the real-time performance and stability of critical tasks. The resource prediction module can predict resource demand based on traffic fluctuations, thereby enabling advance resource scheduling and avoiding performance issues caused by sudden traffic changes. The traffic prediction module, combined with machine learning and time series analysis methods, predicts changes in traffic patterns in advance, avoiding uneven resource allocation and improving the processing efficiency of intelligent network interface cards. The load balancing module ensures that under high load, each network function can allocate resources according to priority, handling different types of traffic patterns, such as sudden traffic, irregular traffic, and fluctuating traffic, meeting various SLA requirements.
[0100] Furthermore, the embodiments of this invention can automatically monitor and dynamically adjust resource allocation when multiple network functions are running in parallel, avoiding performance bottlenecks caused by excessive resource contention. Moreover, it can monitor and predict dynamic changes in network traffic in real time, dynamically adjusting the resource allocation strategy of the intelligent network interface card based on the prediction results. The optimization method of this invention effectively solves the resource contention problem, ensuring the stable operation of high-priority tasks through priority sorting and load balancing, improving system throughput and stability, and reducing resource waste. This invention can flexibly handle different types of traffic patterns, continuously optimizing the traffic prediction model and resource scheduling strategy based on feedback data through a closed-loop feedback mechanism and real-time monitoring; moreover, it gradually improves prediction accuracy and resource allocation strategies with increasing running time, better adapting to dynamically changing network environments. This invention is applicable to resource management of intelligent network interface cards in data center and cloud computing environments, improving network processing efficiency and resource utilization, ensuring service quality, reducing resource waste, and enhancing the system's adaptability to dynamic loads and complex traffic patterns.
[0101] In the description of this invention, it should be understood that terms such as “length”, “width”, “upper”, “lower”, “front”, “rear”, “left”, “right”, “vertical”, “horizontal”, “top”, “bottom”, “inner”, and “outer” indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this application and simplifying the description, and are not intended to indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this application.
[0102] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, "multiple" means two or more, unless otherwise explicitly specified.
[0103] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A method for optimizing a traffic-aware intelligent network interface card, characterized in that, The optimization method is achieved through a combination of one or more of the following steps: Real-time monitoring and feature aggregation: The resource monitoring module periodically collects the usage status of CPU, memory and hardware accelerators of each network function; the traffic awareness module extracts statistical features, pattern features and time series features, and forms a unified state vector. Traffic trend prediction: The traffic prediction module outputs short-term and long-term traffic prediction values and traffic pattern labels based on the above state vector. Resource demand and contention risk inference: The traffic prediction results are input into the performance model through the resource prediction module to deduce the multi-resource demand of each network function in the future window, and the resource contention index is calculated to assess the contention risk; when the risk exceeds the threshold, an early warning is triggered and feedback is sent to the scheduling decision layer. Joint scheduling decision generation: Through the resource scheduling module, multi-dimensional scheduling decision input items are used as joint inputs, and under the constraints of the priority queue module, dynamic allocation ratios and adjustment directions for multiple resources are generated; Policy issuance and resource execution: The scheduling decision is issued to the hardware resource layer, and resource isolation, quota adjustment and accelerator time queue configuration are implemented through the operating system; Effect evaluation and incremental feedback optimization: The effect of the strategy is evaluated based on throughput, latency and SLA compliance rate; if the target is not met, the scheduling parameters are updated according to the rules and the next closed-loop iteration is initiated.
2. The optimization method for a traffic-aware intelligent network interface card according to claim 1, characterized in that, The optimization method includes a coupled dynamic scheduling-based multi-resource contention optimization link and a traffic-aware prediction link. The traffic awareness and traffic prediction results provide prior input for resource prediction and resource scheduling. Resource monitoring and execution feedback are used to correct prediction deviations and scheduling parameters, forming a continuous adaptive optimization.
3. The optimization method for a traffic-aware intelligent network interface card according to claim 1, characterized in that, The optimization method employs a hierarchical closed-loop architecture. The closed-loop logic includes: monitoring data providing input for prediction, prediction results guiding scheduling decisions, decisions being sent to hardware for execution, execution results being fed back to the monitoring layer, and iterative parameter optimization. The hierarchical closed-loop architecture includes: The hardware resource layer includes the physical resources of the intelligent network interface card, which is used to execute scheduling strategies and provide feedback on the execution results. The monitoring and acquisition layer includes a resource monitoring module and a traffic awareness module, which are responsible for collecting system operation status data in real time and extracting traffic characteristics. The predictive analytics layer includes a traffic prediction module and a resource prediction module, which predict future traffic patterns and resource demands based on machine learning and time series analysis methods. The scheduling decision layer includes a resource scheduling module, a priority queue module, and a load balancing module, which work together to achieve priority-oriented resource allocation, quantitative indicator-driven load balancing correction, and multi-dimensional collaborative dynamic allocation.
4. The optimization method for a traffic-aware intelligent network interface card according to claim 1, characterized in that, The resource scheduling module takes predicted demand, real-time status, contention risk, and SLA / priority as joint inputs.
5. The optimization method for a traffic-aware intelligent network interface card according to claim 1, characterized in that, During the closed-loop iteration process, the allocation of multiple resources follows a unified adjustment principle: priority is given to ensuring the SLA boundary of high-priority network functions; under the constraint of resource upper limit, bottleneck relief is prioritized for resource dimensions with high contention risk; resource reclamation and reallocation are implemented for network functions with low load or low resource utilization; and small-step incremental adjustments are adopted for sudden traffic scenarios to avoid system oscillation and balance stability and response speed.
6. The optimization method for a traffic-aware intelligent network interface card according to claim 3, characterized in that, The traffic awareness module uses DPDK-based zero-copy packet capture technology to extract statistical characteristics, pattern characteristics, and time-series characteristics of network traffic in real time. By using a polling mode to directly capture data packets from the network queue of the intelligent network interface card, bypassing the operating system kernel protocol stack, zero-copy high-speed data packet capture is achieved. Data packets are aggregated into streams based on 5-tuples to extract data packet rate, byte rate, burst factor, time-series autocorrelation features, and traffic pattern labels. The traffic pattern labels include at least four categories: stable, bursty, periodic, and irregular.
7. The optimization method for a traffic-aware intelligent network interface card according to claim 6, characterized in that, include: Packet capture technology; Traffic classification and aggregation: IP packets are filtered by an Ethernet type classifier, and non-IP packets are discarded. The AggregateIPFlows module is used to aggregate packets according to five-tuples. The timeout for UDP and TCP flows is set to 3600 seconds. Statistical feature extraction: The Counter module is used to count the number of data packets and bytes, and the AverageCounter module is used to calculate the average packet size; real-time traffic rate, including bit rate and packet rate, is calculated in 1-second intervals using a script; statistical features include: packet rate, byte rate, average packet size, stream size, and number of active streams; Pattern feature extraction: Analyze the burst characteristics of traffic and calculate the burst factor as the ratio of peak rate to average rate; Time series feature extraction: Construct traffic time series data, including historical data points from the past 60 seconds; calculate the autocorrelation function of the time series to identify periodic patterns, extract the statistical characteristics of the time series, and label the traffic patterns as one of four types: stable, bursty, periodic, or irregular through a pre-trained traffic classification model; Data Acquisition Output: All acquired data is stored in CSV format, containing the following fields: timestamp, packet rate, byte rate, average packet size, stream size, number of active streams, CPU utilization, memory usage, and actual throughput.
8. The optimization method for a traffic-aware intelligent network interface card according to claim 3, characterized in that, The resource prediction module introduces the resource competition index R. contention The formula for assessing the risk of contention is as follows: In the formula, This represents the resource requirement of the i-th network function. Indicates the total resource capacity. Indicates the frequency of resource usage; When R contention When the value is greater than 0.85, a high risk of resource contention is identified, and the system triggers an early warning mechanism to send this information to the resource scheduling module.
9. The optimization method for a traffic-aware intelligent network interface card according to claim 3, characterized in that, The priority queue module sets priority weights based on the service type, service level agreement requirements, and current status of network functions. The weight of high-priority network functions is not less than 0.7, and priority is given to ensuring their minimum throughput and maximum latency SLA boundaries. During resource scheduling, CPU cores and hardware accelerator resources are allocated to high-priority network functions first. The load balancing module evaluates the load status using the load balancing index LBindex, which is calculated as follows: In the formula, σ is the standard deviation of resource utilization rate, and μ is the mean of resource utilization rate; When LB index When the value is greater than 0.3, it is determined to be a load imbalance, triggering resource reallocation to balance the resource usage weight of each network function.
10. A traffic-aware intelligent network interface card optimization system, characterized in that, Its application of the optimization method as described in any one of claims 1-9 includes: The traffic awareness module is used to monitor and analyze the characteristics of network traffic in real time, identify traffic patterns, and generate traffic characteristic data. The traffic prediction module is used to predict changes in traffic patterns; The resource monitoring module is used to monitor and collect the usage of intelligent network interface card hardware resources by multiple network functions, and provide real-time feedback on resource usage efficiency and bottlenecks. The resource prediction module is used to predict the future resource requirements of various network functions; The resource scheduling module is used to dynamically adjust the resource allocation strategy of the intelligent network interface card.