Multimedia Networks Group  
The QoSbox
Multimedia Networks Group
Dept. of Computer Science
University of Virginia
 

 General
 
    Overview
    People
    Sponsors
 
 Documents
 
    Journal Papers
    Conference Papers
    Talks
    Other Documents
    FAQ
 
 Software

 
    Visualization Applet
    ns-2 Code
    ALTQ/KAME Code
        [Previous KAME patches]
    License
    Support
    CVS Trees
    

 

 Contact us

Frequently asked questions

This is version 1.2 of the QoSbox FAQ,
originally written on Feb. 25, 2002, and revised last on October 27, 2002,
by
Nicolas Christin.

1. General Questions
1.0. What is the purpose of this FAQ?
1.1. What is the QoSbox?
1.2. Are there relevant papers?
1.3. I need to cite your work. What is the most relevant paper to cite?
1.4. Who are the authors and developers?
2. Service Guarantees, Quantitative Assured Forwarding service
2.1. What kind of service guarantees can the QoSbox provide?
2.2. What is QAF?
2.3. What is a busy period?
2.4. What does "per-class, per-hop service guarantees" mean?
2.5. Can I get per-flow service guarantees with the QoSbox?
2.6. Can I get end-to-end service guarantees with the QoSbox?
2.7. What about inter-domain SLAs?
2.8. Are the service guarantees statistical or deterministic?
3. JoBS
3.1. What is JoBS? What is its relationship with the QoSbox?
3.2. Isn't JoBS an optimization-based algorithm?
3.3. What are the key mechanisms of JoBS?
4. Implementations and Software
4.1. Can I order a QoSbox?
4.2. Can I use a programmable router as a QoSbox?
4.3. What kind of PC can I use as a QoSbox?
4.4. Can I use an Linux PC as a QoSbox?
4.5. What is the relationship between Click and the QoSbox?
4.6. What is the relationship between ALTQ, JoBS and the QoSbox?
4.7. What is the difference between the QoSWorks product and the QoSbox?
4.8. Can I simulate a QoSbox?
4.9. Is JoBS going to be integrated in the base distributions of the BSDs?
5. Other
5.1. What are you currently working on?
5.2. I didn't find an answer to my question in this FAQ, what should I do?


1. General Questions

1.0. What is the purpose of this FAQ?

This FAQ aims at providing simple answers to common questions. However, this FAQ is by no means exhaustive. We highly recommend you read our papers if you want to learn more about the QoSbox, the Quantitative Assured Forwarding service, and JoBS.

[Section 1 | Top]

1.1. What is the QoSbox?

The QoSbox is an IP router that can provide per-hop, per-class service guarantees on packet delays, packet losses, and throughput. The specifics of the service guarantees are discussed in Section 2 of this FAQ.

[Section 1 | Top]

1.2. Are there relevant papers?

Absolutely. Please browse the documents page for an exhaustive list of papers, talks, and technical reports that pertain to the QoSbox.

[Section 1 | Top]

1.3. I need to cite your work. What is the most relevant paper to cite?

It depends, but here is some advice. If you want to refer to the original work introducing the concept of Joint Buffer Management and Scheduling (including the optimization algorithm), we recommend you cite the Computer Networks paper. If you want to refer to the service model, or to the feedback-based heuristic, you should cite the Infocom 2002 paper. If you want to refer to the implementation in PC-routers, you probably want to cite the Technical Report CS-2001-28. To ensure accurate citations, BibTeX entries can be found on the documents page.

[Section 1 | Top]

1.4. Who are the authors and developers?

People who have contributed to the project are listed on the people's page.

[Section 1 | Top]

2. Service Guarantees, Quantitative Assured Forwarding service

2.1. What kind of service guarantees can the QoSbox provide?

The QoSbox can enforce a "Quantitative Assured Forwarding" service. The "Quantitative Assured Forwarding" service consists of any combination of the following types of service guarantees, on a per-hop, per-class, basis over a busy period:

  • Proportional Delay Differentiation between classes of traffic. For instance, Class-2 Delays = 4 Class-1 Delays. "Delay" here means "time spent at the transmission queue of the output link of the router."
  • Proportional Loss Differentiation between classes of traffic. For instance, Class-2 Loss Rate = 4 Class-1 Loss Rate. "Loss rate" here means "fraction of traffic dropped since the beginning of the current busy period."
  • Absolute Delay Guarantees. For instance, Class-1 Delays < 5 ms means that no Class-1 packet should spend more than 5 ms in the transmission queue of the output link of the QoSbox
  • Absolute Loss Rate Guarantees. For instance, Class-2 Loss Rate < 1% means that no more than 1% of all Class-2 traffic can be dropped.
  • Absolute Throughput Guarantees. For instance, Class-4 Throughput > 5 Mbps means that the aggregate throughput of Class 4 is always at least 5 Mbps during a busy period when Class 4 presents a backlog.

[Section 2 | Top]

2.2. What is QAF?

It is the acronym used for the "Quantitative Assured Forwarding" service described in this section.

[Section 2 | Top]

2.3. What is a busy period?

A busy period is an interval of time during which the transmission queue of the output link is continuously backlogged. The current busy period thus started the last time the transmission queue was empty.

[Section 2 | Top]

2.4. What does "per-class, per-hop service guarantees" mean?

"Per-class, per-hop service guarantees" means that the service guarantees are provided for aggregates of traffic grouped into classes with similar quality-of-service requirements, and that the service guarantees are offered locally, at the considered QoSbox only.

[Section 2 | Top]

2.5. Can I get per-flow service guarantees with the QoSbox?

Except for delay bounds (all flows in a class subject to a delay bound will be subject to this delay bound), the answer is no, at this time. We are currently working on additional fairness mechanisms that can allow to infer per-flow service guarantees in the context of a class-based service such as QAF.

[Section 2 | Top]

2.6. Can I get end-to-end service guarantees with the QoSbox?

You cannot get end-to-end service guarantees directly. However, if (1) you know how many QoSboxes will be traversed by a given flow, and (2) know which per-hop guarantees each QoSbox provides, you can infer which end-to-end service guarantees you will obtain. More generally, if you want to be able to provide end-to-end guarantees with a set of QoSboxes, you will need to know in advance which route packets will follow. Such route-pinning can be performed by routing mechanisms such as source-routing or MPLS, for example.

[Section 2 | Top]

2.7. What about inter-domain SLAs?

We are only getting started on this issue. We believe that the end applications should have the choice of which class they need to ask for. In such a context, as far as pricing is concerned, we envision some form of usage-based pricing, where traffic using high-performance classes would be charged more expensively than traffic using low-performance classes. This is the subject of ongoing research.

[Section 2 | Top]

2.8. Are the service guarantees statistical or deterministic?

The service guarantees are deterministic, but, since we want to avoid using admission control, some "weaker" service guarantees may need to be temporarily relaxed if the traffic demand is too large. Experiments presented in our papers show that, except for pathological cases, the relaxation of service guarantees is rare.

[Section 2 | Top]

3. JoBS

3.1. What is JoBS? What is its relationship with the QoSbox?

JoBS (Joint Buffer Management and Scheduling) is the scheduling/dropping algorithm used in the QoSbox. It is really the "workhorse" of the QoSbox. JoBS is a feedback-control based algorithm, which allows its implementation at relatively high-speeds.

[Section 3 | Top]

3.2. Isn't JoBS an optimization-based algorithm?

Yes, that is correct. Literally speaking, JoBS is indeed an "ideal" algorithm, using a non-linear optimization solver. Of course, solving a non-linear optimization problem upon each packet arrival is not feasible in practice, and we thus had to devise some heuristics that approximate the behavior of the JoBS algorithm. The latest and most efficient heuristic we devised relies on feedback-control theory, and, is abusively (even by us) referred to as JoBS, since no practical implementation of the original, optimization-based, JoBS exists. We could have called this heuristic FB-JoBS (Feedback Based-JoBS) or something like that, but we thought there were already enough acronyms used in the Internet, and so we never gave it an actual name.

[Section 3 | Top]

3.3. What are the key mechanisms of JoBS?

Buffer management and scheduling are performed by a single algorithm, and the algorithm does not rely on admission control or policing of traffic.

[Section 3 | Top]

4. Implementations and Software

4.1. Can I order a QoSbox?

We wish, we'd probably be rich by now. More seriously, the QoSbox is a research project, so the answer is no: you cannot order a QoSbox, there are no QoSboxes in production. But some prototype code is available that can transform your PC into a QoSbox. Please read on.

[Section 4 | Top]

4.2. Can I use a programmable router as a QoSbox?

At this time, no, even though we are planning on implementating our algorithms on Intel IXP 1200 programmable routers. Then again, due to licensing issues (the IXP SDK is proprietary software), we do not know if and when the IXP code will be made available.

[Section 4 | Top]

4.3. What kind of PC can I use as a QoSbox?

