Dialekte der Klimaforschung



Ähnliche Dokumente
Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Primzahlen und RSA-Verschlüsselung

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Was meinen die Leute eigentlich mit: Grexit?

Erfahrungen mit Hartz IV- Empfängern

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Was ist Sozial-Raum-Orientierung?

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Alle gehören dazu. Vorwort

Einführung in PHP. (mit Aufgaben)

Reporting Services und SharePoint 2010 Teil 1

Tutorial -

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Das Leitbild vom Verein WIR

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Woche 1: Was ist NLP? Die Geschichte des NLP.

Printserver und die Einrichtung von TCP/IP oder LPR Ports

Lehrer: Einschreibemethoden

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Grundlagen der Theoretischen Informatik, SoSe 2008

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Leit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Datensicherung. Beschreibung der Datensicherung

Dame oder Tiger (Nach dem leider schon lange vergriffenen Buch von Raymond Smullyan)

Anleitung über den Umgang mit Schildern

Speicher in der Cloud

Die Invaliden-Versicherung ändert sich

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Technische Analyse der Zukunft

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Eine Einführung in die Installation und Nutzung von cygwin

Dokumentation von Ük Modul 302

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Repetitionsaufgaben Wurzelgleichungen

Partitionieren in Vista und Windows 7/8

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Urlaubsregel in David

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Produktionsplanung und steuerung (SS 2011)

Änderungsbeschreibung HWS32 SEPA Überweisungen

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Outlook-Daten komplett sichern

Inkrementelles Backup

Nr. 12-1/Dezember 2005-Januar A 12041

Microsoft Update Windows Update

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Geld Verdienen im Internet leicht gemacht

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Das Persönliche Budget in verständlicher Sprache

Kfz-Versicherung für Fahranfänger. mit der Lizenz zum Fahren

YouTube: Video-Untertitel übersetzen

von: Oktay Arslan Kathrin Steiner Tamara Hänggi Marco Schweizer GIB-Liestal Mühlemattstrasse Liestal ATG

Anspruchsvolle Dreierausdrücke zum selbstständigen Lernen

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Wie halte ich Ordnung auf meiner Festplatte?

Was bedeutet Inklusion für Geschwisterkinder? Ein Meinungsbild. Irene von Drigalski Geschäftsführerin Novartis Stiftung FamilienBande.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Gimp Kurzanleitung. Offizielle Gimp Seite:

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Verwendung des IDS Backup Systems unter Windows 2000

Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang. Aufgabenblatt 3 (KW 44) ( )

1. Weniger Steuern zahlen

PowerPoint vertonen. by H.Schönbauer 1

= i (V) = d 2. v = d! p! n da v 1 = v 2 gilt auch d 1 ÿ p ÿ n 1 = d 2 ÿ p ÿ n 2 (III) p kürzen (Division durch p) d 1 ÿ n 1 = d 2 ÿ n 2 (IV) oder

Menü auf zwei Module verteilt (Joomla 3.4.0)

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

Datenanalyse - Schnittstellendesign

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Netzwerkversion PVG.view

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Anwendungsbeispiele Buchhaltung

Schnittstelle DIGI-Zeiterfassung

PhotoFiltre: Fotos -tauglich verkleinern

Dieses erste Kreisdiagramm, bezieht sich auf das gesamte Testergebnis der kompletten 182 getesteten Personen. Ergebnis

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Professionelle Seminare im Bereich MS-Office

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Outlook 2003

Kreativ visualisieren

Leichte-Sprache-Bilder

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

DOKUMENTATION VOGELZUCHT 2015 PLUS

Informationsblatt Induktionsbeweis

Lineare Gleichungssysteme

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Das sagt die UN-Behinderten-Rechts-Konvention zu Barriere-Freiheit Wie barriere-frei ist Deutschland?

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

2. Negative Dualzahlen darstellen

ARCHIV- & DOKUMENTEN- MANAGEMENT-SERVER PAPIER ARCHIVIEREN

Dow Jones am im 1-min Chat

teischl.com Software Design & Services e.u. office@teischl.com

Transkript:

Dialekte der Klimaforschung Vom Fortran-Programm zum parallelen Programm Thomas Ludwig

