QUIC Connection Thread Scheduling for Multi-Core UDP Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The utilization of a QUIC library for managing QUIC connections is inefficient, leading to a low utilization of CPU cores and suboptimal data transmission performance in cloud gaming scenarios.
Innovation Solution
Implementing a QUIC-SDK that schedules multiple threads to manage different QUIC connections, allowing the server to fully utilize the concurrent processing capability of multiple CPU cores, thereby improving data transmission efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a QUIC library is used to manage QUIC connections, then data transmission can be implemented using the QUIC protocol, but CPU core utilization is low and management efficiency is poor
Solution Approach 1:
The patent divides QUIC connection management into multiple independent threads (first thread for receiving UDP packets, second thread for managing QUIC connections). This segmentation allows parallel processing of different connection management tasks, improving CPU core utilization and management efficiency simultaneously.
Solution Approach 2:
The patent introduces a multi-threaded architecture that adds a temporal dimension to connection management. By processing connections across multiple threads simultaneously rather than sequentially, the system achieves better parallelization and resource utilization without compromising management efficiency.
2Use of energy by moving object
If multiple threads are used to manage QUIC connections, then CPU core utilization improves, but system complexity increases
Solution Approach 1:
The patent segments thread responsibilities into clear functional boundaries: the first thread handles UDP packet reception while the second thread manages QUIC connections. This functional segmentation reduces the complexity of thread coordination by minimizing inter-thread dependencies and communication overhead.
Solution Approach 2:
The patent introduces a thread pool mechanism as an intermediary layer that manages the lifecycle and coordination of multiple worker threads. This intermediary abstraction simplifies thread management by providing centralized control over thread creation, assignment, and termination, reducing the overall system complexity.
Data Source
AI summary
A data transmission method is provided, where the method includes: receiving a user datagram protocol (UDP) data packet transmitted by a client; determining a target second thread from n second threads through a first thread, where the n second threads are configured for processing the UDP data packet, and the target second thread is configured for managing a QUIC connection corresponding to the UDP data packet; and transferring the UDP data packet to the target second thread through the first thread. The second threads are scheduled by the first thread, and different second threads may manage different QUIC connections, so that QUIC connections are managed through different threads. Therefore, a server can fully utilize a concurrent processing capability of a plurality of cores, which improves the efficiency of managing QUIC connections and the data transmission performance.


