Vortex. An event-driven multiprocessor operating system supporting performance isolation

Vortex is a new multiprocessor operating system that is entirely event-driven. The Vortex kernel, as well as its applications, are structured as stagesthat communicate through event passing. Each stage is a small finite state machine. The event architecture is efficient and allows Vortex to balance...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Renesse, Robbert van, Kvalnes, Aage, Johansen, Dag, Arnesen, Audun
Format: Report
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Vortex is a new multiprocessor operating system that is entirely event-driven. The Vortex kernel, as well as its applications, are structured as stagesthat communicate through event passing. Each stage is a small finite state machine. The event architecture is efficient and allows Vortex to balance load across the processors automatically. Vortex uses an Event Scheduling Tree (EST) on each CPU. An EST is a tree of event queues, where each event queue can be instantiated with its own scheduling policy. The EST mechanism unifies all CPU and I/O scheduling and allows for a wide variety of scheduling policies including weighted performance isolation between applications. The paper shows how a high-performance web server can be supported on Vortex. Compared to running the same web server on Linux on the same hardware, Vortex can sustain up to 80% higher throughput. Experiments with running multiple web servers on Vortex show that we can precisely divide resources between the web servers at low overheads. Microbenchmarks break down the costs of these overheads.