Inhalt Welche Dialekte werden transformiert? Welche Anforderungen stellen wir? Wozu diese Transformation? Wie ist der Zieldialekt bestimmt? Welche Varianten der Transformation gibt es? Wie sieht die Praxis aus? Was muss ich wissen? Wie gehe ich vor? Was ist schwierig? Was ist einfach? Wie kontrolliere ich die Korrektheit? Was bringt die Zukunft? 2

Welche Dialekte werden transformiert? Fortran Programm F P (sequentiell) Syntax A / Semantik A Transformation Paralleles Programm P P (Fortran + Erweiterungen + Anpassungen für spezielle Hardware) Syntax B / Semantik? 3

Welche Anforderungen stellen wir? Die Transformation sollte korrekt sein d.h. die Semantik sollte erhalten bleiben Das parallele Programm sollte dieselbe Berechnung durchführen wie das sequentielle Programm Ein möglicher Test: beide Programme liefern bei identischer Eingabe eine identische Ausgabe Eine Transformation sollte auf verschiedenen Maschinen effizient laufen In der Praxis ist das typischerweise nicht gegeben! 4

Wozu diese Transformation? Feststellung: ein einzelner Rechner ist bei Klimasimulationen zu schwach, um diese mit der gewünschten räumlichen und zeitlichen Auflösung durchzuführen Bei anderen wissenschaftlichen Fragestellungen gilt das nicht notwendigerweise! Deshalb: Berechnung durch Hochleistungsrechner nötig Diese sind heute immer mit dem Konzept des parallelen Rechnens realisiert Die Transformation wandelt ein mathematiknahes Programm in ein rechnernahes Programm 5

Wie ist der Zieldialekt bestimmt? Der Zieldialekt bestimmt sich durch die Art der verwendeten Hardware a) Rechner mit gemeinsamem Hauptspeicher Alle Prozessorkerne arbeiten auf einem gemeinsamen Hauptspeicher, in dem sich das Programm und die Daten befinden b) Rechner mit Beschleunigerhardware Zusätzlich kann hier spezielle Hardware (z.b. spezielle Grafikkarten) verbaut sein, die besonders zu programmieren ist c) Rechner mit verteiltem Hauptspeicher Man schaltet mehrere Rechner zusammen und vernetzt sie. In jedem läuft ein Programm auf lokalen Daten 6

In der Praxis finden wir folgendes: Wie ist der Zieldialekt bestimmt? Der Rechnerknoten (ein Einschub in unseren Rechnerschränken) ist vom Typ a) Wir möchten keine Rechner vom Typ b) Mehrere Rechnerknoten unseres System konstituieren ein System vom Typ c) (das wahlweise auch als Mischform von a) und c) betrachtet werden kann) Die Programmierkonzepte richten sich nach dem Typ! 7

Welche Varianten der Transformation gibt es? Automatische Übersetzung durch Compiler Bringt sehr schlechte Leistung, da der Compiler die Semantik des Programms nicht genau erkennt (vgl. automatisches Übersetzen zwischen Sprachen) Manuelle Übersetzung durch Programmierer Zeitaufwendig Intellektuell herausfordernd Fehleranfällig Schlecht, wenn er die Semantik des F-P nicht kennt und nicht erkennen kann Schlecht, wenn er die Besonderheiten des Rechners nicht kennt und nicht kennenlernen kann 8

Wie sieht die Praxis aus? Meist Datenparallelismus Folgt dem gesunden Menschenverstand der Aufteilung von Arbeit: jeder erledigt einen Teil des Gesamten Im Rechner: Auf allen Prozessorkernen läuft gleichzeitig dasselbe Programm ab; die Daten werden aufgeteilt und den Prozessorkernen zugeteilt; die Teilergebnisse werden eingesammelt und zusammengeführt Siehe Richardson s Forecast Factory 9

20.03.2012 DKRZ Dialekte der Klimaforschung - Parallelisierung 10

Was muss ich wissen? Programmierkonzepte (nach Wichtigkeit) Für Rechner vom Typ c) : Programmierung mit Nachrichtenaustausch Für Rechner vom Typ a) : Programmierung mit gemeinsamem Speicher Für Rechner vom Typ b) : Spezialkonstrukte für die Spezialhardware Parallele Umsetzung wichtiger mathematischer Konstrukte Matrizenmanipulationen Numerische Lösungsverfahren 11

