Network-on-Chip Packet Scheduling for Service Differentiation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Network-on-Chip (NoC) systems face challenges in efficiently managing multiple classes of service for packet transmission, leading to suboptimal bandwidth allocation and packet scheduling, which affects performance and scalability as complexity increases.
Innovation Solution
Implementing a daisy chain topology with multiple switches that include packet and class scheduling engines to insert local packets between upstream packets and manage different classes of service, ensuring fair allocation and ordered packet transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple classes of service are managed in NoC systems, then service differentiation and quality of service are improved, but bandwidth allocation efficiency and packet scheduling performance deteriorate
Solution Approach 1:
The patent segments packet queues into multiple priority levels (first priority queue and second priority queue) based on class of service. Each queue is independently managed with dedicated scheduling algorithms, allowing simultaneous optimization for different service requirements. This segmentation enables quality of service differentiation while maintaining overall system efficiency through independent queue management.
Solution Approach 2:
The patent dynamically changes scheduling parameters based on traffic conditions and service requirements. The packet scheduling engine adjusts insertion rates and forwarding priorities according to the class of service assigned to each packet. This parameter adaptation allows the system to optimize bandwidth allocation efficiency while meeting diverse quality of service requirements for different traffic classes.
2Reliability
If packet scheduling complexity increases to manage multiple classes of service, then service differentiation is improved, but system performance and scalability worsen
Solution Approach 1:
The scheduling function is segmented into priority-based queue management and class-based forwarding decisions. The packet scheduling engine separates the complexity of managing multiple classes of service into distinct priority queues, each with simplified insertion and forwarding logic. This segmentation reduces scheduling overhead while maintaining service differentiation capabilities.
Solution Approach 2:
Different scheduling policies and insertion rates are applied locally to each priority queue and class of service. The system implements localized scheduling decisions for first priority packets versus second priority packets, allowing optimized handling for each service class. This local quality approach enables service differentiation without requiring complex global scheduling algorithms that would degrade system performance.
3Productivity
If local packets are inserted between upstream packets, then bandwidth utilization is improved, but packet ordering and scheduling complexity increase
Solution Approach 1:
The packet insertion mechanism is made dynamic, with the insertion rate adjusted based on local packet availability, queue priorities, and current network conditions. The packet scheduling engine dynamically determines when and how many local packets to insert between upstream packets, optimizing bandwidth utilization while adapting to changing traffic patterns. This dynamic approach reduces scheduling complexity compared to static insertion schemes.
Solution Approach 2:
The system changes the insertion rate parameter based on traffic conditions and service requirements. Different insertion rates are applied for different priority classes and traffic conditions, allowing the system to optimize bandwidth utilization while managing scheduling complexity through parameter adaptation rather than complex structural changes.
Data Source
AI summary
A method includes a local switch receiving a first set of upstream packets and a first set of local packets, each assigned a first class of service. The local switch inserts, according to a first insertion rate, a local packet between subsets of the first set of upstream packets to obtain an ordered set of first class packets. The local switch also receives a second set of upstream packets and a second set of local packets, each assigned a second class. The local switch inserts, according to a second insertion rate, a local packet between subsets of the second set of upstream packets to obtain an ordered set of second class packets. The method includes for each timeslot, selecting a class, and forwarding a packet from the selected class of service to a downstream switch. The switches are interconnected in a daisy chain topology on a single chip.


