Cluster Computing - Praktische Einführung in das Hochleistungsrechnen auf Linux-Clustern

von: Heiko Bauke, Stephan Mertens

Springer-Verlag, 2005

ISBN: 9783540299288 , 458 Seiten

Format: PDF, OL

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 6,28 EUR

Mehr zum Inhalt

Cluster Computing - Praktische Einführung in das Hochleistungsrechnen auf Linux-Clustern


 

Vorwort

5

Inhaltsverzeichnis

7

Teil I Grundlagen

14

1 Von Megahertz zu Gigaflops

15

1.1 Ochsen oder Hühner?

15

1.2 Rechenleistung im Takt

17

1.3 Von-Neumann-Flaschenhals

19

1.4 Benchmarks

20

1.5 Amdahls Gesetz

22

1.6 Granularität

25

1.7 Parallele Leistungsmetriken

28

1.8 Notizen

30

2 Parallelrechner

33

2.1 Gemeinsamer oder verteilter Speicher

33

2.2 Verbindungsnetzwerke

36

2.3 Cluster-Computer

39

2.4 SETI@home und Grid-Computing

44

2.5 Notizen

46

3 Programmieransätze

49

3.1 Datenparallelität

49

3.2 Threads

51

3.3 Nachrichtentransfer

56

3.4 Notizen

59

Teil II Technik

62

4 Cluster-Design

63

4.1 Grundlegende Komponenten

63

4.2 Anforderungen an einen High-Performance-Cluster

64

4.3 Netzwerktechnik

65

4.4 CPU-Architektur

73

4.5 Arbeitsspeicher

74

4.6 Massenspeicher

75

4.7 Diskless nodes

77

4.8 Hardware-Monitoring

78

4.9 Unterbringung, Klima und Kühlung

79

4.10 Cluster now!

81

4.11 Besonderheiten von Knoten-Hardware

82

4.12 Schrauben oder kaufen?

83

4.13 Notizen

85

5 PCs vernetzen

87

5.1 TCP/IP-Grundlagen

89

5.2 Calculus – Der Beispiel-Cluster

92

5.3 Erstinstallation

93

5.4 Netzwerk-Basiskon.guration

102

5.5 SystemImager

109

5.6 Wichtige Netzdienste

116

5.7 Channel bonding

137

5.8 Diskless nodes

141

5.9 Notizen

152

6 Cluster-Dienste

155

6.1 LAM/MPI

155

6.2 Jobverwaltung und Batch-Systeme

163

6.4 Notizen

175

Teil III MPI

178

7 Grundlagen

179

7.1 Das Minimalgerüst

179

7.3 Kollektive Kommunikation

185

7.4 Anatomie der Nachrichtenübertragung

201

7.5 Nicht blockierender Nachrichtentransfer

217

7.6 Der MPI-Standard

225

7.7 Notizen

232

8 Fortgeschrittene Techniken

235

8.1 Kommunikator- und Gruppenmanagement

235

8.2 Fehlerbehandlung

242

8.3 Nutzerspezifische Datentypen

246

8.5 Notizen

268

9 Parallelisierungstechniken

271

9.1 Perfekte Parallelisierung

271

9.2 Geometrische Parallelisierung

301

9.3 Notizen

321

Teil IV Praxis

323

10 Debuggingmethoden und Entwicklungswerkzeuge für MPI- Programme

325

10.1 Kontrollausgaben

325

10.2 Debugger

329

10.3 Profiler

334

10.4 XMPI

336

10.5 Namen für MPI-Objekte

340

10.6 Notizen

342

11 Bibliotheken

345

11.1 Überblick

346

11.2 APPSPACK

358

11.3 FFTW

363

11.4 Tina’s Random Number Generator Library

368

11.5 Notizen

378

12 Benchmarks

379

12.1 Highly-Parallel LINPACK

379

12.2 Intel MPI Benchmarks

397

12.3 Notizen

404

13 Checkpoint-Restart

405

13.1 Überblick

405

13.2 Ckpt

409

13.4 Notizen

420

Teil V Anhang

422

14 Die C-Schnittstelle des MPI-Standards

423

14.1 Konstanten

423

14.4 Nicht blockierende Punkt-zu-Punkt-Kommunikation

429

14.5 Persistente Kommunikation

432

14.6 Abgeleitete Datentypen

432

14.8 Einfache Gruppen, Kontexte und Kommunikatoren

443

14.9 Kommunikatoren mit Topologie

449

15 Argumente aus der Kommandozeile einlesen

451

Literaturverzeichnis

455

Sachverzeichnis

461