Parallele Programmierung im.NET Framework Darmstadt, 08.12.2014 Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

C Sharp (C#) Martin Saternus Senior Student Partner
Objektorientierte Programmierung
Designing Software for Ease of Extension and Contraction
Multithreading mit .NET Jetzt besonders günstig in allen Sprachen
Objektorientierter Entwurf
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Funktionsmerkmale und Vorteile Die Intel Core i7 Prozessoren der zweiten Generation verfügen über folgende Funktionsmerkmale: Die Intel® Turbo-Boost-Technik.
Java: Dynamische Datentypen
Indirekte Adressierung
Nebenläufige Programmierung
Simon Georg Pinkel Alice Server Pages Funktionale Programmierung und das Web.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Komponentenbasierter Taschenrechner mit CORBA
XINDICE The Apache XML Project Name: Jacqueline Langhorst
7 Verteilungsabstraktion
Introducing the .NET Framework
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
1 WS 2012 Software-Engineering II Aspektorientierung.
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
Random Heightmap on GPU
Systementwicklungsprojekt:
SEP Halgurt Mustafa Ali Can Önder Marius Morawski Matthias Seidl Themen: Integration von RDQL und OWQL innerhalb des Apache Cocoon Frameworks Semantische.
Entwicklung verteilter eingebetteter Systeme - Einführung
Plattformunabhängige Programmiersprache
Duo- und Quad Prozessor-Architektur
Parallelprogrammierung mit der TPL und .NET 4.0
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Performance-Optimierung in JAVA
SQL Server 2005 CLR-Integration
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
Parallel Matrix Multiplication
Parallel Programming Condition Queues
Eine Präsentation von Peter Rasser
CGI (Common Gateway Interface)
Bernd Marquardt Software+Consulting. Einführung Download, Voraussetzungen, Installation Parallelerweiterungen für das Framework Schleifen parallelisieren.
Was dir Trivialbeispiele in Async and Await nicht sagen! Marcus Kimpenhaus und Martin Möllenbeck.
Thread Synchronisation in JAVA
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Seminar aus Softwareentwicklung
Letzte Chance!!! Exceptions Thread, Runnable Synchronized Wait, notify, notifyAll Thread States Semaphoren JCSP Swing JOMP Linearizability History Amdahl‘s.
1 Erstellung von Funktionen und FBs Inklusive der Erstellung einer Library.
JOMP
Parallelisierung für Multiprozessor-Maschinen Teil 2.
Parallele Programmierung mit Java, SS 2001 Spar/Timber - Programmiersprache und Compiler für high-performance Berechnungen Technische Universität München.
Parallele Programmierung in Java
Parallelisierung für Multiprozessor-Maschinen
Von Sven, Tobias und Philippe. Inhalt: 1.Geschichte 2.Grundkonzepte der Sprache 3.Anwendungsarten 4.Ähnliche Programmiersprachen 5.Konkrete Beispiele.
Datenbanken im Web 1.
2.3 Implementierung von Prozessen
Threads in Java Threads  Sprachumfang von Java Der Java-Standard fordert nur die Unterstützung von Thread-Prioritäten. Es gibt keine Forderung bzgl.:
Stefan Metzlaff1 Cocoon Stefan Metzlaff
Microsoft Student Partner
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
C# LINQ Funktionen höherer Ordnung. Allgemein ● Language Integrated Query ● Verfahren von Microsoft zum Zugriff auf Daten ● Hauptentwickler Erik Meijer.
.NET Threading im Detail
Gewachsene Architektur Das kann nicht funktionieren!
Asynchrone Programmierung in C# mit .Net 4.51
Von Wietlisbach, Lenzin und Winter
«Delegierter» Methoden Schablone Funktionszeiger
 Präsentation transkript:

Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda, Erweiterungsmethoden  Parallele Programmierung  Basis Features  LINQ Extensions und PLINQ (Parallel LINQ)  Task Parallel Library (TPL) und Parallel Namespace  Asynchrone Programmierung  Async und Await

Parallele Programmierung im.NET Framework Grundlagen  Generika  Delegate  Lambda  Erweiterungsmethoden  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Grundlagen - Generika  Generische Klassen und Methoden  Bekannt aus anderen Programmiersprachen  Ermöglicht es Klassen und Methoden zu entwerfen in denen die Angabe eines oder mehrerer Typen bis zur Instanziierung verzögert wird  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Grundlagen - Delegate  Delegate  Es Referenztyp zum Kapseln anonymer Methoden  Bekannt aus C++ (Funktionszeiger)  Im Gegensatz zu Funktionszeigern sind Delegate typsicher  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Grundlagen – Generische Delegate  Generische Delegate  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Grundlagen – Lambda  Lambda Ausdrücke  Eine anonyme Funktion mit der Instanzen von Delegaten erstellt werden können  Typen von Lambda Parametern werden automatisch vom Compiler übersetzt  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Grundlagen – Erweiterungsmethoden  Erweiterungsmethoden  Erlaubt es zu Klassen neue Methoden hinzuzufügen ohne von diesen abzuleiten oder die Klasse neu zu kompilieren  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Grundlagen – Praktisches Beispiel  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Grundlagen – Praktisches Beispiel  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Parallele Programmierung  Parallele Programmierung  Basis Features  System.Threading, Mutex, Semaphor, Monitor,..  Basis für alle Features der Parallel Library  (Parallel)-LINQ  Ein Set von generischen Erweiterungsmethoden zur parallelen Verarbeitung von Auflistungen (Datenparallelität)  Task Parallel Library (TPL)  Eine Fabrik zur erleichterten Erstellung und Bedienung von Threads in Form von Tasks  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Parallele Programmierung – Basis Features  Basis Features  Thread, ThreadPool  Enthält Methoden wie Start, Queue, Abort, Join  Mutex, Semaphor  Enthält Methoden wie WaitOne, Release  Keywords  Volatile, Synchronized (Annotation), Lock  Monitor, Barrier, Interlocked, Timer  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Parallel-LINQ (PLINQ)  Language-Integrated Query  Parallelisierbare Abfragesprache  Auflistungen (In-Memory)  XML  SQL  Nutzt die Daten-Parallelität von Auflistungen zur Verteilung der Iterationen auf mehrere Threads  Erkennt und optimiert die Parallelität der Operation auf Basis von Heuristik  Code Beispiele..  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Task Parallel Library (TPL)  Task Parallel Library (System.Threading.Tasks)  Der Zweck der TPL ist es, die Produktivität der Entwickler zu erhöhen, indem das Hinzufügen von Parallelität und Nebenläufigkeit zu Anwendungen vereinfacht wird  Die TPL skaliert den Grad der Nebenläufigkeit dynamisch, um alle verfügbaren Prozessoren möglichst effizient zu nutzen  Außerdem behandelt die TPL die Partitionierung der Arbeit, die Planung von Threads im ThreadPool, die Abbruchunterstützung, Zustandsverwaltung und andere Details auf niedriger Ebene  Code Beispiele..  Grundlagen  Parallele Programme  Asynchrone Progr.

Parallele Programmierung im.NET Framework Asynchrone Programmierung  Asynchrone Programmierung  Await und Async Keywords  Code Beispiele..  Grundlagen  Parallele Programme  Asynchrone Progr.