MTS 2009: Programowanie równoległe
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.
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);
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ł
Komentarze (2)
@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.
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?
Najpopularniejsze
- Pierwsze w Polsce testy transmisji danych z...
- Magdalena Gaj została Przewodniczącą Rady...
- Asseco wątpi w obiektywny wybór dostawcy w...
- Raport Państwo 2.0, czyli nowa wizja...
- Sygnity: wezwanie Asseco i sezonowość...
- Ogromna liczba komputerów Mac wciąż...
- Nasza Klasa uruchomiła inkubator...
- Google prezentuje okulary z Augmented Reality
- Oracle daje klientom bezpłatny system do...
- CBA kontroluje przetargi związane z CEPiK
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






