Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Applied

Die POSIX Thread Bibliothek unter Linux & Fuss, Futex und Furwocks

Title: Die POSIX Thread Bibliothek unter Linux & Fuss, Futex und Furwocks

Seminar Paper , 2005 , 17 Pages , Grade: 1

Autor:in: Dipl.Ing. Franz-Josef Auernigg (Author)

Computer Science - Applied
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

Das erste Kapitel dieser Arbeit beschreibt die Neuerungen der POSIX Thread Bibliothek unter Linux. Das Hauptaugenmerk liegt dabei darauf, die POSIX-Bibliothek skalierbar zu machen und dabei Kernelerweiterungen zu benutzen, die bis 2003 noch nicht in der Bibliothek implementiert wurden. Weiters werden Kernelerweiterungen besprochen, die auf die Neuerungen der Thread Bibliothek abgestimmt wurden. Im zweiten Kapitel werden die in Kapitel eins angesprochenen Futexes genauer erläutert. Dazu wird erklärt was Futexes sind, warum sie eingesetzt werden, welche Ziele für die Implementierung wichtig waren und welche Mechanismen zur Umsetzung verwendet wurden.

Excerpt


Inhaltsverzeichnis

1 Die POSIX Thread Bibliothek unter Linux

1.1 Einleitung

1.2 Die weitere Entwicklung der Bibliothek

1.3 Probleme

1.4 Anforderungen an eine Neuimplementierung

1.5 Design Entscheidungen

1.5.1 Das 1-zu-1 oder M-zu-N Modell

1.5.2 Signal Behandlung

1.5.3 Der Managerthread

1.5.4 Synchronisations Primitiven

1.5.5 Speicheranforderungen

1.5.6 Kernel Erweiterungen

2 Fuss, Futex und Furwocks

2.1 Einleitung

2.2 Die Ziele der Implementierung

2.3 Die Implementierung

Zielsetzung und thematische Schwerpunkte

Die Arbeit analysiert die Weiterentwicklung der POSIX Thread Bibliothek unter Linux mit dem Ziel, die Skalierbarkeit zu verbessern und die Effizienz durch neue Kernelerweiterungen zu steigern. Dabei liegt der Fokus insbesondere auf der Ablösung des Managerthreads durch effizientere Mechanismen wie Futexes, um die Performance bei hoher Beanspruchung zu optimieren.

  • Analyse der POSIX Thread Implementierung und ihrer historischen Probleme unter Linux.
  • Untersuchung von Designentscheidungen für eine optimierte Thread-Verwaltung.
  • Einführung und Funktionsweise von Futexes (Fast Userspace Mutex) zur effizienten Synchronisation.
  • Verbesserung der Thread-Skalierbarkeit auf SMP- und NUMA-Systemen.
  • Optimierung von Kernelschnittstellen zur Unterstützung von Multithreading.

Auszug aus dem Buch

2.1 Einleitung

Das Akronym „Futex“ bedeutet “Fast Userspace Mutex“. Eine Futex wird benutzt um Synchronisation auf Benutzerebene durchzuführen, was unter dem Begriff „Fuss“ - „Fast Userspace Synchronization“ bekannt ist. Die schwergewichtige Alternative dazu wären Sperren im Kernel wie sie früher in der POSIX Thread Bibliothek oder bei System V Semaphoren implementiert wurden. Schwergewichtig deshalb, weil zur Synchronisation Systemaufrufe verwendet werden, welche relativ instruktionsreich und deshalb zeitaufwendig sind. Die Bedeutung leichtgewichtiger Synchronisation auf Benutzerebene wächst immer mehr, da dadurch Middleware-Systeme effizienter bzw. performanter implementiert werden können. Diese Systeme werden meist aus mehreren Threads aufgebaut um SMP-Hardware bestmöglich zu nutzen. Die einzelnen Threads benutzen zum geregelten Austausch von Statusinformationen zum Beispiel IO-Pufferspeicher, auf die auch Datenbankensysteme zugreifen. So tritt es oft auf, dass ein Teil der Threads nur Lesend oder nur Schreibend zugreift. Dazu gibt es eigene Synchronistationsmechanismen nämlich Furwocks („Fast Userspace Read Write Locks“), bei denen entweder mehrere lesende zugleich oder genau ein schreibender Thread zugreift.