The short answer is: any decent PC running one of the free BSD variants (FreeBSD, OpenBSD, NetBSD). You will have to download the appropriate kernel patches, as explained on the software page. Now, if you want to experience decent performance with relatively complex sets of service guaranteees, you need a reasonably fast machine by 2002 standards. A good rule of thumb is that the faster your transmission link is, the faster your CPU will have to be. For instance, we had good experiences with Pentium-III Class processors clocked at 1 GHz on a FastEthernet network. On the other hand, if you plan on turning a P-100 into a QoSbox, you may want to forget about it, unless your transmission link is very slow (e.g., if you are dialing up).

[Section 4 | Top]

4.4. Can I use an Linux PC as a QoSbox?

No, not at this time. The software we provide is for BSD kernels. We do not have plans for a general Linux release or for supporting other operating systems (Microsoft Windows, MacOS, BeOS, ...). If you are interested in contributing an implementation, please contact us.

[Section 4 | Top]

4.5. What is the relationship between Click and the QoSbox?

Click, developped at MIT initially, and now at ICIR, is a modular router architecture for Linux. Essentially, Click gives you a set of queueing disciplines that you can use. The QoSbox is an IP router which enforces some service guarantees, and which uses the JoBS queueing discipline. In other words, if a "JoBS module" for Click existed, then you would be able to turn a Click router into a QoSbox. Unfortunately, unless someone writes such a module for Click, this is not going to happen, as we do not have plans to write a Click module. This comes from the fact that there is currently only one graduate student in charge of the implementations, his time is scarce, and he prefers BSD. If you are interested in writing some code for Linux, please contact us.

[Section 4 | Top]

4.6. What is the relationship between ALTQ, JoBS and the QoSbox?

A PC-router running ALTQ with the JoBS queuing discipline is a QoSbox (see answer to Question 3.1).

[Section 4 | Top]

4.7. What is the difference between the QoSWorks product and the QoSbox?

The QoSWorks product, developed by Sitara Networks, is a network appliance that is to be put at the edge of a network (just like a firewall, or a proxy-cache). The type of service guarantees greatly differ (e.g., QoSWorks does not provide loss guarantees). The QoSWorks product is more application-oriented, in the sense that it provides fairness between different TCP flows, per-flow policing, and can be used to provide some useful application-level features (e.g., web caching). Conversely, the QoSbox is an IP router, that can be placed anywhere in the network, and works at the network layer. Thus, the two approaches do not have the same objectives, and one can say that they are in fact complementary, despite the fact that they share the same basic concept of "putting all QoS primitives in one box".

[Section 4 | Top]

4.8. Can I simulate a QoSbox?

Yes, you can, using the ns-2 code we provide on the software page. Of course, you will have to use the ns-2 network simulator. Alternatively, you can simulate the different variants of the JoBS algorithm and compare them with some other proposed scheduling and algorithms using our visualization applet. You cannot use other simulators (e.g., OPNET) since no code is available for them.

[Section 4 | Top]

4.9. Is JoBS going to be integrated in the base distributions of the BSDs?

It's very likely. For now, JoBS is part of ALTQ (as of ALTQ-3.1), and the KAME SNAP kits (October 28, 2002, and later). Periodically, the BSDs base distributions are synchronized with a subset of the KAME trees, and that subset includes ALTQ in NetBSD and OpenBSD. Inclusion of ALTQ in the FreeBSD base distribution is a work-in-progress, and should happen with either FreeBSD 5.1 or 6.0. (The Release Engineering team had given a positive recommendation for inclusion of ALTQ in FreeBSD 5.0, but a lack of time on the developers' side prevented this from happening.)

In other words, the short answer is that inclusion in the BSDs is almost certain to happen at some point, but we cannot give you a date.

[Section 4 | Top]

5. Other

5.1. What are you currently working on?

We are currently working on an implementation on Intel IXP network processors (for Gigabit Ethernet), and are also trying to improve our algorithms, so that they make smarter decisions for TCP traffic.

[Section 5 | Top]

5.2. I didn't find an answer to my question in this FAQ, what should I do?

Please read the papers relevant to the QoSbox, and if your question is still unanswered, please email us. Specific questions regarding software implementations of the QoSbox can be asked on the appropriate mailing-lists, as described on the software page. Please make sure you have read the documentation provided with the software distributions before posting on a mailing-list, though.

[Section 5 | Top]


D E N A L I Copyright © Multimedia Networks Group , Department of Computer Science , University of Virginia , 2000-2003.
Maintained by Nicolas Christin.

Last modified: Wed Jan 08, 2003 at 08:19:34 EST