Mehrprozessorarchitekturen - cs.fau.de · 12.07.2004 Arian Bär 2 Gliederung 1. Einleitung 2....

21
12.07.2004 Arian Bär 1 Mehrprozessorarchitekturen (SMP, UMA/NUMA, Cluster) Arian Bär 12.07.2004

Transcript of Mehrprozessorarchitekturen - cs.fau.de · 12.07.2004 Arian Bär 2 Gliederung 1. Einleitung 2....

12.07.2004 Arian Bär 1

Mehrprozessorarchitekturen(SMP, UMA/NUMA, Cluster)

Arian Bär

12.07.2004

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 19

Cluster Computer Fortsetzung

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