Zusammenfassung der Kapitel

1 Die POSIX Thread Bibliothek unter Linux: Dieses Kapitel erläutert die technologische Evolution der Thread-Bibliothek unter Linux und diskutiert die Notwendigkeit einer effizienteren Implementierung zur Vermeidung von Engpässen wie dem Managerthread.

2 Fuss, Futex und Furwocks: Hier wird der Einsatz von Futexes zur Synchronisation auf Benutzerebene detailliert beschrieben, um Systemaufrufe zu minimieren und die allgemeine Performance in Multithread-Umgebungen zu steigern.

Schlüsselwörter

POSIX, Threads, Linux, Kernel, Futex, Managerthread, Synchronisation, SMP, NUMA, Multitasking, ABI, Middleware, User-level, Speicheranforderungen, Systemaufrufe.

Häufig gestellte Fragen

Worum geht es in dieser wissenschaftlichen Arbeit grundlegend?

Die Arbeit befasst sich mit der Optimierung der POSIX Thread Bibliothek unter Linux, insbesondere im Hinblick auf Skalierbarkeit und Performance durch den Einsatz moderner Kernelfunktionen.

Was sind die zentralen Themenfelder der Analyse?

Im Zentrum stehen die Thread-Verwaltung, die Mechanismen zur Synchronisation auf Benutzerebene (Futexes) sowie die notwendigen Anpassungen im Linux-Kernel.

Was ist das primäre Ziel oder die zentrale Forschungsfrage?

Das Ziel ist es, die POSIX-Bibliothek für moderne Anforderungen skalierbar zu machen und dabei den Overhead durch den klassischen Managerthread sowie ineffiziente Signalbehandlungen zu eliminieren.

Welche wissenschaftliche Methode wird zur Untersuchung verwendet?

Es handelt sich um eine systemtheoretische und technische Analyse bestehender Implementierungen, gefolgt von der Erläuterung technischer Optimierungsstrategien und der Implementierung von Futex-Konzepten.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil gliedert sich in die Problembeschreibung der alten POSIX-Implementierung, die Diskussion der Designentscheidungen für eine Neuimplementierung und eine detaillierte technische Einführung in die Funktionsweise von Futexes und Furwocks.

Welche Schlüsselbegriffe definieren den Kern dieser Publikation?

Die Arbeit wird primär durch Begriffe wie Futex, POSIX, Thread-Bibliothek, Kernel-Optimierung und Synchronisation auf Benutzerebene charakterisiert.

Was genau ist ein Futex und warum ist es für das Design wichtig?

Ein Futex (Fast Userspace Mutex) ermöglicht es, Threads im Benutzermodus zu blockieren und nur bei Bedarf den Kernel für die Verwaltung einzubeziehen, was Kontextwechsel und Systemaufrufe massiv reduziert.

Wie löst der Autor das Problem des Managerthreads?

Durch die Verlagerung von Verwaltungsaufgaben direkt in den Linux-Kernel und den Einsatz von Futexes wird der Managerthread obsolet, da der Kernel nun effizienter mit Threads und deren Signalen umgehen kann.

Excerpt out of 17 pages  - scroll top

Details

Title
Die POSIX Thread Bibliothek unter Linux & Fuss, Futex und Furwocks
College
University of Salzburg  (Institut für Computerwissenschaften)
Course
Spezielle Kapitel aus Betriebssysteme
Grade
1
Author
Dipl.Ing. Franz-Josef Auernigg (Author)
Publication Year
2005
Pages
17
Catalog Number
V39660
ISBN (eBook)
9783638383783
Language
German
Tags
POSIX Thread Bibliothek Linux Fuss Futex Furwocks Spezielle Kapitel Betriebssysteme
Product Safety
GRIN Publishing GmbH
Quote paper
Dipl.Ing. Franz-Josef Auernigg (Author), 2005, Die POSIX Thread Bibliothek unter Linux & Fuss, Futex und Furwocks, Munich, GRIN Verlag, https://www.grin.com/document/39660
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  17  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint