QUIC Protocol Stack Worker Thread Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing implementation of the QUIC protocol stack in servers underutilizes multi-core CPU capabilities, leading to CPU core overload and a low number of concurrent connections due to the configuration of a single QUIC protocol stack for the server.
Innovation Solution
The method involves dividing server programs into multiple worker threads, with each thread having its own QUIC protocol stack, where a connection identifier is used to determine the corresponding worker thread for processing data packets, allowing each thread to independently process packets and utilize CPU cores effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single QUIC protocol stack is configured for the server, then the implementation is simple, but the multi-core characteristics of the CPU cannot be fully utilized and the number of concurrent connections is very low
Solution Approach 1:
The patent divides the single QUIC protocol stack into multiple independent protocol stacks, with each stack running in a separate worker thread. This segmentation allows each protocol stack to handle different data packets concurrently, fully utilizing the multi-core characteristics of the CPU and significantly increasing the number of concurrent connections the server can handle.
2Device complexity
If a single QUIC protocol stack is configured for the server, then the system structure is simple, but certain cores of the CPU are overloaded
Solution Approach 1:
The patent segments the processing workload by creating multiple worker threads, each with its own QUIC protocol stack running on different CPU cores. This distribution prevents any single core from becoming overloaded, as each core handles a subset of the total data packet processing load, improving load balance and system reliability.
Solution Approach 2:
The patent implements dynamic load distribution by allowing worker threads to be scheduled across multiple CPU cores based on system conditions. The connection identifier-based routing dynamically directs data packets to appropriate worker threads, ensuring balanced utilization of available CPU resources and preventing core overload.
3Ease of manufacture
If all data is processed by a single QUIC protocol stack, then the implementation is straightforward, but the number of concurrent connections is very low
Solution Approach 1:
The patent divides the data processing workload by creating multiple worker threads, each with its own QUIC protocol stack. Data packets are segmented and routed to different worker threads based on connection identifiers, allowing concurrent processing of multiple connections simultaneously. This maintains implementation simplicity through modular design while dramatically increasing concurrent connection capacity.
Data Source
AI summary
The present disclosure provides a method of processing data based on QUIC protocol stack, the method including: obtaining a connection identifier of a data packet; determining a server program used for processing the data packet, wherein the server program comprises a plurality of worker threads, wherein QUIC protocol stacks run in the plurality of worker threads; determining a corresponding worker thread from the multiple worker threads based on the connection identifier; and distributing the data packet to the corresponding worker thread to make the QUIC protocol stack on the corresponding worker thread process the data packet. The disclosure further provides a system, a computing device and a computer-readable storage medium of processing data based on QUIC protocol stack.


