Scheduling Mechanisms Applied to Packets in a Network Flow CSC 4320 4/15/03 By Chris Hare, Ricky Johnson, and Fulviu Borcan.

Slides:



Advertisements
Similar presentations
CPU Scheduling Tanenbaum Ch 2.4 Silberchatz and Galvin Ch 5.
Advertisements

1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
01. Apr INF-3190: Congestion Control Congestion Control Foreleser: Carsten Griwodz
Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.
Priority Scheduling and Buffer Management for ATM Traffic Shaping Authors: Todd Lizambri, Fernando Duran and Shukri Wakid Present: Hongming Wu.
Real-Time Protocol (RTP) r Provides standard packet format for real-time application r Typically runs over UDP r Specifies header fields below r Payload.
Comparison and Analysis of FIFO, PQ, and WFQ Disciplines on multimedia
Ceng Operating Systems Chapter 2.2 : Process Scheduling Process concept  Process scheduling Interprocess communication Deadlocks Threads.
CENG 334 – Operating Systems 05- Scheduling
Differentiated Services. Service Differentiation in the Internet Different applications have varying bandwidth, delay, and reliability requirements How.
Scheduling CS 215 W Keshav Chpt 9 Problem: given N packet streams contending for the same channel, how to schedule pkt transmissions?
Networking Issues in LAN Telephony Brian Yang
Scheduling in Batch Systems
Congestion Control and Resource Allocation
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
School of Information Technologies IP Quality of Service NETS3303/3603 Weeks
Lecture 4#-1 Scheduling: Buffer Management. Lecture 4#-2 The setting.
7/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Schedulers.
Computer Networks Switching Professor Hui Zhang
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 4: Implement the DiffServ QoS Model.
CPU-Scheduling Whenever the CPU becomes idle, the operating system must select one of the processes in the ready queue to be executed. The short term scheduler.
CIS679: Scheduling, Resource Configuration and Admission Control r Review of Last lecture r Scheduling r Resource configuration r Admission control.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
CONGESTION CONTROL and RESOURCE ALLOCATION. Definition Resource Allocation : Process by which network elements try to meet the competing demands that.
Chapter 6 Scheduling. Basic concepts Goal is maximum utilization –what does this mean? –cpu pegged at 100% ?? Most programs are I/O bound Thus some other.
Scheduling Strategies Operating Systems Spring 2004 Class #10.
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 3: Introduction to IP QoS.
March 29 Scheduling ?. What is Packet Scheduling? Decide when and what packet to send on output link 1 2 Scheduler flow 1 flow 2 flow n Buffer management.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
OBJECTIVE: To learn about the various system calls. To perform the various CPU scheduling algorithms. To understand the concept of memory management schemes.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
© 2006 Cisco Systems, Inc. All rights reserved. Module 4: Implement the DiffServ QoS Model Lesson 4.3: Introducing Queuing Implementations.
Queue Scheduling Disciplines
© 2006 Cisco Systems, Inc. All rights reserved. 3.2: Implementing QoS.
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
Providing QoS in IP Networks
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
CPU Scheduling G.Anuradha Reference : Galvin. CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time.
Lecturer 5: Process Scheduling Process Scheduling  Criteria & Objectives Types of Scheduling  Long term  Medium term  Short term CPU Scheduling Algorithms.
1 Chapter 5: CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms.
Chapter 30 Quality of Service Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CPU SCHEDULING.
QoS & Queuing Theory CS352.
Topics discussed in this section:
Congestion Control, Quality of Service, and Internetworking
Buffer Management in a Switch
Chapter 6 Queuing Disciplines
Congestion Control and Resource Allocation
Chapter 2.2 : Process Scheduling
ICS 143 Principles of Operating Systems
CPU Scheduling Basic Concepts Scheduling Criteria
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Operating System Concepts
Fair Queueing.
Congestion Control, Quality of Service, & Internetworking
Network Simulation NET441
Congestion Control Reasons:
Introduction to Packet Scheduling
CPU Scheduling ( Basic Concepts)
Congestion Control and Resource Allocation
CPU Scheduling: Basic Concepts
A Simple QoS Packet Scheduler for Network Routers
Introduction to Packet Scheduling
Presentation transcript:

Scheduling Mechanisms Applied to Packets in a Network Flow CSC /15/03 By Chris Hare, Ricky Johnson, and Fulviu Borcan

Goals To examine various Scheduling algorithms as applied to packets in a Network flow and determine the advantages and disadvantages of each. To examine various Scheduling algorithms as applied to packets in a Network flow and determine the advantages and disadvantages of each. To introduce a new algorithm which might reduce some of the disadvantages found. To introduce a new algorithm which might reduce some of the disadvantages found.

Procedure Research and Understand Scheduling algorithms. Research and Understand Scheduling algorithms. Design code to simulate a Packet generator and a Packet transmitter. Design code to simulate a Packet generator and a Packet transmitter. Include 4 different scheduling algorithms including one we created. Include 4 different scheduling algorithms including one we created. Develop code which outputs the Turnaround times and Waiting times for packets generated with respect to each scheduling algorithm. Develop code which outputs the Turnaround times and Waiting times for packets generated with respect to each scheduling algorithm. Examine and discuss the results. Examine and discuss the results.

Packet Transmission Packets are transmitted through various protocols Packets are transmitted through various protocols Important characteristic of Packets: Important characteristic of Packets: Size – may be fixed or variable Size – may be fixed or variable We use 64k for Max Packet size and 10M for Max DataStream We use 64k for Max Packet size and 10M for Max DataStream Type of Service – (e.g. HTTP, FTP, TELEPHONY, MPEG, ETC)- We use these types to differentiate between the different queues. Type of Service – (e.g. HTTP, FTP, TELEPHONY, MPEG, ETC)- We use these types to differentiate between the different queues. Other Schemes can use the following to differentiate the queues: Other Schemes can use the following to differentiate the queues: Source Source Destination Destination Bandwidth requested – the speed of transmission(bits per second) Bandwidth requested – the speed of transmission(bits per second)

Packets can be sent to a central router which can then be sent to selected destinations. Packets can be sent to a central router which can then be sent to selected destinations. The Quality of Service delivered to the packet flow is a function of many factors including: The Quality of Service delivered to the packet flow is a function of many factors including: Limitations of sender Limitations of sender Bandwidth limitations due to network congestion Bandwidth limitations due to network congestion Limitations of the router Limitations of the router Scheduling Algorithm utilized by the scheduler Scheduling Algorithm utilized by the scheduler Unlike “processes” which can be split up by the CPU in terms of time, packets must be kept together and can not be split up. Unlike “processes” which can be split up by the CPU in terms of time, packets must be kept together and can not be split up. Packets can also be lost or dropped due to Network congestion. Consequently, retransmission can cause slower service. Packets can also be lost or dropped due to Network congestion. Consequently, retransmission can cause slower service.

Scheduling Mechanisms Many algorithms used to select among the waiting packets include: Many algorithms used to select among the waiting packets include: FIFO(first in first out) FIFO(first in first out) Priority Priority Round Robin Round Robin Including Weighted Fair Queuing variations Including Weighted Fair Queuing variations Allows for weighting of queues in order to give differential amount of service in any interval of time Allows for weighting of queues in order to give differential amount of service in any interval of time

FIFO Packets are sent based on Arrival Time Packets are sent based on Arrival Time First packet in is the first packet out First packet in is the first packet out Only one queue is used Only one queue is used Priority is ignored Priority is ignored “Unfair” in terms packet size “Unfair” in terms packet size Large packets inhibit traffic flow Large packets inhibit traffic flow Can not guarantee bandwidth requests Can not guarantee bandwidth requests

Priority Involves more than one queue Involves more than one queue Packets are sent based on their priority Packets are sent based on their priority Packets are placed in queues based on their TOS (Type of service) ; each queue is then assigned a priority. Packets are placed in queues based on their TOS (Type of service) ; each queue is then assigned a priority. Many priority schemes are possible Many priority schemes are possible Packets in high priority queues sent first Packets in high priority queues sent first High priority packets receive fastest service High priority packets receive fastest service Unfair towards low priority packets Unfair towards low priority packets Low priority packets are completely starved if high priority packets exist continuously Low priority packets are completely starved if high priority packets exist continuously

