Stochastic Fairness Queueing
Der SFQ-Algorithmus sorgt bei einer voll ausgelasteten Leitung für Fairness unter allen aktiven Verbindungen. Dafür setzt er 127 Fifo-Warteschlangen ein, die abwechselnd senden. Ein Hashverfahren entscheidet, welche Verbindung in welcher Warteschlange landet. Jedoch müssen sich gelegentlich mehrere Verbindungen eine Warteschlange teilen, während andere eine Warteschlange allein nutzen. Um diese Ungleichheit rasch auszugleichen, wechselt SFQ die Hashfunktion oft und garantiert so wenigstens eine stochastische Fairness.
Eine SFQ-QDisc ist schnell eingerichtet: »tc qdisc add dev eth0 root sfq«. Wer ihr Verhalten steuern will, macht das per:
tc ... sfq [perturb Sekunden]
[quantum Bytes]
Beide Parameter sind optional. Die »perturb«-Option bestimmt die Zeitspanne für die Hashfunktion-Wechsel. Das »quantum« legt die Anzahl Bytes fest, die eine Warteschlange am Stück senden darf. Dieser Wert muss mindestens so groß sein wie die aktuellen Paketgröße (MTU, Maximum Transfer Unit). Andernfalls bleiben größere Pakete in der Queue hängen.
QDiscs mit Klasse
Klassenbasierte QDisc-Implementationen lassen der Konfiguration einen größeren Spielraum als ihre klassenlosen Gegenstücke. Es sind zwei Arten zu unterscheiden: Einfache QDiscs legen automatisch die erforderliche Anzahl von Klassen an, der sich in der Regel auch keine weiteren hinzufügen lassen. Im Gegensatz dazu gibt es QDisc-Implementationen, die keine oder nur eine einzelne Klasse automatisch anlegen. Deren Funktionsweise erwartet, dass der Anwender alle weiteren Klassen selbst erstellt und konfiguriert.
Eine Klasse kann selbst keine Pakete aufnehmen. Daher gehört zu jeder Klasse, der keine weiteren untergeordnet sind, automatisch eine »pfifo -fast«-QDisc (Abbildung 3). Diese QDisc nimmt die Pakete auf und gibt sie auch wieder frei. Der Admin darf diese QDisc aber durch beliebige andere Implementationen ersetzen, etwa einen Token Bucket Filter. Ein TBF begrenzt die Senderate der QDisc.

|
Abbildung 3: Die Klassenhierarchie endet in jedem Zweig bei einer QDisc. Klassen können selbst keine Pakete verarbeiten, daher brauchen sie die QDisc.
|
Die Grundlage seiner Implementation ist ein Bucket, ein virtuelles Gefäß, in das in konstantem Rhythmus Tokens fallen. Jedes Token symbolisiert eine feste Anzahl von Bytes. Wenn die QDisc ein Paket freigibt, verbraucht sie die entsprechende Menge Tokens. Stehen noch nicht genügend Tokens bereit, muss das Paket warten. Ein TBF besitzt genau eine innere Klasse, per Default eine einfache Warteschlange. Der Admin darf sie durch eine beliebige QDisc-Implementationen ersetzen.
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)
Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|