+ All Categories
Home > Documents > Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation...

Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation...

Date post: 08-Aug-2019
Category:
Upload: phunghanh
View: 216 times
Download: 0 times
Share this document with a friend
19
Betriebssystemtechnik Nachlese Wolfgang Schr¨ oder-Preikschat Lehrstuhl Informatik 4 17. Juli 2012 c wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 1 / 19
Transcript
Page 1: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

BetriebssystemtechnikNachlese

Wolfgang Schroder-Preikschat

Lehrstuhl Informatik 4

17. Juli 2012

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 1 / 19

Page 2: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 1 Rekapitulation

Gliederung

1 RekapitulationSynchronisation

2 EinordnungFallstudieFolgerungen

3 PerspektivenOctoPOSSlothLAOS

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 2 / 19

Page 3: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 1 Rekapitulation 1.1 Synchronisation

Nichtsequentielle SystemprogrammierungKoordination der Kooperation und Konkurrenz zwischen gleichzeitigen Prozessen

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 3 / 19

Page 4: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 1 Rekapitulation 1.1 Synchronisation

Verfeinerung/Vertiefung von Betriebssysteme [5]

Progammunterbrechungen UnterbrechungsprinzipienEreigniszustellung ; ASTUnterbrechungsweitergabe

Fadenimplementierung minimale Basis ; Koroutineminimale Erweiterungen

Fadenumschaltung Prozesseinlastung ; Dispatching

Prozesssynchronisation Sperrverfahren ;”spin lock“-Familie

WettlauftoleranzProzesssteuerung ; Semaphor

Softwaretechnik aspektorientierte Programmierung 7→ KSS(funktionale) HierarchieProgrammfamilie

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 4 / 19

Page 5: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 2 Einordnung

Gliederung

1 RekapitulationSynchronisation

2 EinordnungFallstudieFolgerungen

3 PerspektivenOctoPOSSlothLAOS

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 5 / 19

Page 6: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 2 Einordnung 2.1 Fallstudie

Mikrovergleichstest: Dateideskriptortabelle [2]

Experiment zur Skalierbarkeit von (POSIX-artigen) Betriebssystemen aufsymmetrischen Multiprozessorsystemen mit gemeinsamem Speicher:

inkrementelle Erzeugung von Faden innerhalb desselben Prozesses

also schrittweiser Aufbau eines parallelen, mehrfadigen Prozesses

jeder Faden erzeugt einen Dateideskriptor und ruft wiederholt auf:

dup(2) auf den eigenen (erzeugten) Dateideskriptorclose(2) des Dateideskriptorduplikats

Zugrundeliegende Ausfuhrungsplattform:

vier vierkernige Prozessoren (AMD Opteron)Linux 2.6.25

Beachte: POSIX-Semantik

ein neuer Dateideskriptor ist allen Faden desselben Prozesses sichtbar

auch wenn nur ein einzelner Faden diesen Dateideskriptor nutzen wird

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 6 / 19

Page 7: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 2 Einordnung 2.1 Fallstudie

Mikrovergleichstest: Theorie vs. Praxis

Theorie

Quelle: [1, S. 11]

Erwartung Durchsatz skaliertlinearer Anstieg

Praxis

Quelle: [1, S. 12]

Realitat Durchsatz fallt abskaliert nicht

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 7 / 19

Page 8: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 2 Einordnung 2.1 Fallstudie

Mikrovergleichstest: Wettstreit

Leistungsabfall

Quelle: [1, S. 13]

Erwartung (leichter) Anstiegkeinen Einbruch

Verstetigung

Quelle: [1, S. 14]

Erwartung gewisse Erholungkeinen Bestand

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 8 / 19

Page 9: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 2 Einordnung 2.1 Fallstudie

Mikrovergleichstest: Datenlokalitaten [1, S. 15–16]

fd_alloc(void) {

lock(fd_table);

fd = get_free_fd();

set_fd_used(fd);

fix_smallest_fd(fd);

unlock(fd_table);

}

lokaler Zugriff in 3 Zyklen

Fernzugriff in 121 Zyklen

Zugriffsfehler (cache miss)Koharenzprotokoll

L1

L2

L3

core core

L1

