HTBQueue: A Hierarchical Token Bucket Implementation For .

2y ago
6 Views
2 Downloads
3.23 MB
27 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Tia Newell
Transcription

HTBQueue: A Hierarchical Token Bucket Implementation forthe OMNeT /INET FrameworkAuthors:Marcin Bosk, Marija Gajić, Susanna Schwarzmann, Stanislav Lange, and Thomas ZinnerPresenters:Marija Gajić, M.Sc. (NTNU; marija.gajic@ntnu.no)Marcin Bosk, M.Sc. (TUM; bosk@in.tum.de)Funding:EC H2020 TeraFlowSWC BigQoE8th of September 2021

AgendaMotivationThe Hierarchical Token BucketHTB Implementation for OMNeT /INETRate Conformance ValidationSummaryMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework2

Motivation

MotivationFigure 1: Traffic changes during the COVID-19 pandemic’s, taken from [1]Nowadays Internet: heterogeneous services increased number of customers pandemic effectsA key role for network providers – advanced, efficient and scalable traffic shaping, and resource allocationOMNeT /INET framework – one of the most prominent discrete simulation frameworks for gaining newknowledge and insights.Marija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework4

MotivationDesired properties of an advanced traffic shaper: 3GPP standard for 5G and beyond network technologies [2] specifies that flows should have two-levelbitrate limits: Guaranteed Flow Bitrate (GFBR) and Maximum Flow Bitrate (MFBR) Scalability Prioritization Efficient resource allocation and isolation in a slice-like manner Feasibility to use in research testbeds and for different QoS policy enforcement Good rate conformanceCurrently no built-in support in OMNeT The Hierarchical Token Bucket (HTB) fulfills alldescribed properties.HTBQueue: our implementation of the HTB as compoundmodule in OMNeT /INET framework.Marija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework5

The Hierarchical Token Bucket

The Hierarchical Token BucketA classful token bucket bucket algorithmRate control using two nested token buckets, controllingthe assured and ceiling rateUtilizes a tree hierarchy to control multiple traffic classes.Three class types exist: root, inner and leafInner classes allow grouping of leaf classesPossible use-case: 5G network slicingSum of children’s assured rates cannot exceed assuredrate of the parentMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework7

The Hierarchical Token Bucket – Rate Borrowing PrincipleMode of class determined by three different states:Each class on Level L 0 keeps a list of itsdescendant nodes that would like to borrow.Key parameters per class: Ceiling rate Assured rate Current rate utilized by the parent Quantum of the class Borrowed bandwidth -Marija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework8

HTB Implementation for OMNeT /INET

HTB Implementation for OMNeT /INETHTBQueue Implemented as an OMNeT compound module Extension of the INET FrameworkPacket queue module, similarly to e.g. PriorityQueue Used as a replacement for any packet queue on an interface Applicability limited to the PPP interfaceImplementation based on Linux HTB by Martin Devera [3] Linux HTB source code [4] port to C OMNeT specific adjustmentsImplementation available on Github: https://github.com/fg-inet/omnet htbMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework10

The HTBQueue Compound ModuleHTBClassifiern QueuesHTBSchedulerCompound queue implementing the Hierarchical Token Bucket algorithm Queuing module for PPP interface Utilization of already existing queues for leaf queuesConsists of three modules HTBClassifier – Classifies packets into correct leaf classes Queues – Generic queues, number of which corresponds to number of leaf classes HTBScheduler - Schedules packets and implements the actual functionality of HTBMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework11

QueuesHTBClassifier The HTBClassifier Module HTBSchedulerNotifyHTBClassifier Extension and adaptation of the ContentBasedClassifier [5] Functionality for filtering and forwarding packets analogous to ContentBasedClassifier Support for signalling to the HTBScheduler modulePacket filtering based on Packet type (e.g. ping packet) Packet information (e.g. packet source IP)Marija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework12

The HTBScheduler ModuleHTBScheduler Implementation of scheduling functionality of HTB Enforcement of classful HTB scheduling hierarchy Enforcement of assured and ceiling rates for each classHTBSchedulerSelection of the next leaf class/queue to dequeue when The interface finished transmission event occurs An event with a new packet arriving to the queue and interface being idle occurs A timeout occurs – i.e. an active leaf class can send againThe timeout Set if there are only packets in leaf queues that can’t be sent during either of the first two events Invokes refreshOutGateConnection method of the PPP module PPP Interface modification à the refreshOutGateConnection method has to be publicMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework13

