Task Parallel Library. Ralf Abramowitsch Vector Informatik GmbH
|
|
- Werner Graf
- vor 8 Jahren
- Abrufe
Transkript
1 Task Parallel Library Ralf Abramowitsch Vector Informatik GmbH
2 Moore s Gesetz: Alle 2 Jahre verdoppelt sich die Leistung von CPUs Quelle:
3 Herb Sutter s The Free Lunch Is Over blications/concurrency -ddj.htm
4 Programmierung für Multi-Core CPU s Multi-Processing Multi-Threading Programme müssen für Multi-Core angepasst werden
5 Modell über die Beschleunigung von Programmen durch parallele Ausführung Geschwindigkeitszuwachs durch den sequentiellen Anteil des Problems beschränkt, da sich dessen Ausführungszeit durch Parallelisierung nicht verringern lässt
6 Erklärung Speedup: S Sequentieller Anteil: (1-P) Paralleler Anteil: (P / N) Aufwand für Synchronisierung: o(n) Konsequenz P muss groß genug sein, damit die Aufwände für Parallelisierung nicht deren Nutzen auffressen
7 Tasks nutzen den.net Thread Pool Minimaler Aufwand zum Verwenden von Threads Load Balancing Rückgabe von Threads an Thread Pool Thread Pool Threads limitiert ThreadPool.GetMaxThreads Maximale Anzahl Threads in Pool ThreadPool.GetAvailableThreads Noch verfügbare Threads im Pool
8 Pro Prozess ein Thread Pool Neue Anforderungen über Warteschlange: QueueUserWorkItem Muss eine Anforderung länger als eine halbe Sekunde warten, wird neuer Pool-Thread erzeugt Maximal jedoch GetMaxThreads Wird Pool-Thread 30 Sekunden nicht benötigt, wird Thread aus dem Pool entfernt
9 Thread Pools in.net Klassenbibliothek: Asynchrone Aufrufe Socket-Verbindungen I/O-Completion Ports Timer
10 Einschränkungen Thread-Priorität kann nicht geändert werden Aufgaben dürfen nicht lange laufen bzw. andere Threads blockieren Thread Pool Threads können nicht identifiziert werden (z.b. Join)
11 Es gibt zwei Möglichkeiten: System.Linq.ParallelEnumerable-Klasse AsParallel-Erweiterungsmethode Ziel: Parallele Datenabfragen mit LINQ
12 string[] cities = { "Stuttgart", "Ludwigsburg", "Berlin", "Köln", "Hamburg", "München", "Leipzig", "Frankfurt" }; var q = from x in cities.asparallel() where x.length < 7 orderby x select x;
13 System.Threading.Tasks.Parallel Aufteilung von Schleifen in Threads aus dem Thread Pool Voraussetzung Schleifendurchläufe sind unabhängig voneinander Problem z.b.: a[i] = a[i 1] * 2
14 Thread-Synchronisierung an Schleifenende Thread-Local Variablen Die Laufvariable darf nicht als lokale Variable deklariert werden
15 Parallelisierung von foreach Reihenfolge nicht deterministisch string[] cities = { "Stuttgart", "Ludwigsburg", "Berlin", "Köln", "Hamburg", "München", "Leipzig", "Frankfurt" }; Parallel.ForEach(cities, item => { Console.WriteLine("Die Stadt {0} hat {1} Zeichen.", item, item.length); });
16 Codebeispiel: Parallelisieren einer Schleife Codebeispiel: Performance-Messung Codebeispiel: Parallelisierung einer unausgewogenen Schleife
17 Unausgewogene Schleifen for(int i = 0; i < 1000; i++) { if(i < 500) { DoLongCalculation(); } else { DoShortCalculation(); } }
18 Schleifen-Partitionierung kleine Arbeitseinheiten Sobald ein Thread mit einer Arbeitseinheit fertig ist, bekommt er die nächste, bis die Arbeit komplett erledigt ist
19 Codebeispiel: Partitioner
20 Achtung bei schreibendem Zugriff auf Klassenvariablen oder statischen Variablen Keine Fehlermeldungen (vom Compiler, Runtime) Ergebnisse sind falsch ( Data Race ) REGEL: Es darf nur ein Thread gleichzeitig schreibend zugreifen Ggf. synchronisieren, d.h., schreibende Zugriffe werden nacheinander abgewickelt Achtung: Performance!
21 Schleifendurchläufe sind nicht unabhängig voneinander D.h., in Schleifendurchlauf #i wird auf Daten zugegriffen, die im Schleifendurchlauf #j berechnet werden, wobei gilt: i!= j Z.B.: a[i] = a[i-1] + 1 Abhilfe: Den Algorithmus ändern Werte, die in der Schleife benötigt werden, möglichst aus dem Index berechnen
22 Zusammenfassen von Ergebnissen Locking double sum = 0.0; for(int i = 0; i < 1000; i++) { double y = Math.Sqrt(i); lock() { sum += y; } }
23 Zwischenwerte werden über den sog. ThreadLocalState weitergegeben Ablauf: Vor der Schleifenabarbeitung: LocalState initialisieren Schleifenteil abarbeiten: Im Thread rechnen, LocalState benutzen Nach der Abarbeitung der Teilschleife: Aggregation (Zusammenfassung) der Ergebnisse (Achtung: Locking!!!)
24 Das Ziel ist, möglichst WENIG Locking-Operationen durchzuführen Möglichkeit #1: In jedem Schleifendurchlauf beim Zugriff (Addition) auf dsum findet ein Lock statt Möglichkeit #2: Zwischensumme einer Arbeitseinheit ermitteln, Zwischensumme mit Locking zu dsum addieren
25 int sum = 0; // Parallel.For(from, to, init, body, finally); Parallel.For(0, 1000, () => 0, (i, pls, tls) => { return tls += i; }, (partsum) => { Interlocked.Add(ref sum, partsum); });
26 Codebeispiel: Aggregation
27 Wenn mehrere Threads für die Schleife parallel laufen, dann müssen alle Threads beendet werden Klasse ParallelLoopResult benutzen Berechnung beendet? Klasse ParallelLoopState enthält Break- Methode und eine Stop-Methode Alle Threads werden beendet
28 Codebeispiel: Schleife abbrechen
29 Tipps & Tricks Parallel.For und Parallel.ForEach: (Anzahl der Durchläufe * Dauer) muss groß genug sein Nicht vergessen: Amdahl s Gesetz! Möglichst wenig Synchronisierung verwenden
30 Die Anzahl der zu verwendenden Threads wird mit der ParallelOptions Klasse definiert MaxDegreeOfParallelism = -1 Alle Kerne und Prozessoren werden ausgenutzt In bestimmten Fällen kann es auch sinnvoll sein, die Anzahl der benutzten Threads auf > Kerne * Prozessoren zu setzen
31 Codebeispiel: Festlegen der Thread auf 2
32 Unabhängiger Code kann parallel ausgeführt werden Häufigstes Problem: Gleichzeitiger Zugriff auf die gleichen Daten (schreibend) Ohne Nachdenken geht da gar nichts! Wichtige Methode: Parallel.Invoke Auch hier: Unterschiedliche Schreibweisen möglich
33 Codebeispiel: Berechnung parallelisieren
34 Die Task-Klasse wird benötigt, um erweiterte Parallelisierungprobleme zu lösen Vergleichbar mit der ThreadPool-Klasse: ThreadPool.QueueUserWorkItem(delegate { }); ist ähnlich wie: Task.Factory.StartNew(delegate { });
35 Die TPL benutzt nun den.net ThreadPool als Standard-Scheduler Der ThreadPool hat mehrere Vorteile: Work-stealing queues werden intern in der TPL benutzt Hill-climbing-Methoden, wurden eingeführt, um die optimale Thread-Anzahl zu ermitteln Synchronisierungsmechanismen (wie SpinWait und SpinLock) werden intern verwendet
36
37 Wichtige Features: Synchronisierung von parallelen Ausführungseinheiten Task.Wait(), WaitAll(), WaitAny() Abbrechen von Ausführungseinheiten Cancelation Framework
38 Codebeispiel: Tasks
39 Übergabe von Parametern im Funktionsaufruf möglich Achtung: Seiteneffekte, wenn man es falsch macht Lösung 1: Übergabe der Parameter mit Parametern der Lambda-Funktion Lösung 2: Deklaration lokaler Variablen in der Schleife
40 Codebeispiel: Parameter und Tasks
41 Tasks können kontrolliert werden Created WaitingForActivation WaitingToRun RanToCompletion Canceled Faulted WaitingForChildrenToComplete
42 Tasks sind gut in sehr unausgewogenen Schleifen for(int i = 0; i < n; i++) { for(int j = 0; j < i; j++) { for(int k = 0; k < i; k++) { for(int l = 0; l < k; l++) { // Do Work } } } }
43 Lösung 1: Schleife (außen) mit Parallel.For parallelisieren Achtung: Die Schleifendurchläufe werden zum Schluss immer länger Der Scheduler kann die Teilschleifen nur schlecht aufteilen, so dass alle Prozessoren gleichmäßig ausgelastet sind Lösung: Schleifen rückwärts laufen lassen und Tasks benutzen (Task mit dem beiden inneren Schleifen)
44 Codebeispiel: Nested Loops Codebeispiel: Nested Loops Tasks
45 Die Klasse ermöglicht die asynchrone Berechnung von Daten Wenn später dann die berechneten Daten weiter benutzt werden sollen, wird geprüft, ob die Berechnung bereits abgeschlossen ist Sonst wird gewartet. = Synchronisierung Kann man Task<TResult>-Variablen in Anwendungen mit einer Benutzerschnittstelle benutzen?
46 Codebeispiel: Futures
47 Sequentielle Anwendung zu einer Zeit eine Exception Parallele Anwendung Mehrere Exceptions zu einem Zeitpunkt Reihenfolge nicht deterministisch
48 Alle aufgetretenen Exceptions werden in einem Objekt der Klasse System.Threading.AggregateException eingesammelt Wenn alle Threads angehalten sind, dann wird die AggregateException neu geworfen und kann bearbeitet werden Die einzelnen Exceptions können über das Property InnerExceptions abgefragt werden (eine Collection der aufgetretenen Exceptions)
49 Welche Klassen werfen AggregateException- Objekte? Die Parallel-Klasse Die Task-Klasse Die Task<TResult>-Klasse Parallel LINQ (Abfragen)
50 Codebeispiel: Concurrent Exceptions
51 Die Synchronisierung soll den Zugriff auf begrenzte Ressourcen des Rechners steuern, wenn mehrere Threads gleichzeitig darauf zugreifen wollen Variablen (RAM) Codeteile LPT-, COM- und USB-Schnittstellen
52 Eine Synchronisierung beinhaltet immer die Gefahr eines Deadlocks Thread A wartet auf die Resource Thread B hat die Resource in Benutzung Thread B wartet auf Thread A
53 Allgemeine Regeln: Nicht zu viel synchronisieren Langsam Nicht zu wenig synchronisieren Falsch Die richtige Sychronisierungsmethode wählen Keine eigenen Synchronisierungselemente programmieren Schwierig
54 Standard-Synchronisierungsmechanismen: Monitor, lock (C#) Interlocked-Klasse Mutex WaitHandle
55 Barrier CountDownEvent LazyInit<T> ManualResetEventSlim SemaphoreSlim SpinLock SpinWait WriteOnce<T> Collections (Stack, Queue, Dictionary)
56 Die goldene Regel gilt natürlich auch hier! WPF oder WinForms laufen im STA Sie dürfen nur aus dem Thread auf Controls zugreifen, im dem Sie die Controls erzeugt haben Ab Framework 2.0: Exception im Debug-Modus
57 WindowsForms: Benutzung von InvokeRequired zum Test, ob der richtige Thread Benutzung von BeginInvoke zum Umschalten in den richtigen Thread Windows Presentation Foundation: Benutzung von Dispatcher.VerifyAccess oder Dispatcher.CheckAccess zum Test, ob der richtige Thread Benutzung von Dispatcher.Invoke zum Umschalten in den richtigen Thread
58 Codebeispiel: TPL WinForms
59 Erweiterungen zusätzlich zu ContinueWith: ContinueWhenAll ContinueWhenAny Leistungsfähiges Konzept für die Fortführung der Arbeit, wenn bestimmte Teilaufgaben erledigt sind
60 Die alte Klasse TaskManager wurde ersetzt durch die TaskScheduler-Klasse Neue WorkStealing-Queues im ThreadPool TaskScheduler ist eine abstrakte Basisklasse Man kann davon ableiten und eigene TaskScheduler s programmieren Interessant für spezielle Szenarien Z.B.: spezielle Prioritätsverwaltung
61 Codebeispiel: Task Scheduler
62 Ein weiteres spezielles Szenario für die Benutzung eines TaskScheduler s: Zugriff auf das User Interface Die alte Regel gilt immer noch Ablauf: Asynchrone Berechnung im Task Fortführung mit ContinueWith (z.b. Ergebnisausgabe) aber im korrekten Thread-Kontext ( im UI-Thread) Früher: Benutzung von Invoke
63 Einfaches Abschießen (Kill) von Threads ist keine gute Lösung Offene Dateien??? Locks??? Schreibende Zugriffe??? Genutzte Resourcen??????
64 Das Beenden von Threads muss kooperativ erfolgen Der Thread kann nur an bestimmten Stellen beendet werden Der Thread kann selbst entscheiden, wann er beendet wird Abhängige Threads werden ebenfalls beendet Gutes Beispiel: BackgroundWorker-Control (ab.net Framework 2.0)
65 Anlegen eines CancellationTokenSource-Objektes Das CancellationToken-Objekt wird an alle Threads übergeben, die über das eine Source-Objekt beendet werden können In den Threads wird das Token-Objekt über das Property IsCancellationRequested abgefragt Alle Threads des Source-Objekts werden über die Cancel- Methode des Source-Objektes beendet
66 Ggf. wird dann aufgeräumt Nach dem Aufräumen wird aus dem Thread eine OperationCanceledException geworfen Diese kann im aufrufenden (Main-) Thread eingefangen und verarbeitet werden
67 Codebeispiel: Tasks abbrechen
68 ist in parallelen Programmen gar nicht so einfach Parallelprogrammierung hat meistens einen Grund: Performance-Steigerung Messgrößen sind also: Richtigkeit des Ergebnisses Ausführungszeit
69 Häufiges Problem: Die Anwendung skaliert nicht mehr mit Erhöhung der Prozessoranzahl Zeit
70 Performance-Tests mit Visual Studio
71 Es gibt zwei neue Debugging-Fenster in Visual Studio 2010 Fenster: Parallel Tasks Fenster: Parallel Stacks Für native und für managed Code Die Fenster können geöffnet werden, wenn ein Breakpoint angelaufen wurde Debug > Windows > Parallel Tasks Debug > Windows > Parallel Stacks
72 Parallel Tasks-Fenster: Unterstützung des Task-basierten Programmierens Auflistung aller Tasks Waiting, Running, Scheduled, Ausgaben können konfiguriert und gruppiert werden
73 Parallel Stacks-Fenster: In modernen Anwendungen laufen oft mehrere Threads gleichzeitig Das Fenster zeigt die hierarchische Aufrufreihenfolge von Threads an siehe Call-Stack (ohne Threading-Info s) Ausgaben können in unterschiedlicher Weise dargestellt werden TopDown, BottomUp, Zooming, Panning,
74 Suche nach Deadlocks ist mit dem VS- Debugger möglich Benutzung des Parallel-Tasks-Fensters
75 Beispiel: Deadlock
76 OpenMP Für C, C++ MPI (Message Passing Interface) (C, C++, FORTRAN,.NET) Parallel Pattern Library (PPL) Eine Erweiterung für C++ in VS 2010
77 Cilk (Intel) C/C++ TBB (Intel Threading Building Blocks) C++ Parallelverarbeitung in der Grafikkarte CUDA (NVIDIA) OpenCL (KRONOS group) AMP (Microsoft)
Multi-Threading. Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de
Multi-Threading Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de Einführung in Threads Threads synchronisieren ThreadPools Thread = unabhängiger Ausführungspfad, der gleichzeitig
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
MehrTTS - TinyTimeSystem. Unterrichtsprojekt BIBI
TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen
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
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
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
MehrTutorial - www.root13.de
Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrInternet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
MehrHandbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager
Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung
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
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
MehrException Handling, Tracing und Logging
Exception Handling, Tracing und Logging Proseminar Objektorientiertes Programmieren mit.net und C# Tomas Ladek Institut für Informatik Software & Systems Engineering Agenda Exceptions Allgemeines Implementierung
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.
MehrSoftwarelösungen: Versuch 4
Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]
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
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
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
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
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
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
Mehr! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006
!"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst
MehrSEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
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 --
MehrDie nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.
Schritt für Schritt Anleitung zur Einrichtung Ihrer neuen Festplatte Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista. Schließen Sie Ihre Festplatte an Ihrem Computer an.
MehrEine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
MehrWas meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
MehrDrucken aus der Anwendung
Drucken aus der Anwendung Drucken aus der Anwendung Nicht jeder Großformatdruck benötigt die volle Funktionsvielfalt von PosterJet - häufig sind es Standarddrucke wie Flussdiagramme und Organigramme die
Mehr.NET Code schützen. Projekt.NET. Version 1.0
.NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll
MehrStepperfocuser 2.0 mit Bootloader
Stepperfocuser 2.0 mit Bootloader Info Für den Stepperfocuser 2.0 gibt es einen Bootloader. Dieser ermöglicht es, die Firmware zu aktualisieren ohne dass man ein spezielles Programmiergerät benötigt. Die
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...
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
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...
Mehr9 Multithreading. 1 Idee des Multithreading
9 Multithreading Jörn Loviscach Versionsstand: 21. Juli 2015, 11:50 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed
Mehrec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt
ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrQt-Projekte mit Visual Studio 2005
Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung
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()
MehrEinführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition
In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,
MehrOutlook-Daten komplett sichern
Outlook-Daten komplett sichern Komplettsicherung beinhaltet alle Daten wie auch Kontakte und Kalender eines Benutzers. Zu diesem Zweck öffnen wir OUTLOOK und wählen Datei -> Optionen und weiter geht es
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
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
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
Mehr2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:
2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway
MehrLDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH
LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH MATESO GmbH Daimlerstraße 7 86368 Gersthofen www.mateso.de Dieses Dokument beschreibt die Konfiguration
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrPHP - Projekt Personalverwaltung. Erstellt von James Schüpbach
- Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6
MehrEasyWk DAS Schwimmwettkampfprogramm
EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage
Mehr20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem
20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte
MehrInstallation des Authorware Webplayers für den Internet Explorer unter Windows Vista
Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung
MehrHow to install freesshd
Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem
MehrDas große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten
Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während
MehrErweiterung AE WWS Lite Win: AES Security Verschlüsselung
Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1
MehrWindows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen
Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Das können wir Ihnen versprechen: An der neuen Taskleiste in Windows 7 werden Sie sehr viel Freude haben. Denn diese sorgt
MehrBSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015
1 BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015 Installation Um den Support der BSV zu nutzen benötigen Sie die SMP-Software. Diese können Sie direkt unter der URL http://62.153.93.110/smp/smp.publish.html
MehrVirtual Channel installieren
Virtual Channel installieren Inhaltsverzeichnis 1. Voreinstellungen... 3 2. Virtual Channel herunterladen... 3 3. Virtual Channel konfigurieren... 4 4. Ausdruck... 6 5. Tipps und Tricks... 7 Sorba EDV
MehrINDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline
Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
MehrAblaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole
Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:
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
MehrE-Mail Adressen der BA Leipzig
E-Mail Adressen der BA Jeder Student der BA bekommt mit Beginn des Studiums eine E-Mail Adresse zugeteilt. Diese wird zur internen Kommunikation im Kurs, von der Akademie und deren Dozenten zur Verteilung
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrInformatik 2 Labor 2 Programmieren in MATLAB Georg Richter
Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und
Mehr26. November 2007. EFS Übung. Ziele. Zwei Administrator Benutzer erstellen (adm_bill, adm_peter) 2. Mit adm_bill eine Text Datei verschlüsseln
EFS Übung Ziele Zwei Administrator Benutzer erstellen (adm_bill, adm_peter) Mit adm_bill eine Text Datei verschlüsseln Mit adm_peter einen Ordner verschlüsseln und darin eine Text Datei anlegen Dem Benutzer
MehrSoftwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten
Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm
MehrNovell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme
Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
Mehr... ... Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3
Browsereinstellungen Um die Know How! Lernprogramm nutzen zu können, sind bei Bedarf unterschiedliche Einstellungen in Ihren Browsern nötig. Im Folgenden finden Sie die Beschreibung für unterschiedliche
MehrLokale Installation von DotNetNuke 4 ohne IIS
Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
MehrDatenbank-Verschlüsselung mit DbDefence und Webanwendungen.
Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine
MehrVerbinden. der Firma
Verbinden mit dem SFTP-Server der Firma So einfach gehts: mit dem MAC (Mac OS X) mit dem PC (Windows XP) (bitte anklicken) SFTP-Server Benutzung beim Apple MacIntosh (Mac OS X) Zurück zur Auswahl SFTP-Server
MehrLive Online Training der Bremer Akademie für berufliche Weiterbildung. Hinweise für den Verbindungaufbau zu den Systemen der Bremer Akademie
Live Online Training der Bremer Akademie für berufliche Weiterbildung Hinweise für den Verbindungaufbau zu den Systemen der Bremer Akademie Um am Live Online Training der Bremer Akademie teilnehmen zu
MehrAnlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt
Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert
MehrRechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol
Rechenzentrum der Ruhr-Universität Bochum Integration von egroupware an der RUB in Outlook 2010 mit Funambol Um die Daten in Ihrem egroupware-account (Adressen, Termine, etc.) in Outlook zu verwenden,
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrKurzfassung der Studienarbeit
Kurzfassung der Studienarbeit Abteilung Informatik Namen der Studenten Roman Widmer Mikkala Pedersen Studienjahr Sommersemester 2004 Titel der Studienarbeit.NET Skript Debugger Examinator Der GUI-Builder
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrZugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:
Anleitung zur Installation der Exchange Mail Lösung auf Android 2.3.5 Voraussetzung für die Einrichtung ist ein vorliegender Passwortbrief. Wenn in der folgenden Anleitung vom Extranet gesprochen wird
MehrInstallation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
Mehrteischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep
teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen
MehrLizenzen auschecken. Was ist zu tun?
Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
MehrSJ OFFICE - Update 3.0
SJ OFFICE - Update 3.0 Das Update auf die vorherige Version 2.0 kostet netto Euro 75,00 für die erste Lizenz. Das Update für weitere Lizenzen kostet jeweils netto Euro 18,75 (25%). inkl. Programmsupport
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
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
MehrC++ Tutorial: Timer 1
C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und
MehrOUTLOOK-DATEN SICHERN
OUTLOOK-DATEN SICHERN Wie wichtig es ist, seine Outlook-Daten zu sichern, weiß Jeder, der schon einmal sein Outlook neu installieren und konfigurieren musste. Alle Outlook-Versionen speichern die Daten
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrPowermanager Server- Client- Installation
Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server
MehrProzentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:
Prozentrechnung Wir beginnen mit einem Beisiel: Nehmen wir mal an, ein Handy kostet 200 und es gibt 5% Rabatt (Preisnachlass), wie groß ist dann der Rabatt in Euro und wie viel kostet dann das Handy? Wenn
MehrVirtual Private Network
Virtual Private Network Allgemeines zu VPN-Verbindungen WLAN und VPN-TUNNEL Der VPN-Tunnel ist ein Programm, das eine sichere Verbindung zur Universität herstellt. Dabei übernimmt der eigene Rechner eine
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
Mehriphone-kontakte zu Exchange übertragen
iphone-kontakte zu Exchange übertragen Übertragen von iphone-kontakten in ein Exchange Postfach Zunächst muss das iphone an den Rechner, an dem es üblicherweise synchronisiert wird, angeschlossen werden.
Mehr