Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Parallel Extension czyli programowanie równoległe != współbieżne na platformie .NET Framework 4.0 Wojciech Grześkowiak w.grzeskowiak@gmail.com.

Podobne prezentacje


Prezentacja na temat: "Parallel Extension czyli programowanie równoległe != współbieżne na platformie .NET Framework 4.0 Wojciech Grześkowiak w.grzeskowiak@gmail.com."— Zapis prezentacji:

1 Parallel Extension czyli programowanie równoległe != współbieżne na platformie .NET Framework 4.0 Wojciech Grześkowiak

2 Agenda Rzut oka na rynek procesorów Idea programowania równoległego
Pierwszy kontakt z Parallel Extension Task Parallel Library od kuchni LINQ po raz drugi Podsumowanie

3 Rynek procesorów Prawo Moore’a
Liczba tranzystorów w układzie elektrycznym podwaja się co miesiące. Kres procesorów jednordzeniowych Alternatywa: Procesory wielordzeniowe

4 Rynek procesorów Intel™

5 Procesory wielordzeniowe
"Różnica jest taka jak między szybkim sportowym autem, a autobusem szkolnym. Pierwszy szybko przewiezie dwie osoby, a drugi, choć trochę wolniej - czterdzieści„ – Dan Reed

6 Przyszłość … Analitycy z firmy Forrester Research przewidują, że już w 2012 roku rozbudowane procesory wyposażone w 64 rdzenie będą instalowane w komputerach domowych. Już niedługo zabraknie programistów z doświadczeniem w tworzeniu aplikacji wykorzystujących przetwarzanie równoległe. – Dan Reed … To już ostatni dzwonek, aby przekonać młodych programistów o wartości przetwarzania równoległego - dodaje

7 Równoległe != Współbieżne
Współbieżność – wykonywane wątki są przełączane co pewien ustalony (krotki) czas, przez co mamy wrażenie równoległego ich wykonywania. SINGLE CORE Równoległość – wątki są wykonywanie fizycznie równolegle na różnych jednostkach obliczeniowych MULTI CORE

8 DEMO Ray Tracing

9 Parallel Extension Biblioteka .NET napisana w C#
Lekkie środowisko uruchomieniowe Wsparcie wielowątkowości Wspólny model wyjątków Wejdzie w skład mscorlib w przyszłej wersji platformy

10 Walk Tree Imperative Task Parallelism
DEMO Walk Tree Imperative Task Parallelism

11 Task Manager LQ WG LQ LQ T6 T7 T5 LQ T4 GLOBAL QUEUE T3 T2 T1

12 Imperative Task Parallelism
Task zamiast Thread Zalety Brak nakładu związanego z przełączaniem kontekstu Mniejsze zużycie pamięci Równomierny rozkład pracy Skalowalność

13 Matrix Imperative Data Parallelism
DEMO Matrix Imperative Data Parallelism

14 Imperative Data Parallelism
Parallel class Zbiór statycznych metod Metody pomocnicze do tworzenia Task’ów Realizacja podstawowych wzorców For ForEach Invoke

15 Prime Numbers Declarative Data Parallelism
DEMO Prime Numbers Declarative Data Parallelism

16 Declarative Data Parallelism
PLINQ to „Równoległy” Linq to Objects N – krotny wzrost wydajności Minimalny wpływ na dotychczasowy Linq var q = from p in people.AsParallel() where p.age < MaxAge && p.age > MinAge && p.state == STATE order by age ascending select p;

17 Kilka rad... Szukajmy w naszych aplikacjach nie zależnych zadań i uruchamiajmy je równolegle. np. rekurencja Unikajmy synchronizacji Operacje wykonywane równolegle powinny być czasochłonne. Przekształcajmy jedynie pętle zewnętrzne

18 (video) Literatura Channel 9
MSDN MSDN Blogs Microsoft Connect https://connect.microsoft.com/VisualStudio/

19


Pobierz ppt "Parallel Extension czyli programowanie równoległe != współbieżne na platformie .NET Framework 4.0 Wojciech Grześkowiak w.grzeskowiak@gmail.com."

Podobne prezentacje


Reklamy Google