Assignment 4
Assignment 4
Instructions:
• This assignment is to be done in groups. Continue with the same group partner you had for the
last assignment.
• The programs can be written in C/C++.
• Your code should have a readme file, a makefile, and it should be well commented. These will
carry separate marks for each question.
• No extensions in submission are allowed. Delay in submission will lead to penalty in marks.
• Assignments submitted before the deadline will only be considered for evaluation. Please do not
email your assignments separately to the TAs, it will not be considered for evaluation.
• Your code will be checked for plagiarism. Any kind of academic dishonesty, plagiarism,etc. will
lead to penalties.
• No sharing of code between students is allowed.
• The first instance of code copying will result in ZERO marks for the assignment. The second
instance of code copying will result in a `F' grade. Students may also be reported to the Students
Disciplinary Committee, which can impose additional penalties.
• TOTAL MARKS = 80 (4 Algorithms: WFQ(10), iSLIP(10), RR(5), Priority(5); Report: 10;
Metrics: 20 (5*4); Viva: 15; README, Makefile, Comments: 5)
Q1) You are tasked with designing a network router switch fabric that handles high-throughput traffic. The
switch fabric has multiple input and output ports, and the job of the scheduling algorithm is to determine
which output port a packet should be sent to from an input queue. The goal of this assignment is to explore
and compare the performance of different scheduling algorithms used in the output queuing of router switch
fabrics. You are required to implement and analyze four scheduling algorithms: Prio rity Scheduling,
Weighted Fair Queuing (WFQ), Round Robin (RR), and iSLIP. The iSLIP algorithm should be based on
the reference provided. Your simulation environment should consist of the following:
• Uniform Traffic: All input ports receive equal traffic with random packet generation.
• Non-Uniform Traffic: Some input ports receive higher priority traffic (e.g., real-time
applications), while others receive low-priority traffic.
• Bursty Traffic: Randomly generate bursty traffic for certain input ports to simulate peak loads.
Write a detailed report comparing the performance of each scheduling algorithm under the different traffic
scenarios. Specifically, address the following:
Based on the results, recommend the best scheduling algorithm for use in high -throughput router switch
fabrics. Submit your source code along with simulation results and also include logs of performance metrics
collected from your simulations.
***************