Parallel Processing in a Nutshell OpenMP & MPI kurz vorgestellt
|
|
- Daniela Sauer
- vor 8 Jahren
- Abrufe
Transkript
1 Parallel Processing in a Nutshell & kurz vorgestellt 16. Juni / 29
2 1 Das Problem 2 2 / 29
3 1 Das Problem / 29
4 1 Das Problem / 29
5 1 Das Problem / 29
6 Multi-Core Prozessoren halten Einzug (nicht nur) auf dem Desktop Neuer Rechencluster des CITEC (16 Nodes mit je 8 Kernen -> 128 Kerne) Ziele: 3 / 29
7 Multi-Core Prozessoren halten Einzug (nicht nur) auf dem Desktop Neuer Rechencluster des CITEC (16 Nodes mit je 8 Kernen -> 128 Kerne) Ziele: Zeitkritische Anwendungen von Multi Core profitieren lassen 3 / 29
8 Multi-Core Prozessoren halten Einzug (nicht nur) auf dem Desktop Neuer Rechencluster des CITEC (16 Nodes mit je 8 Kernen -> 128 Kerne) Ziele: Zeitkritische Anwendungen von Multi Core profitieren lassen Langläufer optimal auf vorhandene Rechenresourcen verteilen Lösungen (naiv) 3 / 29
9 Multi-Core Prozessoren halten Einzug (nicht nur) auf dem Desktop Neuer Rechencluster des CITEC (16 Nodes mit je 8 Kernen -> 128 Kerne) Ziele: Zeitkritische Anwendungen von Multi Core profitieren lassen Langläufer optimal auf vorhandene Rechenresourcen verteilen Lösungen (naiv) Zeitkritische Sektionen in mehrere Threads aufteilen 3 / 29
10 Multi-Core Prozessoren halten Einzug (nicht nur) auf dem Desktop Neuer Rechencluster des CITEC (16 Nodes mit je 8 Kernen -> 128 Kerne) Ziele: Zeitkritische Anwendungen von Multi Core profitieren lassen Langläufer optimal auf vorhandene Rechenresourcen verteilen Lösungen (naiv) Zeitkritische Sektionen in mehrere Threads aufteilen Verteilen der Jobs per Hand oder in Skripten 3 / 29
11 Multi-Core Prozessoren halten Einzug (nicht nur) auf dem Desktop Neuer Rechencluster des CITEC (16 Nodes mit je 8 Kernen -> 128 Kerne) Ziele: Zeitkritische Anwendungen von Multi Core profitieren lassen Langläufer optimal auf vorhandene Rechenresourcen verteilen Lösungen (naiv) Zeitkritische Sektionen in mehrere Threads aufteilen Verteilen der Jobs per Hand oder in Skripten 3 / 29
12 Hello World Konzept Syntax Hello World++ API (C, C++, Fortran), von diversen Hard- und Softwareherstellern entwickelt und behütet (AMD, Cray, Fujitsu, HP, IBM, Intel, NEC, SGI, Sun, Microsoft,...) besteht aus: Compiler-Direktiven (#PRAGMA) 4 / 29
13 Hello World Konzept Syntax Hello World++ API (C, C++, Fortran), von diversen Hard- und Softwareherstellern entwickelt und behütet (AMD, Cray, Fujitsu, HP, IBM, Intel, NEC, SGI, Sun, Microsoft,...) besteht aus: Compiler-Direktiven (#PRAGMA) Runtime-Library-Routinen 4 / 29
14 Hello World Konzept Syntax Hello World++ API (C, C++, Fortran), von diversen Hard- und Softwareherstellern entwickelt und behütet (AMD, Cray, Fujitsu, HP, IBM, Intel, NEC, SGI, Sun, Microsoft,...) besteht aus: Compiler-Direktiven (#PRAGMA) Runtime-Library-Routinen Umgebungsvariablen 4 / 29
15 Hello World Konzept Syntax Hello World++ API (C, C++, Fortran), von diversen Hard- und Softwareherstellern entwickelt und behütet (AMD, Cray, Fujitsu, HP, IBM, Intel, NEC, SGI, Sun, Microsoft,...) besteht aus: Compiler-Direktiven (#PRAGMA) Runtime-Library-Routinen Umgebungsvariablen Multi-Threading auf Unix/Windows NT Plattformen mit SHARED Memory 4 / 29
16 Hello World Konzept Syntax Hello World++ API (C, C++, Fortran), von diversen Hard- und Softwareherstellern entwickelt und behütet (AMD, Cray, Fujitsu, HP, IBM, Intel, NEC, SGI, Sun, Microsoft,...) besteht aus: Compiler-Direktiven (#PRAGMA) Runtime-Library-Routinen Umgebungsvariablen Multi-Threading auf Unix/Windows NT Plattformen mit SHARED Memory per Kommandozeilenoption bspw. des GCC einschaltbar (-fopenmp) Vorteile: 4 / 29
17 Hello World Konzept Syntax Hello World++ API (C, C++, Fortran), von diversen Hard- und Softwareherstellern entwickelt und behütet (AMD, Cray, Fujitsu, HP, IBM, Intel, NEC, SGI, Sun, Microsoft,...) besteht aus: Compiler-Direktiven (#PRAGMA) Runtime-Library-Routinen Umgebungsvariablen Multi-Threading auf Unix/Windows NT Plattformen mit SHARED Memory per Kommandozeilenoption bspw. des GCC einschaltbar (-fopenmp) Vorteile: Programm compiliert/läuft auch seriell 4 / 29
18 Hello World Konzept Syntax Hello World++ API (C, C++, Fortran), von diversen Hard- und Softwareherstellern entwickelt und behütet (AMD, Cray, Fujitsu, HP, IBM, Intel, NEC, SGI, Sun, Microsoft,...) besteht aus: Compiler-Direktiven (#PRAGMA) Runtime-Library-Routinen Umgebungsvariablen Multi-Threading auf Unix/Windows NT Plattformen mit SHARED Memory per Kommandozeilenoption bspw. des GCC einschaltbar (-fopenmp) Vorteile: Programm compiliert/läuft auch seriell Programmteile lassen sich leicht parallelisieren 4 / 29
19 Hello World Konzept Syntax Hello World++ API (C, C++, Fortran), von diversen Hard- und Softwareherstellern entwickelt und behütet (AMD, Cray, Fujitsu, HP, IBM, Intel, NEC, SGI, Sun, Microsoft,...) besteht aus: Compiler-Direktiven (#PRAGMA) Runtime-Library-Routinen Umgebungsvariablen Multi-Threading auf Unix/Windows NT Plattformen mit SHARED Memory per Kommandozeilenoption bspw. des GCC einschaltbar (-fopenmp) Vorteile: Programm compiliert/läuft auch seriell Programmteile lassen sich leicht parallelisieren Threadanzahl muss nicht (aber kann) vorher festgelegt werden 4 / 29
20 Hello World Konzept Syntax Hello World++ API (C, C++, Fortran), von diversen Hard- und Softwareherstellern entwickelt und behütet (AMD, Cray, Fujitsu, HP, IBM, Intel, NEC, SGI, Sun, Microsoft,...) besteht aus: Compiler-Direktiven (#PRAGMA) Runtime-Library-Routinen Umgebungsvariablen Multi-Threading auf Unix/Windows NT Plattformen mit SHARED Memory per Kommandozeilenoption bspw. des GCC einschaltbar (-fopenmp) Vorteile: Programm compiliert/läuft auch seriell Programmteile lassen sich leicht parallelisieren Threadanzahl muss nicht (aber kann) vorher festgelegt werden 4 / 29
21 Hello World Konzept Syntax Hello World++ #include < s t d i o. h> #include < s t d l i b. h> i n t main ( i n t argc, char argv [ ] ) { #pragma omp p a r a l l e l { p r i n t f ( " Hallo Welt! \ n " ) ; } return (EXIT_SUCCESS ) ; } / 29
22 Hello World Konzept Syntax Hello World++ gcc -o HelloWorld -fopenmp HelloWorld.c Hallo Welt! Hallo Welt! Hallo Welt! Hallo Welt! ssh arminius./helloworld Hallo Welt! 6 / 29
23 Hello World Konzept Syntax Hello World++ Durch explizite Compileranweisungen werden Programmsektionen in Threads ( team ) aufgeteilt. Der Speicherbereich wird geshared 7 / 29
24 Hello World Konzept Syntax Hello World++ Durch explizite Compileranweisungen werden Programmsektionen in Threads ( team ) aufgeteilt. Der Speicherbereich wird geshared Verschachtelte Parallelisierung von der API möglich 7 / 29
25 Hello World Konzept Syntax Hello World++ Durch explizite Compileranweisungen werden Programmsektionen in Threads ( team ) aufgeteilt. Der Speicherbereich wird geshared Verschachtelte Parallelisierung von der API möglich Dynamische Erhöhung/Reduzierung der Anzahl der Threads 7 / 29
26 Hello World Konzept Syntax Hello World++ Durch explizite Compileranweisungen werden Programmsektionen in Threads ( team ) aufgeteilt. Der Speicherbereich wird geshared Verschachtelte Parallelisierung von der API möglich Dynamische Erhöhung/Reduzierung der Anzahl der Threads KEINE explizite Unterstützung von I/O 7 / 29
27 Hello World Konzept Syntax Hello World++ Durch explizite Compileranweisungen werden Programmsektionen in Threads ( team ) aufgeteilt. Der Speicherbereich wird geshared Verschachtelte Parallelisierung von der API möglich Dynamische Erhöhung/Reduzierung der Anzahl der Threads KEINE explizite Unterstützung von I/O Threads können ihre Daten cachen. Bei geteilten Variablen muss ggf. explizit geflushed werden 7 / 29
28 Hello World Konzept Syntax Hello World++ Durch explizite Compileranweisungen werden Programmsektionen in Threads ( team ) aufgeteilt. Der Speicherbereich wird geshared Verschachtelte Parallelisierung von der API möglich Dynamische Erhöhung/Reduzierung der Anzahl der Threads KEINE explizite Unterstützung von I/O Threads können ihre Daten cachen. Bei geteilten Variablen muss ggf. explizit geflushed werden 7 / 29
29 Hello World Konzept Syntax Hello World++ #pragma omp <Direktive> [Klausel,... ] parallel - erstellt Team von Threads for - verteilt Schleife aufs Team sections - leitet Block mit Unteraufgaben ein single - Block für einen Thread parallel for - Kombi parallel & for task - Erstellen von tasks 8 / 29
30 Hello World Konzept Syntax Hello World++ #pragma omp <Direktive> [Klausel,... ] master Block für Master-Thread critical Block für einen Thread gleichzeitig barrier Barriere für alle Threads taskwait Warte auf beenden der tasks atomic garantiere Atomare Speicherbehandlung flush Schreibe Thread-Variablen ordered Durchlaufe Block in Schleife sortiert threadprivate Kopiere Variablen in für T. private 9 / 29
31 Hello World Konzept Syntax Hello World++ #pragma omp <Direktive> [Klausel,... ] Klauseln: shared (list) private (list) firstprivate (list) Initialisierung aller private lastprivate (list) Update nach Ende der Region reduction (operator:list) Update nach Ende der Region nach Regel 10 / 29
32 Hello World Konzept Syntax Hello World++ i n t main ( i n t argc, char argv ) { i n t a [ 5 ], i, x =1; #pragma omp p a r a l l e l for shared ( x ) for ( i =0; i < 5; i ++) { p r i n t f ( " S c h r i t t %d \ n ", i ) ; sleep ( 1 ) ; a [ i ] = x = x+x ; } for ( i =0; i <5; p r i n t f ( " a[%d ] = %d \ n ", i, a [ i + + ] ) ) ; return (EXIT_SUCCESS ) ; } / 29
33 Hello World Konzept Syntax Hello World++ gcc -o zweitesbeispiel-omp -fopenmp zweitesbeispiel.c gcc -o zweitesbeispiel-serial zweitesbeispiel.c time./zweitesbeispiel-serial Schritt 0 Schritt 1 Schritt 2 Schritt 3 Schritt 4 a[1] = 2 a[2] = 4 a[3] = 8 a[4] = 16 a[5] = 32 real 0m5.001s 12 / 29
34 Hello World Konzept Syntax Hello World++ time./zweitesbeispiel-omp Schritt 0 Schritt 2 Schritt 4 Schritt 1 Schritt 3 a[1] = 2 a[2] = 16 a[3] = 4 a[4] = 32 a[5] = 8 real 0m2.002s 13 / 29
35 Hello World Konzept Syntax Hello World++ i n t main ( i n t argc, char argv ) { i n t id, i ; omp_set_num_threads ( 4 ) ; #pragma omp p a r a l l e l for p r i v a t e ( i d ) for ( i = 0; i < 4; ++ i ) { i d = omp_get_thread_num ( ) ; p r i n t f ( " Hello World from thread %d \ n ", i d ) ; #pragma omp b a r r i e r i f ( i d == 0) p r i n t f ( " There are %d threads \ n ", omp_get_num_threads ( ) ) ; } } / 29
36 Hello World Konzept Syntax Hello World++ $ gcc -o drittesbeispiel -fopenmp drittesbeispiel.c $./drittesbeispiel Hello World from thread 2 Hello World from thread 1 Hello World from thread 3 Hello World from thread 0 There are 4 threads 15 / 29
37 Hello World Konzept Syntax Hello World++ Was NICHT kann: Auf verteilten Speicher zugreifen Speichereffizienz garantieren 16 / 29
38 Hello World Konzept Syntax Hello World++ Was NICHT kann: Auf verteilten Speicher zugreifen Speichereffizienz garantieren Garantie gleichen Verhaltens verschiedener Implementationen 16 / 29
39 Hello World Konzept Syntax Hello World++ Was NICHT kann: Auf verteilten Speicher zugreifen Speichereffizienz garantieren Garantie gleichen Verhaltens verschiedener Implementationen Prüfen von Datenkonsistenz, Abhängigkeiten, deadlocks, race conditions 16 / 29
40 Hello World Konzept Syntax Hello World++ Was NICHT kann: Auf verteilten Speicher zugreifen Speichereffizienz garantieren Garantie gleichen Verhaltens verschiedener Implementationen Prüfen von Datenkonsistenz, Abhängigkeiten, deadlocks, race conditions Synchronisierte I/O 16 / 29
41 Hello World Konzept Syntax Hello World++ Was NICHT kann: Auf verteilten Speicher zugreifen Speichereffizienz garantieren Garantie gleichen Verhaltens verschiedener Implementationen Prüfen von Datenkonsistenz, Abhängigkeiten, deadlocks, race conditions Synchronisierte I/O 16 / 29
42 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Message Passing Interface - Standard zur Nachrichtenübertragung Ziele: Effizienz, Portabilität, Flexibilität 17 / 29
43 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Message Passing Interface - Standard zur Nachrichtenübertragung Ziele: Effizienz, Portabilität, Flexibilität Forum: IBM, Intel, HP, ncube s Vertex, p4, Zipcode, Chimp, PVM, Chameleon, PICL, / 29
44 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Message Passing Interface - Standard zur Nachrichtenübertragung Ziele: Effizienz, Portabilität, Flexibilität Forum: IBM, Intel, HP, ncube s Vertex, p4, Zipcode, Chimp, PVM, Chameleon, PICL,... Seit 1995: 1.0, danach 1.1, 1.2 und / 29
45 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Message Passing Interface - Standard zur Nachrichtenübertragung Ziele: Effizienz, Portabilität, Flexibilität Forum: IBM, Intel, HP, ncube s Vertex, p4, Zipcode, Chimp, PVM, Chameleon, PICL,... Seit 1995: 1.0, danach 1.1, 1.2 und 2.0 Freie Implementationen verfügbar: lam-mpi, CH, Open (lam-mpi Nachfolger) / 29
46 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Message Passing Interface - Standard zur Nachrichtenübertragung Ziele: Effizienz, Portabilität, Flexibilität Forum: IBM, Intel, HP, ncube s Vertex, p4, Zipcode, Chimp, PVM, Chameleon, PICL,... Seit 1995: 1.0, danach 1.1, 1.2 und 2.0 Freie Implementationen verfügbar: lam-mpi, CH, Open (lam-mpi Nachfolger)... Eine API mit Vorwärtskompabilität 17 / 29
47 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Message Passing Interface - Standard zur Nachrichtenübertragung Ziele: Effizienz, Portabilität, Flexibilität Forum: IBM, Intel, HP, ncube s Vertex, p4, Zipcode, Chimp, PVM, Chameleon, PICL,... Seit 1995: 1.0, danach 1.1, 1.2 und 2.0 Freie Implementationen verfügbar: lam-mpi, CH, Open (lam-mpi Nachfolger)... Eine API mit Vorwärtskompabilität API gesichert durch Gremium ( Forum) 17 / 29
48 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Message Passing Interface - Standard zur Nachrichtenübertragung Ziele: Effizienz, Portabilität, Flexibilität Forum: IBM, Intel, HP, ncube s Vertex, p4, Zipcode, Chimp, PVM, Chameleon, PICL,... Seit 1995: 1.0, danach 1.1, 1.2 und 2.0 Freie Implementationen verfügbar: lam-mpi, CH, Open (lam-mpi Nachfolger)... Eine API mit Vorwärtskompabilität API gesichert durch Gremium ( Forum) Damit Sourcecode-kompabilität 17 / 29
49 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Message Passing Interface - Standard zur Nachrichtenübertragung Ziele: Effizienz, Portabilität, Flexibilität Forum: IBM, Intel, HP, ncube s Vertex, p4, Zipcode, Chimp, PVM, Chameleon, PICL,... Seit 1995: 1.0, danach 1.1, 1.2 und 2.0 Freie Implementationen verfügbar: lam-mpi, CH, Open (lam-mpi Nachfolger)... Eine API mit Vorwärtskompabilität API gesichert durch Gremium ( Forum) Damit Sourcecode-kompabilität C, C++, Fortran 17 / 29
50 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Message Passing Interface - Standard zur Nachrichtenübertragung Ziele: Effizienz, Portabilität, Flexibilität Forum: IBM, Intel, HP, ncube s Vertex, p4, Zipcode, Chimp, PVM, Chameleon, PICL,... Seit 1995: 1.0, danach 1.1, 1.2 und 2.0 Freie Implementationen verfügbar: lam-mpi, CH, Open (lam-mpi Nachfolger)... Eine API mit Vorwärtskompabilität API gesichert durch Gremium ( Forum) Damit Sourcecode-kompabilität C, C++, Fortran 17 / 29
51 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Kommunikation auf Prozessebene Shared Memory, TCP,... Implementationen übernehmen: 18 / 29
52 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Kommunikation auf Prozessebene Shared Memory, TCP,... Implementationen übernehmen: Verteilen der Prozesse (bspw. mit rsh/ssh) 18 / 29
53 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Kommunikation auf Prozessebene Shared Memory, TCP,... Implementationen übernehmen: Verteilen der Prozesse (bspw. mit rsh/ssh) Wahl des Kommunikationsmediums 18 / 29
54 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Kommunikation auf Prozessebene Shared Memory, TCP,... Implementationen übernehmen: Verteilen der Prozesse (bspw. mit rsh/ssh) Wahl des Kommunikationsmediums 18 / 29
55 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Vorbedingungen Erster -Aufruf: _Init () Bewirkt u.a. Erstellung von _COMM_WORLD 19 / 29
56 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Vorbedingungen Erster -Aufruf: _Init () Bewirkt u.a. Erstellung von _COMM_WORLD Letzter ()-Aufruf _Finalize () 19 / 29
57 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Vorbedingungen Erster -Aufruf: _Init () Bewirkt u.a. Erstellung von _COMM_WORLD Letzter ()-Aufruf _Finalize () -Programme können mit extra Wrappern gebaut werden (mpicc, mpicxx, mpif77). 19 / 29
58 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Vorbedingungen Erster -Aufruf: _Init () Bewirkt u.a. Erstellung von _COMM_WORLD Letzter ()-Aufruf _Finalize () -Programme können mit extra Wrappern gebaut werden (mpicc, mpicxx, mpif77). -Programme werden mit einem Helfer verteilt und gestartet: mpirun -np 4 -hostfile hostfile.txt executable 19 / 29
59 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Vorbedingungen Erster -Aufruf: _Init () Bewirkt u.a. Erstellung von _COMM_WORLD Letzter ()-Aufruf _Finalize () -Programme können mit extra Wrappern gebaut werden (mpicc, mpicxx, mpif77). -Programme werden mit einem Helfer verteilt und gestartet: mpirun -np 4 -hostfile hostfile.txt executable 19 / 29
60 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Erstes Beispiel #include <mpi. h> i n t main ( i n t argc, char argv ) { i n t i e r r o r, rank, size ; i e r r o r = M P I _Init (& argc,& argv ) ; i f ( i e r r o r!= _SUCCESS) schade ( ) ; _Comm_rank (_COMM_WORLD, &rank ) ; _Comm_size (_COMM_WORLD, & s i z e ) ; _Finalize ( ) ; return (EXIT_SUCCESS ) ; } / 29
61 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation synchron Sender blockiert, bis Empfänger Nachricht erhalten hat asynchron Sender schickt Nachricht ohne auf die Rückmeldung des Empfängers zu warten 21 / 29
62 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation synchron Sender blockiert, bis Empfänger Nachricht erhalten hat asynchron Sender schickt Nachricht ohne auf die Rückmeldung des Empfängers zu warten Wichtig In braucht jedes SEND ein entsprechendes RECEIVE. 21 / 29
63 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation synchron Sender blockiert, bis Empfänger Nachricht erhalten hat asynchron Sender schickt Nachricht ohne auf die Rückmeldung des Empfängers zu warten Wichtig In braucht jedes SEND ein entsprechendes RECEIVE. 21 / 29
64 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Send (blocking) _Send (void *buf, int count, _Datatype datatype, int dest, int tag, _Comm comm)) (Standard: Entweder buffered oder synchron) _Ssend (...) (Synchron) 22 / 29
65 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Send (blocking) _Send (void *buf, int count, _Datatype datatype, int dest, int tag, _Comm comm)) (Standard: Entweder buffered oder synchron) _Ssend (...) (Synchron) _Bsend (...) (Buffered) 22 / 29
66 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Send (blocking) _Send (void *buf, int count, _Datatype datatype, int dest, int tag, _Comm comm)) (Standard: Entweder buffered oder synchron) _Ssend (...) (Synchron) _Bsend (...) (Buffered) _Rsend (...) (Ready) 22 / 29
67 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Send (blocking) _Send (void *buf, int count, _Datatype datatype, int dest, int tag, _Comm comm)) (Standard: Entweder buffered oder synchron) _Ssend (...) (Synchron) _Bsend (...) (Buffered) _Rsend (...) (Ready) 22 / 29
68 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Send (non-blocking) _Isend (void *buf, int count, _Datatype datatype, int dest, int tag, _Comm comm, _Request *request) _Issend (...) (Synchron) 23 / 29
69 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Send (non-blocking) _Isend (void *buf, int count, _Datatype datatype, int dest, int tag, _Comm comm, _Request *request) _Issend (...) (Synchron) _Ibsend (...) (Buffered) 23 / 29
70 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Send (non-blocking) _Isend (void *buf, int count, _Datatype datatype, int dest, int tag, _Comm comm, _Request *request) _Issend (...) (Synchron) _Ibsend (...) (Buffered) _Irsend (...) (Ready) 23 / 29
71 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Send (non-blocking) _Isend (void *buf, int count, _Datatype datatype, int dest, int tag, _Comm comm, _Request *request) _Issend (...) (Synchron) _Ibsend (...) (Buffered) _Irsend (...) (Ready) Statusabfrage mit _Wait() oder _Test() 23 / 29
72 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Send (non-blocking) _Isend (void *buf, int count, _Datatype datatype, int dest, int tag, _Comm comm, _Request *request) _Issend (...) (Synchron) _Ibsend (...) (Buffered) _Irsend (...) (Ready) Statusabfrage mit _Wait() oder _Test() 23 / 29
73 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Receive: _Recv () (blocking) _Irecv () (non-blocking) 24 / 29
74 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Receive: _Recv () (blocking) _Irecv () (non-blocking) Es können beide Varianten gemischt benutz werden. 24 / 29
75 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Receive: _Recv () (blocking) _Irecv () (non-blocking) Es können beide Varianten gemischt benutz werden. _Waitany () _Testany () _Waitall () _Testall () _Waitsome () _Testsome () 24 / 29
76 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Receive: _Recv () (blocking) _Irecv () (non-blocking) Es können beide Varianten gemischt benutz werden. _Waitany () _Testany () _Waitall () _Testall () _Waitsome () _Testsome () 24 / 29
77 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation #define t o _ r i g h t 201 #define t o _ l e f t 102 i n t main ( i n t argc, char argv [ ] ) { i n t right, l e f t, rank, my_rank, size, other, i, sum ; _Status send_status, recv_status ; _Request request ; M P I_Init (& argc, &argv ) ; _Comm_rank (_COMM_WORLD, &my_rank ) ; _Comm_size (_COMM_WORLD, &size ) ; r i g h t = ( my_rank + 1) % size ; l e f t = ( my_rank 1) % size ; sum = 0; rank = my_rank ; for ( i = 0; i < size ; i ++) { _Issend (& rank, 1, _INT, right, to_ right,_comm_world, &request ) ; _Recv(& other, 1, _INT, l e f t, to_ right, _COMM_WORLD, &recv_status ) ; _Wait(& request, &send_status ) ; sum += other ; rank = other ; } p r i n t f ( "PE %d : \ t Sum = %d \ n ", rank, sum ) ; _Finalize ( ) ; return (EXIT_SUCCESS ) ; } 25 / 29
78 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Datentypen: Basic, Vektoren, Structs,... Topologien: Prozesse bspw. Carthesisch anordnenbar bishin zu allgemeinen Graphen _Barrier() analog zu 26 / 29
79 Vorgeplänkel Erstes Beispiel Kollektive Kommunikation Deutliche Unterschiede zu Point-to-Point: Immer über einen Communicator (z.b. _COMM_WORLD) Alle Prozesse müssen kommunizieren Mit oder ohne Synchronisation Nur blocking möglich Keine Tags Receive buffer müssen exakt die richtige Größe haben _Bcast(), _Scatter(), _Gather, _Reduce(), _All_to_all() 27 / 29
80 2003: 16 PCs unter brachten 0.5 GFLOPS (AG NI) 2009: 1 QuadCore bringt 3.2 GFLOPS () bzw. 2.0 () (vgl. 1.2 GFLOPS Single Thread) Mittels einfache Parallelisierung (parallel for / sections) Mittel bspw. durch Master-Worker Aufteilung Nutzung großer Rechenrescourcen BTW: & können zusammen benutzt werden 28 / 29
81 Writing Message-Passing Parallel Programs with - University of Edinburgh - /epcc-course/ -Primer / Developing with LAM- - University of Ohio - Cluster Quick Start Version Douglas Eadline - Message Passing Interface () FAQ - comp.parallel.mpi - Forum - Wikipedia 29 / 29
Exkurs: Paralleles Rechnen
Münster Exkurs: Paralleles Rechnen Münster Exkurs: Paralleles Rechnen 2 /21 Konzepte für Parallelrechner P P P C C C Gemeinsamer Speicher Verteilter Speicher Verbindungsnetzwerk Speicher M, Münster Exkurs:
MehrParallele Programmierung mit OpenMP
Parallele Programmierung mit OpenMP - Eine kurze Einführung - 11.06.2003 RRZN Kolloquium SS 2003 1 Gliederung 1. Grundlagen 2. Programmiermodell 3. Sprachkonstrukte 4. Vergleich MPI und OpenMP 11.06.2003
MehrOpenMP am Beispiel der Matrizenmultiplikation
OpenMP am Beispiel der Matrizenmultiplikation David J. Meder, Dr. Victor Pankratius IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe
MehrParalleles Rechnen: MPI
Münster Paralleles Rechnen: MPI 11.12.2015 Top 500 Münster Paralleles Rechnen: MPI 2 /23 32 Großrechner in Deutschland unter den Top 500 davon 5 Systeme unter den Top 50 8 Hazel Hen (HLRS Stuttgart) 11
MehrComputergrundlagen Moderne Rechnerarchitekturen
Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Aufbau eines modernen Computers DDR3- Speicher Prozessor Prozessor PEG
MehrParallele Programmierung mit OpenMP
Parallele Programmierung mit OpenMP Wolfgang Dautermann FH Joanneum Chemnitzer Linuxtage 2008 1 Motivation 2 OpenMP Übersicht 3 Hello World - der erste Code 4 OpenMP-Compilerdirektiven Threaderzeugung
MehrEinführung in das parallele Programmieren mit MPI und Java
Einführung in das parallele Programmieren mit und Java Seite 1 Übersicht Parallele Prozesse und Erste Schritte mit Kollektive Kommunikation Weitere Möglichkeiten Seite 2 Literatur (1) Homepage des 2-Forums
MehrComputergrundlagen Moderne Rechnerarchitekturen
Aufbau eines modernen Computers Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart DDR3- Speicher Prozessor Prozessor PEG Graphikkarte(n) weitere
MehrMPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven
MPI-Programmierung unter Windows mit MPIH2 Installieren von MPIH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen hristian Terboven Rechen- und Kommunikationszentrum RWTH Aachen 1 02/2007 luster-installationsworkshop
MehrGrundlagen zu MPI. Martin Lanser Mathematisches Institut Universität zu Köln. October 24, 2017
Grundlagen zu MPI Martin Lanser Mathematisches Institut Universität zu Köln October 24, 2017 Überblick Einige Grundlagen Punkt-zu-Punkt Kommunikation Globale Kommunikation Kommunikation plus Berechnung
MehrEinige Grundlagen zu OpenMP
Einige Grundlagen zu OpenMP Stephanie Friedhoff, Martin Lanser Mathematisches Institut Universität zu Köln 22. Juni 2016 Überblick Was ist OpenMP? Basics Das OpenMP fork-join-modell Kompilieren und Ausführen
MehrMessage Passing Interface: MPI
Message Passing Interface: MPI Geschichte: Erster MPI Standard Etwa 60 Personen, von 40 Institutionen (29-30 April 1992) MPI 1 im November 1993 MPI 1.1 im Juni 1995 MPI 1.2 Juli 1997 (Nur Ergänzung zu
MehrOpenMP. Viktor Styrbul
OpenMP Viktor Styrbul Inhaltsverzeichnis Was ist OpenMP Warum Parallelisierung Geschichte Merkmale von OpenMP OpenMP-fähige Compiler OpenMP Ausführungsmodell Kernelemente von OpenMP Zusammenfassung Was
MehrOpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009
- Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 Grundlagen der Parallelen Programmierung Hardware Threads vs. Prozesse Kritische Abschnitte Lange
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrC++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet
C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()
MehrMaster-Thread führt Programm aus, bis durch die Direktive
OpenMP seit 1998 Standard (www.openmp.org) für die Shared-Memory Programmierung; (Prä-)Compiler für viele Systeme kommerziell oder frei (z.b. Omni von phase.hpcc.jp/omni) verfügbar Idee: automatische Generierung
MehrDomänenmodell: Fadenkommunikation und -synchronisation
Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4
MehrNative Zeichenketten (C-Strings)
Native Zeichenketten (C-Strings)... sind in C/C++ char-arrays. D.h. die Deklaration char msg[80]; kann Zeichenketten bis zur Länge 79 enthalten. (Direkte Zuweisungen wie msg="hallo!" sind jedoch nicht
MehrMPI: Message passing interface
MPI: Message passing interface Es werden mehrere Prozesse gestartet, die das gleiche Programm abarbeiten. Diese Prozesse können auf dem gleichen Knoten oder verschiedenen Knoten eines Clusters von Rechnern
MehrParallele Programmierung mit OpenMP
Parallele Programmierung mit OpenMP Wolfgang Dautermann FH Joanneum Chemnitzer Linuxtage 2009 1 Motivation 2 OpenMP Übersicht 3 Hello World - der erste Code 4 OpenMP-Compilerdirektiven Threaderzeugung
MehrTapps mit XP-Mode unter Windows 7 64 bit (V2.0)
Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...
MehrPraktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart hermann.lenhart@zmaw.de MPI Einführung I: Einführung Nachrichtenaustausch mit MPI MPI point-to-point communication
MehrProjektseminar Parallele Programmierung
HTW Dresden WS 2014/2015 Organisatorisches Praktikum, 4 SWS Do. 15:00-18:20 Uhr, Z136c, 2 Doppelstunden o.g. Termin ist als Treffpunkt zu verstehen Labore Z 136c / Z 355 sind Montag und Donnerstag 15:00-18:20
MehrDas Message Passing Paradigma (1)
Das Message Passing Paradigma (1) Das Message Passing Paradigma (2) Sehr flexibel, universell, hoch effizient Programm kann logisch in beliebig viele Prozesse aufgeteilt werden Prozesse können unterschiedlichen
MehrProjektseminar Parallele Programmierung
HTW Dresden WS 2017/2018 Organisatorisches Praktikum, 4 SWS Do. 15:10-18:30 Uhr, Z136c, 2 Doppelstunden Labor Z 136c ist Donnerstag 15:10-18:30 reserviert, gemeinsam mit anderen Projektseminaren Selbständige
MehrPraktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Nathanael Hübbe hermann.lenhart@zmaw.de MPI Einführung I: Hardware Voraussetzung zur Parallelen Programmierung
MehrInstallation und Inbetriebnahme von Microsoft Visual C++ 2010 Express
Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation
MehrExkurs: Paralleles Rechnen
Münster Exkurs: Paralleles Rechnen December 2, 2013 , Münster Exkurs: Paralleles Rechnen 2 /27 Warum parallel Rechnen? Westf alische Wilhelms-Universit at M unster Exkurs: Paralleles Rechnen 2 /27 JUQUEEN,
MehrBeispiel: Schleifenparallelisierung
Beispiel: Schleifenparallelisierung for (i = 0; i high) { printf ( Exiting during iteration %d\n,i); break; for (j=low;j
MehrVerteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
MehrTipps und Tricks zu Netop Vision und Vision Pro
Tipps und Tricks zu Netop Vision und Vision Pro Anwendungen auf Schülercomputer freigeben und starten Netop Vision ermöglicht Ihnen, Anwendungen und Dateien auf allen Schülercomputern gleichzeitig zu starten.
MehrPROLAG WORLD 2.0 PRODUKTBESCHREIBUNG SERVERSYSTEM, CLUSTERSYSTEME FÜR PROLAG WORLD
PROLAG WORLD 2.0 PRODUKTBESCHREIBUNG SERVERSYSTEM, CLUSTERSYSTEME FÜR PROLAG WORLD Inhaltsverzeichnis 1. ZUSAMMENSTELLUNG VON SERVERN...3 1.1. ANFORDERUNGSPROFIL...3 1.2. 1.3. SERVER MODELLE...3 TECHNISCHE
MehrInstallationsanleitung. Novaline Personal Abrechnung. Personal.One
Installationsanleitung Novaline Personal Abrechnung Personal.One Mai 2013 Installation der Programme 1. Legen Sie die Installations-DVD in Ihr DVD-Laufwerk ein. Nach Einlegen der Programm- CD wird der
MehrAnlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010
1 von 6 Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 ci solution GmbH 2010 Whitepaper Draft Anleitung Deutsch Verfasser: ci solution GmbH 2010 Manfred Büttner 16. September
MehrMPI Message Passing Interface. Matus Dobrotka Jan Lietz
MPI Message Passing Interface Matus Dobrotka Jan Lietz 25.5.2016 MPI Ein Standard, der den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen beschreibt MPI-Applikation mehrere
MehrEinrichten eines Microsoft Exchange-Account auf einem Android-System
Einrichten eines Microsoft Exchange-Account auf einem Android-System Wählen Sie im Menü Anwendungen die Option E-Mail aus. In einigen Android-Versionen hat diese Anwendung möglicherweise den Namen Mail.
MehrEducase. Release Notes 1.7: Neue Funktionen und Verbesserungen. Base-Net Informatik AG Wassergrabe 14 CH-6210 Sursee
Educase Release Notes 1.7: Neue Funktionen und Verbesserungen Version: 1.0 Datum: 01.12.2015 08:34 Ersteller: Andreas Renggli Status: Abgeschlossen Base-Net Informatik AG Wassergrabe 14 CH-6210 Sursee
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrProgrammierung mit NQC: Kommunikation zwischen zwei RCX
Programmierung mit NQC: Kommunikation zwischen zwei RCX Martin Schmidt Aufbau der Messages Messages müssen möglichst kurz sein und dürfen nicht zu häufig gesendet werden! 1 Byte reicht für unsere Zwecke
MehrPropädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik
MehrImplementation of a Framework Component for Processing Tasks within Threads on the Application Level
Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Deutsches Krebsforschungszentrum, for Processing Task within Threads on the Application Level Motivation
MehrITT WEB-Service DEMO. Kurzbedienungsanleitung
ITT WEB-Service DEMO Kurzbedienungsanleitung Allgemein ITT Water & Wastewater Deutschland GmbH ermöglicht es Kunden Ihre Abwasseranlagen auf eine Leitzentrale bei ITT W & WW in Hannover aufschalten zu
MehrBitte verwenden Sie nur dokumentenechtes Schreibmaterial!
VO 182.711 Prüfung Betriebssysteme 8. November 2013 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation
MehrArbeitsblätter auf die Schülercomputer verteilen, öffnen und wieder einsammeln
Tipps & Tricks Arbeitsblätter auf die Schülercomputer verteilen, öffnen und wieder einsammeln Verteilen Sie Ihren Schülern ausgedruckte Arbeitsblätter? Mit App-Control und Vision können Sie die Arbeitsblätter
MehrMonitore. Klicken bearbeiten
Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition
MehrBusiness Process Model and Notation
BPMN 2.0 Crashkurs Business Process Model and Notation entwickelt von der Object Management Group, einem Konsortium von vielen Firmen (u.a. HP, IBM, Microsoft, Oracle, SAP) >60 verschiedene Produkte implementieren
MehrAnleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome
Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome (Timo Heinrich, t_hein03@uni-muenster.de) Inhaltsverzeichnis: 0.Einleitung 1.Teil: Helloworldprogramm 1.1 Quellcode: Helloworld.cpp 1.2
MehrQuick Start Faxolution for Windows
Quick Start Faxolution for Windows Direkt aus jeder Anwendung für das Betriebssystem Windows faxen Retarus Faxolution for Windows ist eine intelligente Business Fax Lösung für Desktop und Marketing Anwendungen,
Mehr4. Parallelprogrammierung
4. Parallelprogrammierung AlDaBi Prak4kum David Weese 2010/11 Enrico Siragusa WS 2011/12 Inhalt Einführung in Parallelität OpenMP Bemerkungen zur P- Aufgabe EINFÜHRUNG IN PARALLELITÄT Folien z.t. aus VL
MehrSynchronisation in Java. Invisible Web
Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections
MehrDynamic Ressource Management
best Open Systems Day Fall 2006 Dynamic Ressource Management Unterföhring Marco Kühn best Systeme GmbH kuehn@best.de Agenda Überblick Dynamic Resource Pools und FSS Dynamic Resource Memory RCAP Oracle
MehrDatenübernahme aus Profi-Cash
Datenübernahme aus Profi-Cash Umsätze aus ProfiCash exportieren Starten Sie ProfiCash und melden Sie sich mit dem Benutzer bzw. der Firma an, von welcher Sie Daten exportieren möchten Datei -> Ausführen
MehrTechNote: Exchange Journaling aktivieren
Produkt: Kurzbeschreibung: NetOrchestra MA Emailarchivierung Exchange Journaling aktivieren Diese Anleitung hilft Ihnen, das nachfolgend geschilderte Problem zu beheben. Dazu sollten Sie über gute bis
MehrNutzung paralleler Prozesse bei der Umweltsimulation
Nutzung paralleler Prozesse bei der Umweltsimulation RALF Wieland rwieland@zalf.de ZALF/LSA Nutzung paralleler Prozesse bei der Umweltsimulation p. 1 Warum parallele Prozesse? Die Steigerung der Taktfrequenz
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrKonzepte der parallelen Programmierung
Fakultät Informatik, Institut für Technische Informatik, Professur Rechnerarchitektur Konzepte der parallelen Programmierung Parallele Programmiermodelle Nöthnitzer Straße 46 Raum 1029 Tel. +49 351-463
MehrEinführung in Eclipse und Java
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik
MehrSharePoint Workspace 2010 Installieren & Konfigurieren
[Geben Sie Text ein] SharePoint Workspace 2010 Installieren & Konfigurieren SharePoint Workspace 2010 Installieren & Konfigurieren Inhalt SharePoint Workspace 2010 Installieren... 2 SharePoint Workspace
MehrParallele Programmierung mit MPI
Parallele Programmierung mit MPI Marc-Oliver Straub entstanden aus: Parallele Programmierung mit MPI - ein Praktikum Warum Parallelprogrammierung große numerische Probleme (Simulation) optische Bildverarbeitung
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrTask A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003
Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme
MehrDurchführung der Datenübernahme nach Reisekosten 2011
Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,
MehrParalleles Programmieren mit MPI und OpenMP
Paralleles Programmieren mit MPI und OpenMP Vorlesung «Algorithmen für das wissenschaftliche Rechnen» 6.5.2002 Olaf Schenk, Michael Hagemann 6.5.2002 Algorithmen des wissenschaftlichen Rechnens 1 Organisatorisches
MehrAnleitung zur Nutzung des SharePort Utility
Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner
MehrÜbersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
MehrJannis Beese, Universität Stuttgart, Ferienakademie 2009
Jannis Beese, Universität Stuttgart, Ferienakademie 2009 I. Was ist OpenMP? II. Konzepte III. Beispiele IV. Sichtbarkeit von Daten V. Kompilier-Vorgang VI. Effizienz 01.10.2009 Jannis Beese Portable, shared-data
MehrDieses Dokument beschreibt, wie mit FreeFileSync eine einfache Daten-Synchronisation auf gemanagten Geräten eingerichtet wird.
IT Services Support Werftestrasse 4, Postfach 2969, CH-6002 Luzern T +41 41 228 42 42, F +41 41 228 42 43 www.hslu.ch Luzern, 5. August 2015 Seite 1/8 Kurzbeschrieb: Dieses Dokument beschreibt, wie mit
MehrEinrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000
Folgende Anleitung beschreibt, wie Sie ein bestehendes Postfach in Outlook Express, bzw. Microsoft Outlook bis Version 2000 einrichten können. 1. Öffnen Sie im Menü die Punkte Extras und anschließend Konten
MehrBeschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung
Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung
MehrComputerarithmetik ( )
Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur
MehrKundenleitfaden zur Sicheren E-Mail per WebMail
Allgemeines Die E-Mail gehört heute für nahezu jeden von uns zu einem häufig verwendeten digitalen Kommunikationsmittel. Trotz des täglichen Gebrauchs tritt das Thema Sicherheit bei der Übermittlung von
MehrLeitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)
Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...
MehrBenutzerhinweise: IGW/920-SK/92 COM Port Redirector
Benutzerhinweise: IGW/920-SK/92 COM Port Redirector Das Web-basierte Benutzerinterface des IGW/920 als OpenVPN-basierter Security Proxy ermöglicht auch die Konfiguration des integrierten COM Port Redirectors.
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrInstallation von Office 365 auf einem privaten PC
Installation von Office 365 auf einem privaten PC Schülerinnen und Schüler des Stiftsgymnasiums haben die Möglichkeit, auf Ihren privaten PCs kostenlos Microsoft Office 365 zu installieren. Dieser Anleitung
MehrVersion 0.3. Installation von MinGW und Eclipse CDT
Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.
MehrUmstieg auf Microsoft Exchange in der Fakultät 02
Umstieg auf Microsoft Exchange in der Fakultät 02 Der IT-Steuerkreis der Hochschule München hat am am 26.07.12 einstimmig beschlossen an der Hochschule München ein neues Groupware-System auf der Basis
MehrEinführung in die Programmierung
Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und
MehrMicrosoft Update Windows Update
Microsoft bietet mehrere Möglichkeit, Updates durchzuführen, dies reicht von vollkommen automatisch bis zu gar nicht. Auf Rechnern unserer Kunden stellen wir seit September 2006 grundsätzlich die Option
MehrINHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA
INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 VORBEDINGUNGEN Als Vorbedingungen sollte bereits
MehrÜbung 8: Semaphore in Java (eigene Implementierung)
Übung 8: Semaphore in Java (eigene Implementierung) Ziel der Übung: Diese Übung dient dazu, eine eigene Implementierung einer Semaphore-Klasse in der Programmiersprache Java kennenzulernen. Anschließend
MehrUpdatehinweise für die Version forma 5.5.5
Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x
Mehr10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall
5.0 10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows XP-Firewall konfiguriert und
MehrUmgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.
ewon - Technical Note Nr. 001 Version 1.3 Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten. 19.10.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten
MehrAutomatisches Beantworten von E-Mail- Nachrichten mit einem Exchange Server-Konto
Automatisches Beantworten von E-Mail- Nachrichten mit einem Exchange Server-Konto Sie können Microsoft Outlook 2010 / Outlook Web App so einrichten, dass Personen, die Ihnen eine E- Mail-Nachricht gesendet
MehrI N S T A L L A T I O N S A N L E I T U N G
I N S T A L L A T I O N S A N L E I T U N G A O D B E D I E N U N G S A N L E I T U N G Diese Anleitung wird Ihnen Schritt für Schritt bei der Instalation vom Print Manager und beim Ausdruck Ihres ersten
MehrLeistungen der Pflegeversicherung ab 1.1.10
Leistungen der Pflegeversicherung ab 1.1.10 Bei Nutzung der Tagespflege erhält der Versicherte den 1,5 fachen Satz (entspricht 150%) an Leistungen. Alle Leistung können einzeln nie mehr als 100 % ergeben!
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrMETTLER TOLEDO ETHERNET-Option
Diese Anleitung beschreibt die Konfiguration und den Test der METTLER TOLEDO ETHERNET- Option für den Einsatz in einem Netzwerk. Die grundlegende Konfiguration der ETHERNET-Option ist über das Vision-Menü
Mehr... Client 1. Request. Reply. Client 2. Server. Client n. Günther Bengel Grundkurs Verteilte Systeme 3. Auflage Vieweg Verlag 2004 ISBN 3-528-25738-5
1 2... n Abbildung 2-1: s und C + S Synchrone Kommunikation Warte auf Zurückgestellte synchrone Kommunikation Arbeite weiter Überprüfe periodisch das Vorliegen des Asynchrone Kommunikation Registriere
MehrSharePoint Demonstration
SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit
MehrThreads und OpenMP. Frank Mietke <frank.mietke@informatik.tu-chemnitz.de> Cluster- & Gridcomputing Frank Mietke 7/4/04
Threads und OpenMP Frank Mietke 1 Ziel der Vorlesungen Einführung in Threads Programmierung mit Threads Einführung in OpenMP Programmierung mit OpenMP 2 Was ist
Mehr:: Anleitung Hosting Server 1cloud.ch ::
:: one source ag :: Technopark Luzern :: D4 Platz 4 :: CH-6039 Root-Längenbold LU :: :: Fon +41 41 451 01 11 :: Fax +41 41 451 01 09 :: info@one-source.ch :: www.one-source.ch :: :: Anleitung Hosting Server
MehrFastViewer Remote Edition 2.X
FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden
MehrMicrocontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1
Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated
Mehr