The HTBScheduler Module – Functional OverviewTimeout occurredPPP Transmission Finished ornew packet arrived to ②HTBQueueavailablepackets?Yes④Any leaf incan sendmode?YesCall htbDequeuemethod and select nextleaf to dequeue ⑤YesCurrentnode incan send?Dequeue packet andtransmit on interface ⑦No④⑧Any leaf inmay borrowmode?YesSelect an uncheckedleaf in may borrowmode as current nodeNoSelect the currentnode parent ascurrent nodeYesNoSet timeout for nextexpected class modechange⑨Currentnode inmay borrow?YesNoNoPut interface to IDLE③Return ID of queuecorresponding to⑥selected leaf classUncheckedleaves left?NoMark selected leaf ascheckedMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework14

Rate Conformance Validation

Rate Conformance Validation50 MbpsRate limiting and sharing verified in simple experiments with two directly connected hosts Hosts connected via PPP interfaces HTBQueue configured on each PPP interface UDP flows between hosts sending 1500 Byte packets every 100µs in one direction Each flow corresponds to one leaf class Flows started in 10s intervals and ran for 100sThree scenarios covering different configurations w.r.t. inner/leaf nodes and prioritiesMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework16

Rate Conformance Validation – HTB ConfigurationScenario 1Level 1rootScenario 2Ra, root 50Mbit/sRc root 50Mbit/sLevel 1rootLevel 0Ra 6Rc 25Ra 9Rc 30Flow 0Flow 1Flow 2Ra 12Rc 35Flow 3Ra 15Rc 40Flow 4Level 0Ra, root 50Mbit/sRc root 50Mbit/sLevel 1rootRa, root 50Mbit/sRc root 50Mbit/sRa 30Rc 40Ra 20Rc 40Ra 3Rc 20Scenario 3Ra 3Rc 20Ra 6Rc 25Ra 9Rc 30Flow 0Flow 1Flow 2Ra 12Rc 35Flow 3Ra 15Rc 40Flow 4Level 0Ra 5Rc 30Ra 5Rc 30Flow 0Flow 1Higher priorityLower priorityRa assured rate (in Mbit/s)Rc ceiling rate (in Mbit/s)Marija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework17

Rate Conformance Validation – Scenario 1Level 1Level 0rootRa 3Rc 20Ra 6Rc 25Ra 9Rc 30Flow 0Flow 1Flow 2Ra, root 50Mbit/sRc root 50Mbit/sRa 12Rc 35Flow 3Ra 15Rc 40Flow 4Marija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework18

Rate Conformance Validation – Scenario 2Level 1rootRa 30Rc 40Ra 20Rc 40Level 0Ra, root 50Mbit/sRc root 50Mbit/sRa 3Rc 20Ra 6Rc 25Ra 9Rc 30Flow 0Flow 1Flow 2Ra 12Rc 35Flow 3Ra 15Rc 40Flow 4Marija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework19

Rate Conformance Validation – Scenario 3Level 1Level 0rootRa 5Rc 30Ra, root 50Mbit/sRc root 50Mbit/sRa 5Rc 30Flow 0Flow 1Higher priorityLower priorityMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework20

Summary

SummaryMotivation for HTBQueue implementation Key role for network operators nowadays – traffic shaping and optimal resource allocation No built-in advanced traffic shaper allowing for hierarchical two level bitrate guarantees in OMNeT HTB concepts still in use today and applicable to numerous use-cases (5G and beyond)Design and implementation of a compound module in INET framework – HTBQueue Consists of classifier, generic queues and scheduler Code based on the Linux HTB implementationHTBQueue validation in different scenarios Good rate conformance for leaf and inner classes Enforces different priority settingsMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework22

Thank You!Q&A

DemoMarija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework24

HTBQueue Integration into an Existing ProjectCopy the HTB Implementation files over from github https://github.com/fg-inet/omnet htb I.e. merge the code/inet4 folder with your inet4 folderCompile INETConfigure HTBQueue as the packet queue on interfaces in the INI filePrepare XML HTB configuration(example)Marija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework25

References

