next up previous contents index
Next: 28.2 Configuration Up: 28 HPFQ: Hierarchical Network Previous: 28 HPFQ: Hierarchical Network

28.1 Introduction

This short section outlines the Hierarchical Packet Fair Queuing (H-PFQ) network link-sharing implementation in the OSKit. The actual H-PFQ algorithm implemented is called H-WF2Q and is described in the SIGCOMM96 paper by Bennet and Zhang. A working understanding of this paper would be useful in understanding the use of this library.

Be aware that this is a first-cut implementation and is not thoroughly tested nor tuned.

This library allows the user to hierarchically schedule outgoing traffic from different sessions through a single link. Each session is guaranteed a percentage of its parent's bandwidth, relative to its siblings. This is done by creating a scheduling tree where interior nodes correspond to one-level PFQ schedulers, and leaf nodes corresond to oskit_netio objects for the sessions they represent (see Section 5.5). The root node corresponds to the physical link being shared. The definition of session is up to the user, who controls what is sent to the leaf node oskit_netio's. Typical session types are real-time traffic, traffic from different organizations, or protocol types. Note, however, that this more general issue of packet classification is not part of this library.

Currently, only one link can be managed at a time, because of the oskit_pfq_root global variable. This will be fixed in a future version.



University of Utah Flux Research Group