Linux Wireless Scheduling Tools
Introduction
As a spin-off of a reasearch project at the Applied
Reasearch Lab, Washington University
in St. Louis, various tools for wireless (and wireline) scheduling were
developed:
-
sch_hfsc - a port of the Hierarchical
Fair Service Curve Algorithm (H-FSC) scheduler to Linux
-
wireless scheduling extensions to H-FSC (variable rate / resource-consumption
aware scheduling)
-
traffic control extensions for monitoring (long-term) wireless channel quality
-
WchmonSigMap - a calibration utility for wireless channel monitors
-
trafgen - a traffic generator for the TCSIM
environment
While the H-FSC qdisc can be used in a usual wireline environment (e.g. replacing the standard CBQ scheduler),
the purpose of the port to Linux was to use it as a basis for the prototype implementation of a new form
of wireless link-sharing. The basic problem is that in a wireless environment the amount of resources
consumed in order to transmit X bytes to a mobile destination depends on the quality of the link to
this station. The link-sharing model developed during the project allows the integration of
goodput and resource-consumption oriented criteria in hierarchies for wireless link-sharing.
Furthermore, the model can be used with currently available hardware because it can be
implemented above the link layer. For detailed information take a look at the documents listed in the Documentation section.
Documentation
- Thesis on
Link-Sharing in WLANs (Chapter 6):
Lars Wischhof. Packet
scheduling for bandwidth sharing and quality of service support in
wireless local area networks. Diploma thesis, Technical University
of Berlin, 2002. PDF PS
- once the patch is installed: use the command "tc qdisc add hfsc help" to get
information about the syntax of scheduler parameters
- Lars Wischhof and John Lockwood. A resource-based approach to MAC
layer independent hierarchical link-sharing in wireless local area
networks. In Proceedings of European Wireless 2002, Florence,
Italy, Feb. 2002. PDF PS
Download
In order to obtain a kernel including the new scheduler and
wireless scheduling extensions,
you can either download a package containing all tools and
the necessary patches and apply them to the original kernel/iproute2
sources or download the latest (potentially unstable) version
of the patched sources via anonymous CVS (instructions can be found
here).
- patches can be downloaded via Sourceforge (latest version is 0.5.2)
- current version of patched kernel, iproute2 and pcmcia-cs are available via
Sourceforge CVS. The latest stabile version has the tag RELEASE_0_5_2.
Contact
We are very interested in any kind of feedback, suggestions, etc.
Contact us via mail or use the bug tracking/news interface
on SourceForge.
Disclaimer
All programs are still in a prototype/alpha state and intended primarily
for reasearch use. All tools are released under GPL
unless indicated otherwise.
THIS SOFTWARE IS EXPERIMENTAL AND IS KNOWN TO HAVE BUGS, SOME OF WHICH
MAY HAVE SERIOUS CONSEQUENCES. THE AUTHORS PROVIDE THIS SOFTWARE IN ITS
``AS IS'' CONDITION, AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASHINGTON UNIVERSITY
OR THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
last updated: $Date: 2002/03/22 16:06:02 $, $Author: wischhof $