References1.2.3.4.5.Anja Feldmann, Oliver Gasser, Franziska Lichtblau, Enric Pujol, Ingmar Poese, Christoph Dietzel,Daniel Wagner, Matthias Wichtlhuber, Juan Tapiador, Narseo Vallina-Rodriguez, Oliver Hohlfeld, andGeorgios Smaragdakis. 2021. A year in lockdown: how the waves of COVID-19 impact internet traffic.Commun. ACM 64, 7 (July 2021), 101–108. DOI: https://doi.org/10.1145/34652123rd Generation Partnership Project (3GPP), \NR; NR and NG-RAN Overall description; Stage-2,"Technical Specication (TS) 38.300, Mar. 2021, release 16.5.0.M. Devera, “Hierarchical token bucket,” http://luxik.cdi.cz/ devik/qos/htb/, February 2002.HTB Linux source code, sched/sch htb.cDocumentation of the ContentBasedClassifier, arija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework27

The Hierarchical Token Bucket –Rate Borrowing Principle Marija Gajić, M.Sc. (NTNU) Marcin Bosk, M.Sc. (TUM) HTBQueue: A Hierarchical Token Bucket Implementation for the OMNeT /INET Framework 8 Mode of class determined by three different states:

Related Documents:

Lab 20: Hierarchical Token Bucket Page 3 Overview This lab is aimed to introduce the reader to Hierarchical Token Bucket (HTB). This queueing discipline controls the use of the outbound bandwidth on a given link by classifying different kinds of traffic into several slower links. Throughput tests are

Token Bucket Filter One token one bit Bucket fills up with tokens at a continuous rate Send only when enough tokens are in bucket Unused tokens are accumulated, bursty Still tail drop Big packets could block smaller ones. Hierarchical Token Bucket Basically classful TBF Allow link sharing Predetermined bandwidth Not easy to control queue limit .

Managed by the NASA Enterprise Service Desk (ESD) Two types - "hard" and "soft" Passcodes When using a hard token, enter your pin and the six-digit token code When using a soft token, enter the eight-digit token code Fob-based hard token Phone-based soft token NCCS LDAP Passwords

*D5 CS Seats - Premium Cloth Trimmed *E6 PJ Seats - Front Vinyl Tech Bucket *G5 TJ Two Tone Cloth Seats W/Logo *D7 Seats - Prem Cloth Low-Back Bucket PK Seats - Front Vinyl Tech Bucket XK Cloth Bucket Seats W/Logo JA Seats - Cloth Trimmed Bucket *E7 Seats - Cloth Low-Back Bucket *G6 Trim Style G6 - Lthr Cloth Lo B/Bkt St .

Replaceable cutting edges are available through Hitachi parts. Optional side cutters add 6 inches (150 mm) to bucket widths. Bucket Bucket Bucket Arm Dig Force Arm Dig Force Bucket Type Bucket Width Capacity* Weight Dig Force 9 ft. 9 in. (2.96 m) 11 ft. 10 in. (3.61 m) Tip Radius No. Teeth in. mm cu .

Sep 15, 2010 · Crawler, Truck & Wheel. Includes bucket. hour 18.00 8281 Excavator, Hydraulic Bucket Capacity 1.0 cy to 90 Crawler, Truck & Wheel. Includes bucket. hour 39.00 8282 Excavator, Hydraulic Bucket Capacity 1.5 cy to 160 Crawler, Truck & Wheel. Includes bucket. hour 65.00 8283 Excavator, Hydraulic Bucket C

Standard Bucket Operation Fully close the bucket against the dozer weldment in order to use the attachment as a standard bucket. The opening bucket feature has two advantages during normal digging operations: 1. The operator may choose to open the bucket and scoop up small amounts of mate

Anatomi Olahraga 6 Fisiologi Sistem Tulang 52 Sel Penyusun Tulang 53 BAGIAN IV ARTHROLOGI 64 Klasifikasi Sendi 64 A. Berdasrkan Tanda Struktural Yang Spesifik 64 B. Berdasrkan Jumlah Aksisnya 71 C. Berdasarkan Bentuk Permukaan Tulang 72 D. Berdasarkan Komponen Penyusun Kerangka 74 E. Berdasarkan Luas Gerakan 74 BAGIAN V MIOLOGY 76 Fibra Otot Seran Lintang 79 Fibra Otot Polos 84 Fibra Otot .