Chapter 7 Queue Management and packet Scheduling Instructor : Sheau-Ru Tong Presenter : Hao-Hsiang Ku From: The ns Manual (formerly ns Notes and Documentation)

Slides:



Advertisements
Similar presentations
A Switch-Based Approach to Starvation in Data Centers Alex Shpiner and Isaac Keslassy Department of Electrical Engineering, Technion. Gabi Bracha, Eyal.
Advertisements

1 Simulating the Internet: challenges & methods Kevin Fall Network Research Group, Lawrence Berkeley National Laboratory Berkeley, CA USA.
RED-PD: RED with Preferential Dropping Ratul Mahajan Sally Floyd David Wetherall.
1 GPS Example 2: Arrivals o Eleven Sources. First source gets 0.5. Other 10 sources get 0.05 each. First source sends 11 cells send one each at t=0.
1 CSE 380 Computer Operating Systems Instructor: Insup Lee University of Pennsylvania Fall 2003 Lecture Note 2.6: Message-Based Communication.
1 ns-2 Tutorial, part 2 Dave Anderson, Xiaowei Yang (Modified from Polly Huang’s slides)
Ns-2 Tutorial Exercise (1) Multimedia Networking Group, The Department of Computer Science, UVA Jianping Wang Adopted from Nicolas’s slides Jianping Wang,
How to Add a New Protocol in NS2 Xu Leiming CSCW Lab. at CS Dept., Tsinghua Univ. June 1, 2001.
Deficit Round Robin Scheduler. Outline Introduction Ordinary Problems Deficit Round Robin Latency of DRR Improvement of latencies.
1 Special Topics: Diffserv Model Xuan Chen Nov 22, 2002.
1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
WHITE – Achieving Fair Bandwidth Allocation with Priority Dropping Based on Round Trip Time Name : Choong-Soo Lee Advisors : Mark Claypool, Robert Kinicki.
CSIT560 Internet Infrastructure: Switches and Routers Active Queue Management Presented By: Gary Po, Henry Hui and Kenny Chong.
CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Assignment #2 Due Sunday Sept 17, 11:55pm. Objectives  Getting to know ns-2  Manipulate ns-2 as a black box.  Configure/Script.
Networks: Congestion Control1 Congestion Control.
UCB Switches Jean Walrand U.C. Berkeley
1 Controlling High Bandwidth Aggregates in the Network.
EE689 Lecture 5 Review of last lecture More on HPF RED.
CS 268: Lecture 8 (Router Support for Congestion Control) Ion Stoica February 19, 2002.
Improving Individual Flow Performance with Multiple Queue Fair Queuing Author: Manfred Georg, Christoph Jechlitschek, Sergey Gorinsky Publisher: Quality.
A Switch-Based Approach to Starvation in Data Centers Alex Shpiner Joint work with Isaac Keslassy Faculty of Electrical Engineering Faculty of Electrical.
Active Queue Management Rong Pan Cisco System EE384y Spring Quarter 2006.
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
May, Bit Round Robin Scheduling t t t. May, Bit Round Robin Scheduling t t t.
Color Aware Switch algorithm implementation The Computer Communication Lab (236340) Spring 2008.
Core Stateless Fair Queueing Stoica, Shanker and Zhang - SIGCOMM 98 Rigorous fair Queueing requires per flow state: too costly in high speed core routers.
Lightweight Active Router-Queue Management for Multimedia Networking M. Parris, K. Jeffay, and F.D. Smith Department of Computer Science University of.
Core Stateless Fair Queueing Stoica, Shanker and Zhang - SIGCOMM 98 Fair Queueing requires per flow state: too costly in high speed core routers Yet, some.
Packet Scheduling and Buffer Management in Routers (A Step Toward Quality-of-service) 10-1.
An Integrated IP Packet Shaper and Scheduler for Edge Routers MSEE Project Presentation Student: Yuqing Deng Advisor: Dr. Belle Wei Spring 2002.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
1 Queue Management Hamed Khanmirza Principles of Networking University of Tehran.
Queuing and Queue Management Reading: Sections 6.2, 6.4, 6.5 COS 461: Computer Networks Spring 2011 Mike Freedman
Link Scheduling & Queuing COS 461: Computer Networks
CS 268: Computer Networking L-6 Router Congestion Control.
Advance Computer Networking L-6 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
JIA-HUI HUANG INSTITUTE OF COMPUTER SCIENCE AND INFORMATION ENGINEERING NATIONAL TAIPEI UNIVERSITY OF TECHNOLOGY Network Simulator – NS-2 1.
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.
Queueing and Active Queue Management Aditya Akella 02/26/2007.
Packet Scheduling and Buffer Management Switches S.Keshav: “ An Engineering Approach to Networking”
Cousin of the Stack.  An abstract data type (container class) in which items are entered at one end and removed from the other end  First In First.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
1 Introduction to NS-2 r Tutorial overview of NS m Create basic NS simulation r Walk-through a simple example m Model specification m Execution and trace.
The New NS2 Emulation Facility Kevin Fall NS2 is the simulation vehicle for the VINT project: –USC/ISI: Deborah Estrin, Mark Handley,
NS-2 Shahin Shayandeh December 2004 Session 1. Ns-2, the Network Simulator  A discrete event simulator Simple model  Focused on modeling network protocols.
Stochastic Fair Blue An Algorithm For Enforcing Fairness Wu-chang Feng (OGI/OHSU) Dilip Kandlur (IBM) Debanjan Saha (Tellium) Kang Shin (University of.
Queue Scheduling Disciplines
© 2006 Cisco Systems, Inc. All rights reserved. Module 4: Implement the DiffServ QoS Model Lesson 4.6: Congestion Avoidance.
1 A Deficit Round Robin 20MB/s Layer 2 Switch Muraleedhara Navada Francois Labonte.
CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Scheduling for QoS Management. Engineering Internet QoS2 Outline  What is Queue Management and Scheduling?  Goals of scheduling  Fairness (Conservation.
1 NS-2: the network simulator 15 September 2005 Network Lab., SNU Changjee Joo.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
Ch7: Link and Buffer Management. 2 Portrait of A Mobile Node Node ARP Propagation and antenna models MobileNode LL MAC PHY LL CHANNEL LL MAC PHY Classifier:
DMET 602: Networks and Media Lab
(Modified from Polly Huang’s and last year’s original)
Introduction to ns-2: “The” Network Simulator
Congestion Control and Resource Allocation
NS2 (and possible directions for mobile routing simulation) Kevin Fall
EE 122: Router Support for Congestion Control: RED and Fair Queueing
Variations of Weighted Fair Queueing
ns-2 simulation of TCP + CBR traffic
Design Review.
Variations of Weighted Fair Queueing
Packet Scheduling in Linux
Introduction to Packet Scheduling
Congestion Control and Resource Allocation
Presentation transcript:

Chapter 7 Queue Management and packet Scheduling Instructor : Sheau-Ru Tong Presenter : Hao-Hsiang Ku From: The ns Manual (formerly ns Notes and Documentation) The VINT Project A collaboratoin between researchers at UC Berkeley, LBL, USC/ISI, and Xerox PARC. Kevin Fall, Editor,Kannan Varadhan, Editor

Outline Abstract 7.1 The C++ Queue Class 7.2 Drop Tail 7.3 Different Types of Queue Objects 7.4 Commands at a Glance

Abstract Packet scheduling Buffer management FIFO Other kinds of Queues.

7.1 The C++ Queue Class class Queue : public Connector{ public : virtual void enque(Packet*)=0; virtual Packet* deque()=0; void recv(Packet *,Handler*); void resume(); int blocked(); void unblock(); void block(); protected: Queue(); int command(int argc,const char*const* argv) int qlim_; int blocked_; int unblock_on_resume_; QueueHandler qh_; };

7.1.1 Queue Blocking class QueueHandler : public Handler { public: inline QueueHandler(Queue& q) : queue_(q) {} void handle(Event*); private: Queue& queue_; }; void QueueHandler::handle(Event*) { queue_.resume(); } Queue::Queue() : drop_(0), blocked_(0), qh_(*this) { Tcl& tcl = Tcl::instance(); bind("limit_", &qlim_); }

7.1.1 Queue Blocking(cont.) void Queue::recv(Packet* p, Handler*) { enque(p); if (!blocked_) { p = deque(); if (p != 0) { blocked_ = 1; target_-\>recv(p, &qh_);}}} void Queue::resume() { Packet* p = deque(); if (p != 0) target_-\>recv(p, &qh_); else { if (unblock_on_resume_) blocked_ = 0; else blocked_ = 1; } }

7.1.2 PacketQueue Class class PacketQueue { public: PacketQueue(); int length(); void enque(Packet* p); Packet* deque(); Packet* lookup(int n); void remove(Packet*); protected: Packet* head_; Packet** tail_; int len_; };

7.2 Drop Tail A bounded, drop-tail queue class DropTail : public Queue { protected: void enque(Packet*); Packet* deque(); PacketQueue q_; };

7.2 Drop Tail(cont.) drop-tail void DropTail::enque(Packet* p) { q_.enque(p); if (q_.length() \>= qlim_) { q_.remove(p); drop(p); } } Packet* DropTail::deque() { return (q_.deque()); }

7.3 Different Types of Queue Object Parameters: –limit_ –blocked_ –unblock_on_resume_ Other Queue objects –Drop-tail,FQ,SFQ,DRR,RED and CBQ.

7.3 Different Types of Queue Object(cont.) Drop-tail objects: simple FIFO queue. FQ objects:Fair Queue. SFQ objects : Stochastic Fair queuing. DRR objects: Deficit round robin scheduling. RED objects:Random Early-detection Gateway.

7.3 Different Types of Queue Object(cont.) CBQ objects:Class-Based Queuing. CBQ/WRR(Weighted Round-Robin scheduling)

7.3 Different Types of Queue Object(cont.) Queue-monitor objects –$queuemonitor –$queuemonitor set-delay-samples –$queuemonitor get-bytes-integrator –$queuemonitor get-pkts-integrator –$queuemonitor get-delay-samples

7.4 Commands at a Glance $ns_ queue-limit $ns_ trace-queue $ns_ namtrace-queue $ns_ monitor-queue