MTS 2009: Programowanie równoległe

Subskrybuj RSS A A A
8 września 2009
Sylwester Lewandowski

Dzięki popularyzacji jednostek wielordzeniowych znajdujemy się na etapie, kiedy korzyści płynące ze zrównoleglenia kodu mogą odnieść nawet użytkownicy domowi. Producenci narzędzi programistycznych poszerzają więc ich gamę i przyczyniają się do upowszechnienia tego sposobu programowania.

Przykładowy kod PLINQ
IEnumerable<T> data = ...;
var q = ParallelEnumerable.Select(
ParallelEnumerable.OrderBy(
ParallelEnumerable.Where(data.AsParallel(), (x) => p(x)),
(x) => k(x)),
(x) => f(x));
foreach (var e in q) a(e);
Microsoft do jakiegoś czasu wprowadzał elementy programowania równoległego do swoich produktów. Kolejna wersja flagowego IDE Microsoftu - Visual Studio 2010 - i platforma .NET Framework 4.0 także zawierają wiele nowych funkcji przydatnych programistom tego typu aplikacji. Tak naprawdę jedne z pierwszych rozwiązań na potrzeby programowania równoległego wprowadzono już w Visual Studio 2005. Wtedy to zapewniono wsparcie dla standardu OpenMP dla aplikacji napisanych w zarządzanym i niezarządzanym C++. Standard ten za pomocą odpowiedniego zbioru pragm, funkcji bibliotecznych i zmiennych środowiskowych pozwala zrównoleglić aplikacje.

To był pewien sygnał świadczący o tym, w którym kierunku będzie podążać rozwój tego środowiska, chociaż Visual Studio 2008 samo w sobie nie przyniosło dużo nowości w tej dziedzinie. Można jedynie wspomnieć o dodatku wydanym przez koncern z Redmond pozwalającym na debugowanie programów MPI (Message Passing Interface). MPI to niezależny od języka protokół wykorzystywany do programowania komputerów równoległych. Oprócz tego, MPI jest specyfikacją dla API, która pozwala wielu komputerom na wzajemną komunikację. Jest wykorzystywany w klastrach i superkomputerach. Dodatek ten - jak większość nowych funkcjonalności zapewniających wsparcie dla programowania równoległego - zostanie włączony jako część Visual Studio 2010. Zatem nie powinno dziwić, że Visual Studio 2010 razem z .NET 4.0 ma przyciągać klientów właśnie możliwościami tworzenia równoległego kodu.

Funkcjonalności w .NET 4.0

Oprócz wcześniej wspomnianego debugowania MPI, razem z kolejną wersją .NET i IDE Microsoftu dostaniemy wiele nowych funkcji dla programowania równoległego. Chyba najpopularniejszą z nich jest Parallel Language Integrated Query (PLINQ). Jest to biblioteka pozwalająca opakowywać już istniejące klasy LINQ (Language Integrated Query) dodając do nich jednocześnie metody, które pozwolą na potencjalne równoległe wykonanie operacji, wcześniej mające tylko synchroniczne odpowiedniki. Kolejną nowością wartą wspomnienia jest Task Parallel Library (TPL), która ma stanowić część .NET Framework 4.0. Zyskujemy dzięki niej dostęp do nowych typów i API dołączonych do przestrzeni nazw System.Threading. Ich działanie będzie oparte o nowy scheduler włączony do puli wątków w .NET Framework 4.0.

Celem wprowadzenia tej biblioteki było umożliwienie zrównoleglenia aplikacji bez konieczności jawnego stosowania wątków czy sekcji krytycznych. Tak naprawdę wcześniej wspomniane PLINQ opiera się właśnie o funkcje dostarczone przez TPL. Inna funkcjonalność, jaka pojawi się razem z .NET 4.0, to zbiór kolekcji mających wbudowane mechanizmy synchronizacji pozwalając na bezpieczne i proste korzystanie z nich w aplikacjach wielowątkowych. Razem z tak rozbudowanymi narzędziami do zrównoleglenia kodu nie można było zapomnieć o diagnostyce aplikacji wielowątkowych. Visual Studio 2010 ma dostarczyć podgląd równoległych stosów oraz monitorowanie zadań wykonywanych równolegle, natomiast deweloperska wersja edycji Team System doda profiler dla programów równoległych pozwalający zbierać informacje dotyczące zachowania aplikacji.

Oceń artykuł

średnio: 1 liczba ocen: 1
1  2  dalej »

Komentarze (2)

Windframe

10-09-2009 16:14

@Jedrek a moze po to by isc do przodu a nie korzystac z wymyslow przed X lat? gdyby tak tylko stosowac rzeczy juz wczesniej wymyslone i przyjete to sadze ze pare set KB RAM by nam calkowicie wystarczylo.

Jedrek

10-09-2009 09:43

Znów M$ wymyśla swoje, niestandardowe metody. Dziedzina programowania równoległego jest zbadana (zajmowałem się tym kilka lat temu) i wśród naukowców istnieją sprawdzone rozwiązania i biblioteki - dlaczego tego nie zaimplementować? Bo nie da się opatentować i ciągnąć z tego kasy?

Najnowsze

MAC, czyli ministerstwo reformowania rządzenia

Premier wspiera lojalnie w kryzysie najbliższego współpracownika, Michała Boniego, przyjmując na siebie atak oburzonych internautów podczas debaty o ACTA.

Nowe, unijne zamówienia publiczne

Komisja Europejska proponuje ważne zmiany prawa wspólnotowego w obszarze zamówień publicznych. Warto im się przyjrzeć bo to jeden z elementów nowej perspektywy finansowej UE. Warto zatem przyjrzeć się owej propozycji bliżej.

Bezpieczeństwo rządowych stron - analiza

Zespół zadaniowy ds. ochrony portali rządowych opublikował wytyczne. Trudno stwierdzić, że to najlepsze rekomendacje, jakie można było przy okazji zaistniałych ataków wypracować.

DEBATA: Kiedy walka polityczna w sieci przemienia się w cyberterroryzm?

Skuteczny atak cybernetyczny przyniesie opłakane skutki dla państwa i gospodarki. Boleśnie się o tym przekonaliśmy, gdy nie można było dostać się na strony internetowe najważniejszych instytucji w Polsce.

Czy MSW chce unieważnienia przetargu na pl.ID?

Rośnie ryzyko całkowitego unieważnienia przetargu na nowe dowody osobiste. Krajowa Izba Odwoławcza odrzuciła odwołanie firmy Sygnity, która nie zgadzała się na wydłużenie o trzy miesiące terminu składania ofert na dostawę blankietów nowych dowodów osobistych. Wydłużenie całego postępowania o trzy miesiące może spowodować skargi uczestniczących w nim firm, a w konsekwencji unieważnienie przetargu.

Garść rad dla roztropnego szefa IT

Trudne czasy w gospodarce to okres, kiedy szczególnego znaczenia nabiera hasło: Jak cię widza, tak cię piszą. Osłabienie rynku przekłada się na oszczędności w przedsiębiorstwie, a oszczędności najłatwiej szukać w działach, które, w opinii zarządu, nie są bezpośrednio związane z prowadzoną działalnością - czyli również w dziale IT.

Sprzeczne wizje e-dowodu

Koncepcja elektronicznego dowodu osobistego powstała w Polsce wiele lat temu. Starsze są koncepcje elektronicznego systemu świadczeń ochrony zdrowia. Mimo to, nadal są w trakcie budowy.

Rekomendacje

Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88