L2

falsche Mitbenutzung (engl. false sharing) von Zwischenspeicherzeilen

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 9 / 19

Page 10: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 2 Einordnung 2.1 Fallstudie

Mikrovergleichstest: Mitbenutzung [1, S. 17]

fd_alloc(void) {

lock(fd_table);

fd = get_free_fd();

set_fd_used(fd);

fix_smallest_fd(fd);

unlock(fd_table);

}

Umlaufsperre

Schutz des kritischen Abschnitts

serialisiert Aktualisierungen auf fd table

obwohl die Faden verschiedene Eintragein der Tabelle benutzen

falsche Mitbenutzung (engl. false sharing) der Dateideskriptortabelle

Beachte

bezogen auf den kritischen Programmtext erscheint die Umlaufsperredurchaus passend platziert zu sein

hinsichtlich der hier eigentlich zu schutzenden Daten stellt sie jedocheinen Flaschenhals dar

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 10 / 19

Page 11: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 2 Einordnung 2.1 Fallstudie

Skalierbarkeit: Linux [8]

Fahigkeit eines Systems, sein Leistungsvermogen durch Hinzu- oder auchWegnahme von Betriebsmitteln (im Idealfall) linear zu beeinflussen

Linux 2.4 skaliert kaum uber vier Prozessorkerne hinaus

Linux 2.6 verbringt 91% der Zeit in Umlaufsperren

Vergleichstests im Zusammenhang mit EXT4 zeigten:

die meisten skalieren gut bis 6–7 von 8 Prozessorkernenviele skalieren gut bis 12 von 16 Prozessorkerneneine akzeptable Anzahl skalieren gut bis 32 Prozessorkerne

”Buchse der Pandorra“

bevorstehende Systeme mit 32 Prozessorkernen erfordern schon einigeAnstrengungen fur Verbesserungen

zukunftige Systeme mit (weit) mehr Prozessorkernen sind ein Problem

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 11 / 19

Page 12: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 2 Einordnung 2.2 Folgerungen

Empfehlungen zum Bau vielkernfahiger Betriebssysteme

Erfahrungen aus Corey [1, 2]

falsche Mitbenutzung (engl. false sharing) ausschließen/beseitigen

”schluderige“ (engl. sloppy; hier: phasenweise inkonsistente) Zahler

prozessor(kern)lokale Datenstrukturen/-objekte

sperrfreie Vergleiche

Vorbeugung/Vermeidung unnotiger Blockierungen

Erfahrungen aus EXT4 [8]

atomare Variablen

Lese-/Schreibsperren

feinkornige Sperren

bundelweise Verarbeitung kritischer Befehle/Abschnitte

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 12 / 19

Page 13: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 3 Perspektiven

Gliederung

1 RekapitulationSynchronisation

2 EinordnungFallstudieFolgerungen

3 PerspektivenOctoPOSSlothLAOS

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 13 / 19

Page 14: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 3 Perspektiven 3.1 OctoPOS

Laufzeitunterstutzungssystem fur invasives Rechnen [6]

Octo der Bezeichnung eines Wesens entnommen, das:

(a) hoch parallel in seinen Aktionen ist und(b) sich sehr gut an seine Umgebung anpassen kann.

der Krake (Ordnung Octopoda)

kann kraft seiner (acht) Tentakel parallel agieren,vermag sich durch Farbanderung anzupassen undverfugt uber ein hoch entwickeltes Nevensystem,das es ihm ermoglicht, sich auf dynamischeUmgebungsbedingungen und -einflusse einzustellen

POS Abk. fur (engl.) Parallel Operating System

ein Betriebssystem, das nicht bloß parallele Prozesse unterstutztsondern dabei selbst inharent parallel arbeitet

⇒ http://invasic.informatik.uni-erlangen.de/en/tp_c1.php

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 14 / 19

Page 15: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 3 Perspektiven 3.2 Sloth

Faden als erstrangige Abstraktionen der Hardware [4]

Latenzverbergung durch Ausnutzung funktioneller und architektonischerMerkmale des zugrundeliegenden (realen, abstrakten) Prozessors

Unterbrecherhardware ubernimmt dieEinplanung/Einlastung von Faden

