Mehrprozessorarchitekturen - cs.fau.de · 12.07.2004 Arian Bär 2 Gliederung 1. Einleitung 2....
Transcript of Mehrprozessorarchitekturen - cs.fau.de · 12.07.2004 Arian Bär 2 Gliederung 1. Einleitung 2....
12.07.2004 Arian Bär 2
Gliederung
1. Einleitung2. Symmetrische Multiprozessoren (SMP)
AllgemeinesArchitektur
3. SpeicherarchitekturenGemeinsamer Speicher (SM)Verteilter Speicher (DSM)
4. Cluster Computer5. Zusammenfassung
12.07.2004 Arian Bär 3
Einleitung
Ohne gehts nicht!GoogleWettervorhersageGroße Webauftritte
Deswegen:Ein System aus vielen ProzessorenAm besten: Anzahl der Prozessoren proportional zur Leistung
12.07.2004 Arian Bär 4
SMP – Allgemeines
Threads (Aktivitätsträger):Mehrere Programme „gleichzeitig“ in AusführungBetriebssystem schaltet hin und herKernel-level ThreadsUser-level ThreadsEin Prozessor kann nur einen Thread bearbeitenUmschalten kostet Zeit
12.07.2004 Arian Bär 5
SMP – Allgemeines Fortsetzung 1
Vorteile durch SMPs:Weniger ContextwechselMehrere Threads wirklich gleichzeitig in AusführungLeistungssteigerung
Nachteile:Performanceverlust durch Verwaltung:
• Gemeinsame Variablen• Verteilung der Aufgaben
Aufwendigere Programmierung
12.07.2004 Arian Bär 6
SMP – Architektur
Mehrere gleiche ProzessorenKeine VerarbeitungshierarchieProblem: Cachekonsistenz
12.07.2004 Arian Bär 7
SMP – Architektur Fortsetzung 1
Einfache LösungZuschreibende Variablen sind ‚noncacheable‘Nur „const“ Variablen im Cache
Problem:Weniger CachetrefferMuss vom Programmierer beachtet werden
12.07.2004 Arian Bär 8
SMP – Architektur Fortsetzung 2
‚snooping bus‘Prozessor A benötigt VariableSendet Anfrage an alle ProzessorenProzessoren senden Antworten zurückProzessor A wertet Antworten ausVariable wird entweder:Aus dem Cache des anderen Prozessorsoder aus dem Hauptspeicher geladen
12.07.2004 Arian Bär 9
Gliederung
1. Einleitung2. Symmetrische Multiprozessoren (SMP)
AllgemeinesArchitektur
3. Speicherarchitekturen Gemeinsamer Speicher (shared memory - SM)Verteilter Speicher (distributed SM - DSM)
4. Cluster Computer5. Zusammenfassung
12.07.2004 Arian Bär 10
Gemeinsamer Speicher
Ein globaler AdressraumZugriff über VerbindungsnetzwerkDrei unterschiedliche Klassen:
UMA – uniform memory accessNUMA – non uniform memory accessCOMA – cache only memory architecture
12.07.2004 Arian Bär 11
UMA – uniform memory access
Alle Speicher Zugriffe gleichTanzsaalarchitektur (dancehall architecture)Zugriffslatenz identischFlaschenhals: Verbindungsnetzwerk
12.07.2004 Arian Bär 12
UMA – Fortsetzung
Mehrprozessorboards setzen meist UMA einBeispiel:
Intel® Server Board SE7525GP2Bis zu zwei ProzessorenGreifen auf einen Speicher-Controler zu
UMA oft teil einer NUMA (später mehr)
12.07.2004 Arian Bär 13
NUMA – non uniform memory access
Speicher wird Prozessoren lokal zugeordnetKnoten besteht aus CPU(s), I/O, RAMLatenzzeiten unterschiedlichKeine Vorhersage über Latenz möglich
12.07.2004 Arian Bär 14
NUMA – Beispiel
AMD® Opteron Prozessoren verwenden NUMAJeder Prozessor hat eigenen SpeicherProzessoren verknüpft über HypertransportHypertransport: schnelle Verbindung (12.8 GB/s)
12.07.2004 Arian Bär 15
COMA – cache only memory architecture
Alle Speicher sind CachespeicherLokaler Speicher ist CacheSpeicher anderer CPU‘s ist HaupspeicherZugriffe auf auf lokalen Speicher direktDaten aus „Hauptspeicher“ werden erst gecachetProblem: auffinden von Daten im Speicher
12.07.2004 Arian Bär 16
Verteilter Speicher
Speichermodule sind Prozessoren zugeordnetNur lokaler Speicher direkt adressierbarZugriff auf andere Speicher über NachrichtenNORMA – no remote memory accessSchnelle Anbindung an lokalen SpeicherVerbindung untereinander langsamer als bei SM
12.07.2004 Arian Bär 17
Gliederung
1. Einleitung2. Symmetrische Multiprozessoren (SMP)
AllgemeinesArchitektur
3. Speicherarchitekturen Gemeinsamer Speicher (SM)Verteilter Speicher (DSM)
4. Cluster Computer5. Zusammenfassung
12.07.2004 Arian Bär 18
Cluster Computer
Netzwerk aus KnotenKnoten sind komplette PC‘smeist Gigabit Ethernet als NetzwerktechnologieSSI - single system imageEinsatz z. B. Berechnung von 3D FilmenKostengünstig
12.07.2004 Arian Bär 20
Zusammenfassung
SMPsJeder Prozessor erledigt jede AufgabeAnsätze auch in Heim-PC‘s (Hyper Threading)
SpeicherarchitekturenWege der Kommunikation
Cluster ComputerGünstige Hochleistungsrechner
12.07.2004 Arian Bär 21
QuellenKlaus Waldschmidt (Hrsg.): Parallelrechner Architekturen – Systeme – Werkzeuge, Stuttgart: Teubner, 1995.Rajkumar Buyya: High Performance Cluster Computing Architectures and Systems, Volume 1, Prentice Hall PTR Upper Saddle River, New Jersey 1999.George Coulouris, Jean Dollimore, Tim Kindberg: Verteilte Systeme Konzepte und Design, 3., überarbeitete Auflage, Pearson Education Limited, 2002 .Sequent Computer Systems, Ltd., http://parallel.ru/ftp/computers/sequent/NUMA_SMP_REV.pdf, 16.05.2004Jörg Wirtgen/c't: AMD will NUMA-Architektur forcieren, http://www.heise.de/newsticker/meldung/14776, 16.05.2004Stefan Schumacher: Parallelrechner: Multiprozessorsysteme, http://www.uni-magdeburg.de/steschum/multiprozessorsysteme.pdf, 16.05.2004Intel® E7525 Memory Controller Hub (MCH) Chipset Datasheet, ftp://download.intel.com/design/chipsets/datashts/30240501.pdf, 07.07.2004AMD: Porting to AMD64 FAQ, http://www.amd.com/us-en/assets/content_type/Additional/AMD64_Porting_FAQ.pdf, 07.07.2004Aad van der Steen: ccNUMA machines, http://www.top500.org/ORSC/2003/ccNUMA.html, 07.07.2004