Round-Robin Involves more than one queue Involves more than one queue Many schemes possible for creating queues: Many schemes possible for creating queues: Type of Service Type of Service Bandwidth Bandwidth Source Source Destination Destination Scheduler selects packets from each queue in sequence Scheduler selects packets from each queue in sequence Prevents starvation of any particular queue Prevents starvation of any particular queue No regard for priority or size No regard for priority or size Checking empty queue can cost time Checking empty queue can cost time

Suggest New Algorithm Priority-Round Robin Hybrid Priority-Round Robin Hybrid  Several Queues are created based on the type of service  Scheduler gives top priority to one. All others have second priority. Scheduler selects packet from highest priority. The selection of packets among the other queues is done in a round robin fashion.  In order to prevent starvation of any queue, top priority queue is limited to 4 consecutive turns

Top Priority Queue 2nd Priority If Packets exist in this queue it will be selected but only for 4 turns Then a turn is allocated to one of the other three queues in a round robin fashion

Packet Traffic Simulator Random Data Streams are created (0-1M) Random Data Streams are created (0-1M) Random TOS set to Data Stream Random TOS set to Data Stream Stream is cut into to packets of Max size 64 K Stream is cut into to packets of Max size 64 K Packets are given an arrival time Packets are given an arrival time Packets are then copied and placed in different queues so that the different scheduling algorithms can be tested Packets are then copied and placed in different queues so that the different scheduling algorithms can be tested Packet FIFO QUEUE PRIORITY QUEUES ROUND ROBIN QUEUES PRIORITY ROUND ROBIN QUEUES

Type of Service Queues FIFO QUEUE – only 1 queue FIFO QUEUE – only 1 queue Priority, Round Robin, and Priority RR: Priority, Round Robin, and Priority RR: Packets placed in 1 of 4 based on TOS: Packets placed in 1 of 4 based on TOS:  Telephony  HTTP  MPEG  FTP

Output Scheduler The queues are then polled according to the different algorithms and are subsequently dequeued The queues are then polled according to the different algorithms and are subsequently dequeued When they are selected for output their waiting times are computed When they are selected for output their waiting times are computed If the packet is the last packet for a particular data stream, a turnaround time can then be calculated If the packet is the last packet for a particular data stream, a turnaround time can then be calculated

2 Threads Run Simultaneously Traffic Generator enqueues a packet Traffic Generator enqueues a packet Output Scheduler dequeues a packet Output Scheduler dequeues a packet

Results FIFO tends to have the longest waiting times and turnaround times FIFO tends to have the longest waiting times and turnaround times The Round-Robins usually have the lowest (but not allways). Queues are generally prevented from starvation. The Round-Robins usually have the lowest (but not allways). Queues are generally prevented from starvation. Priority sometimes shows the shortest avg waiting times and turnaround times. However, this is usually due to biase towards the incredibly fast rate of the high priority queue. Unfortunately FTP queue is heavily starved and has the longest waiting times Priority sometimes shows the shortest avg waiting times and turnaround times. However, this is usually due to biase towards the incredibly fast rate of the high priority queue. Unfortunately FTP queue is heavily starved and has the longest waiting times The Priority Round Robin often has shorter average waiting times than most. Unlike regular priority no queue is starved. The Priority Round Robin often has shorter average waiting times than most. Unlike regular priority no queue is starved.

Implication for Future Algorithms While prioritizing queues allows for faster transmissions for some, other queues suffer While prioritizing queues allows for faster transmissions for some, other queues suffer Ideally, the aim should be at reducing the overall average waiting times while at the same time trying to be a “fair” as possible to all queues. Ideally, the aim should be at reducing the overall average waiting times while at the same time trying to be a “fair” as possible to all queues. Algorithms should take into account the speed at which data streams are received and the amount of data coming from different priority streams Algorithms should take into account the speed at which data streams are received and the amount of data coming from different priority streams