Unterbrechungsprioritaten (IPL) geben dieEinplanungsprioritaten von Faden vor

Bereitstellung eines Fadens kommt einerUnterbrechungsanforderung (IRQ) gleich

Prozessoranforderungennum(IPL) ≥ num(Threads)IRQ durch Software auslosbar

⇒ Infineon TriCore, ARM Cortex-M3

⇒ http://www4.informatik.uni-erlangen.de/Research/Sloth/

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 15 / 19

Page 16: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 3 Perspektiven 3.3 LAOS

Latency Awareness in Operating Systems [7]Latenzgewahrheit in Betriebssystemen fur massiv-parallele Prozessoren

Latenzvorbeugung

domanenspezifische Entwurfsmustersperr- und wartefreie Synchronisation

Latenzvermeidung

Interferenzschutz ; AOPEindammung von Wettstreitigkeiten

Latenzverbergung

asynchrone Prozedurfern-/SystemaufrufeKerne fur Betriebssysteme nutzen

⇒ http://univis.uni-erlangen.de → Forschungsprojekte → LAOS

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 16 / 19

Page 17: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 4 Zusammenfassung

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 17 / 19

Page 18: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 4 Zusammenfassung 4.1 Bibliographie

Literaturverzeichnis

[1] Boyd-Wickizier, S. :Corey: An Operating System for Many Cores.In: [3], S. 43–57. –Prasentationsfolien

[2] Boyd-Wickizier, S. ; Chen, H. ; Chen, R. ; Mao, Y. ; Kaashoek, M. F. ; Morris, R. ;Pesterev, A. ; Stein, L. ; Ming Wu nd ; Dai, Y. ; Zhang, Y. ; Zhang, Z. :Corey: An Operating System for Many Cores.In: [3], S. 43–57

[3] Draves, R. (Hrsg.) ; Renesse, R. van (Hrsg.):Proceedings of 8th USENIX Symposium on Operating Systems Design and Implementation(OSDI ’08).Berkeley, CA, USA : USENIX Association, 2008 . –ISBN 978–1–931971–65–2

[4] Hofer, W. ; Lohmann, D. ; Scheler, F. ; Schroder-Preikschat, W. :Sloth: Threads as Interrupts.In: Baker, T. P. (Hrsg.): Proceedings of The 30th IEEE Real-Time Systems Symposium(RTSS 2009).Washington, DC, USA : IEEE Computer Society, 2009. –ISBN 978–0–7695–3875–4, S. 204–213

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 18 / 19

Page 19: Nachlese Wolfgang Schr oder-Preikschat · IX Nachlese 1 Rekapitulation Gliederung 1 Rekapitulation Synchronisation 2 Einordnung Fallstudie Folgerungen 3 Perspektiven OctoPOS Sloth

IX Nachlese 4 Zusammenfassung 4.1 Bibliographie

Literaturverzeichnis (Forts.)

[5] Lohmann, D. ; Schroder-Preikschat, W. :Betriebssysteme.http://www4.informatik.uni-erlangen.de/Lehre/WS08/V_BS, 2008ff.

[6] Oechslein, B. ; Schedel, J. ; Kleinoder, J. ; Bauer, L. ; Henkel, J. ;Schroder-Preikschat, W. :OctoPOS: A Parallel Operating System for Invasive Computing.In: McIlroy, R. (Hrsg.) ; Sventek, J. (Hrsg.) ; Harris, T. (Hrsg.) ; Roscoe, T. (Hrsg.) ;EuroSys (Veranst.): Proceedings of the International Workshop on Systems for FutureMulti-Core Architectures (SFMA’11) Bd. USB Proceedings EuroSys, 2011 (SixthInternational ACM/EuroSys European Conference on Computer Systems (EuroSys’11)), S.9–14

[7] Schroder-Preikschat, W. :Latenzgewahrheit in Betriebssystemen fur massiv-parallele Prozessoren / DFG.2011 (SCHR 603/8-1). –Projektantrag (Normalverfahren)

[8] Ts’o, T. :Making File Systems Scale: A Case Study Using EXT4.In: linux.conf.au 2011, 2011. –Prasentation

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 19 / 19


Recommended