Central Controller Load Balancing for Data Packet Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data packet receiving and storage systems face challenges in efficiently managing and balancing the load across multiple processors and queues, particularly in maintaining the order of data packets and handling varying queue fill levels, which can lead to inefficiencies and disruptions in data processing.
Innovation Solution
A system comprising a storing unit with multiple non-overlapping queues, a controlling unit that determines fill levels and selects addresses for data packets, and de-queuing processors that forward information to the controlling unit, ensuring that data packets are stored and processed in a manner that maintains order and balances load across processors by inhibiting further processing on a queue until it is empty.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processors de-queue data from multiple queues in parallel, then processing speed and throughput are improved, but maintaining the correct order of data packets and balancing load across processors becomes more difficult
Solution Approach 1:
The system segments the queues into multiple groups, where each group is assigned to a specific processor. This segmentation allows parallel processing while maintaining order within each group, as processors only de-queue from their assigned groups, simplifying load balancing and order maintenance.
Solution Approach 2:
The controlling unit acts as an intermediary that receives information from processors about queue fill levels and de-queuing operations. It determines the fill levels and selects appropriate queues for data packets, coordinating between multiple processors and queues to maintain order and balance load without requiring complex direct communication between processors.
2Quantity of substance
If data packets are stored in multiple queues across different processors, then storage capacity and parallel processing are improved, but maintaining the correct order of data packets across processors becomes more difficult
Solution Approach 1:
Queues are segmented into groups assigned to specific processors. Data packets within each group maintain their relative order because only the designated processor de-queues from that group. This segmentation ensures reliability of data order while enabling parallel processing across multiple processors with increased storage capacity.
Solution Approach 2:
Each processor has local knowledge and control over its assigned queue groups. The controlling unit provides local quality by determining fill levels and selecting queues based on processor-specific conditions, ensuring that each processor maintains correct order for its local queues while contributing to overall system capacity.
3Duration of action of moving object
If a processor continues processing a queue that is becoming full, then processing continuity is maintained, but other processors may become underutilized leading to load imbalance
Solution Approach 1:
The system implements feedback mechanisms where processors inform the controlling unit about queue fill levels and de-queuing status. The controlling unit uses this feedback to determine current fill levels and select appropriate queues, dynamically adjusting load distribution to maintain both processing continuity and load balance across processors.
Solution Approach 2:
The queue assignment and selection process is dynamic rather than static. The controlling unit continuously determines fill levels and selects queues based on current system state, allowing the system to adapt to changing conditions and maintain optimal load balance while ensuring processing continuity for each data packet.
4Reliability
If the system checks queue fill levels before storing each data packet, then load balancing and order maintenance are improved, but processing time and system complexity increase
Solution Approach 1:
The controlling unit determines queue fill levels in advance before data packets need to be stored. By proactively selecting appropriate queues based on current fill levels, the system avoids last-minute decisions and reduces processing time while maintaining reliable load balancing and data packet order.
Data Source
AI summary
An assembly and a method where a number of receiving units receive and store data in a number of queues de-queued by a plurality of processors/processes. If a selected queue for one processor has a fill level exceeding a limit, the packet is forwarded to a queue of another processor which is instructed to not de-queue that queue until the queue with the exceeded fill level has been emptied. Thus, load balancing between processes/processors may be obtained while maintaining an ordering between packets.