Wie gehe ich vor? Typischerweise 1. Suche Programmteile mit dem größten Rechenbedarf 2. Analysiere die Datenstrukturen 3. Programmiere eine Verteilung der Daten 4. Programmiere ein Einsammeln der Daten Nebenbemerkung: die Länge des Programmcodes wächst dabei nur um ein paar Prozent, die Komplexität wächst um viele Größenordnungen! Grund ist das zeitliche Nebeneinander der Abarbeitungsstränge 12

Neuer Effekt bei parallelen Programmen: Was ist schwierig? Zeitabhängiges Verhalten / Nichtdeterminismus Woher kommt das? Die Programmteile arbeiten jetzt ja gleichzeitig an verschiedenen Orten und müssen sich gelegentlich synchronisieren Was bewirkt das? Mal ist der eine etwas eher fertig, mal der andere (wie im richtigen Leben) 13

Was ist davon die Folge? Was ist schwierig? Zeitabhängigkeit Wenn es fehlerhafterweise so programmiert wurde: Extrem schwer auffindbare Programmfehler (Heisenbug) Einer von 5, 10, 100, 1000 Programmläufen stürzt ab (bei sequentiellen Programmen ist bei gleicher Eingabe das Resultat immer identisch) Wenn es absichtlich so programmiert wurde: Die Programmergebnisse sind immer richtig aber immer etwas unterschiedlich (wegen a*(b*c)!= (a*b)*c ) Warum wurde es denn dann so programmiert? Weil man noch mehr Leistung herausquetschen kann 14

Ganz problematisch: Was ist schwierig? Zeitabhängigkeit Häufig wissen wir nicht, ob wir Nichtdeterminismus versehentlich hineinprogrammiert haben Z.B. können Bibliotheksfunktionen sich in manchen Fällen nichtdeterministisch verhalten Die Folge: Fehlersuche und Verifikation der Korrektheit des Programms sind in solchen Fällen beliebig schwierig 15

Was ist schwierig? Die sequentiellen Algorithmen Problem Die im F-P gewählten Implementierungen mathematischer Verfahren lassen sich nicht gut parallelisieren Besser parallelisierbar wäre eine andere Implementierung Folge Man ändert die Implementierung der Mathematik im P-P Die Ergebnisse sind unvergleichbar mit denen des F-P Wiederum kann man nur schwer die korrekte Transformation sicherstellen 16

Was ist schwierig? Qualität der Parallelisierung Lastungleichheit Die Prozessorkerne sind ungleich belastet und man muß dynamisch Lasten zwischen ihnen verschieben Gefahr eines geänderten Berechnungsergebnisses Skalierbarkeit Das Programm liefert bei n Prozessorkernen annähernd n- fache Leistung, bei 2n Prozessorkernen aber deutlich weniger als 2n-fache Leistung Normalerweise muss die Implementierung der Mathematik wieder geändert werden 17

Was ist einfach? (1/2) Massiver Parallelismus Beispiel Ich habe ein paralleles Programm, das auf n Prozessorkernen prima läuft Ich bekomme einen neuen Rechner mit 100*n Prozessorkernen Ich kann das alte Programm in 100 Varianten gleichzeitig laufen lassen (z.b. bei Ensemblerechnungen) 18

Was ist einfach (2/2)? Sonst nichts. 19

Wie kontrolliere ich die Korrektheit? (1/2) Meist liefert das P-P wegen der Änderungen in der Mathematik bereits minimal andere Ergebnisse als das F-P Die Korrektheit der Transformation vom sequentiellen zum parallelen Programm ist damit meist prinzipiell schwer zu zeigen und darüber hinaus schwer zu kontrollieren Was man zumindest fordert: Bei steigender Maschinengröße sollte das Ergebnis immer dasselbe bleiben Das ist nicht immer garantierbar 20

Wie kontrolliere ich die Korrektheit? (2/2) Was man sich wünscht Beim Wechsel wichtiger Softwarekomponenten des Systems bleiben die Ergebnisse identisch Immer wieder mal nicht Beim Wechsel von einem Parallelrechner auf einen anderen bleiben die Ergebnisse identisch Meist nicht 21

Was bringt die Zukunft? Entwicklung bei Rechnern Die Komplexitäten in allen Aspekten erhöhen sich weiter Die Maschinengrößen erhöhen sich weiter Entwicklung bei den Programmiersprachen Entwicklung neuer Konzepte Aber wer soll die alten Programme umschreiben? Entwicklung automatischer Verfahren Schwieriger denn je wegen der Rechnerentwicklung 22

23