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

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

Zarządzanie po japońsku

W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
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