Równoległe programowanie

Subskrybuj RSS A A A
8 stycznia 2008
Paweł Matyjasek

Microsoft zaczyna poważne przygotowania do nadejścia systemów wielordzeniowych typu manycore, czyli nieuniknionej popularyzacji programowania równoległego.

Microsoft zaczyna poważne przygotowania do nadejścia systemów wielordzeniowych typu manycore, czyli nieuniknionej popularyzacji programowania równoległego.

Na opublikowanej w listopadzie ub.r. liście 500 światowych superkomputerów (http://www.top500.org) większość systemów jest oparta na procesorach wielordzeniowych. Tylko w ciągu pół roku na liście zanotowano przyrost z 19 do 102 systemów z czterordzeniowymi układami Intela. Wkrótce po tym miała miejsce premiera pierwszego notebooka z procesorem czterordzeniowym Sager NP9261. Trudno więc się dziwić coraz liczniejszym inicjatywom, mającym na celu wspieranie rozwoju programowania równoległego, w tym Microsoftu.

Początek nowej ery

W dokumencie "The Manycore Shift" pojawiły się opinie, że produkowane obecnie procesory to jedynie przedsmak tego, co nadejdzie. Układy o większej niż osiem liczbie rdzeni (określane jako manycore), bo o nich właśnie jest mowa w tym dokumencie, mają spowodować kolejny przełom w przemyśle komputerowym, porównywalny z takimi rewolucjami jak pojawienie się społeczności internetowej czy wprowadzenie graficznych interfejsów użytkownika.

Zmiany te mają być zauważalne nie tylko dla firm, ale i zwykłych użytkowników, którzy oczekują bardziej wyrafinowanych środowisk graficznych. Mają to właśnie umożliwić wielordzeniowe procesory ogólnego przeznaczenia. Aby jednak sprzęt mógł spełnić oczekiwania, niezbędna jest modyfikacja architektury oprogramowania. Stąd takie inicjatywy jak Microsoft Parallel Computing Initiative, które mają na celu przygotowanie producentów oprogramowania do ujarzmienia nowych zasobów sprzętowych. Mają one ułatwić tworzenie nowych architektur oprogramowania przez dostarczenie odpowiednich narzędzi programistycznych, a także aplikacji, które będą w stanie wykorzystać nowe procesory.

Pierwsze narzędzia

".Net Framework 3.5 Parallel Extensions CTP to pierwszy krok na długiej drodze do urzeczywistnienia potencjału, jaki niesie zmiana architektury sprzętowej" - powiedział S. "Soma" Somasegar, wiceprezes Microsoft Developer Division w liście mówiącym o otwarciu nowego działu MSDN.com poświęconego programowaniu równoległemu. "To coś w rodzaju ogólnej nazwy dla kilku różnych technologii, jak Parallel LINQ, Task Parallel Library, które pozwalają programistom na lepsze wykorzystanie równoległości i współbieżności w aplikacjach" - twierdzi Stephen Toub, programista w Microsofcie.

Przekaz dla programistów jest jednoznaczny - "próbujemy powiedzieć Wam, że trzeba tworzyć aplikację równoległą. Aplikację, która wykorzystuje współbieżność, a nie operuje wątkami i oczekuje na zdarzenia". Do pracy z Parallel Extensions nie potrzeba specjalnego kompilatora, gdyż rozszerzenia mają postać kilku bibliotek, a programistom do szczęścia wystarczy jedynie Visual Studio 2008.

Task Parallel Library (TPL) to najniższa warstwa Parallel Extensions. Ukrywa ona przed programistą konieczność zarządzania wątkami, które są zastąpione "zadaniami" (tasks). "Ta biblioteka ma dwa różne zastosowania: na najniższym poziomie pracujemy z typami Task, Future, które są zarządzane przez TaskManagera, inny tryb udostępnia równoległość danych w imperatywnym stylu kodowania i w nim właśnie korzystamy ze statycznej klasy Parallel" - wyjaśnia Daniel Moth z Microsoftu.

PLINQ, czyli Parallel LINQ

W jednym z wywiadów Anders Hejlsberg, architekt LINQ (Language INtegrated Query) - rozszerzeń języka C# i VB.Net - spekulował, że można we względnie prosty sposób wprowadzić równoległość do już istniejącego kodu. Jego niejawne zrównoleglenie mogłoby jednak spowodować pojawienie się nieoczekiwanych efektów, dlatego też w celu uzyskania deklaratywnej równoległości danych warto stosować PLINQ. Nie trzeba wówczas martwić się o efektywny podział zadań, czy liczbę dostępnych rdzeni - PLINQ automatycznie uwzględnia te czynniki i "zrównolegla" zapytania.

Trzeci element Parallel Extensions to Coordination Data Structures. Jako że PE jest we wczesnej fazie rozwoju, biblioteka ta nie jest na razie publicznie dostępna, nie jest także znane jej dokładne przeznaczenie. Daniel Moth mówi tylko: "To osobny fragment PE, który pomoże w realizacji równoległości przetwarzania".

Dodatki do flagowej platformy programistycznej Microsoftu to duży postęp w dziedzinie języków programowania wysokiego poziomu. Programiści C++ od kilku lat mają do dyspozycji bibliotekę OpenMP, ale osoby pracujące na co dzień z Javą czy C# mogły o tym tylko pomarzyć. Nawet platforma programistyczna Suna - Java, pomimo znaczących zmian (pakiet java.util.concurrent), nadal pozwala na pracę tylko na o wiele niższym poziomie abstrakcji.

Biznes w HPC

Biorąc pod uwagę poczynania Intela, który w ubiegłym roku utworzył 200-osobowe laboratorium zorientowanego na rozwój istniejących i tworzenie nowych języków programowania, to najwyższy czas dla Microsoftu, aby włączył się do "wyścigu" w rozwoju programowania równoległego. Ale dla Microsoft jest to również potencjalna szansa na poprawienie pozycji firmy na rynku HPC (High-Performance Computing).

Ma w tym pomóc HPC Server 2008, znajdujący się w fazie beta system operacyjny, który ma być następcą Windows Compute Cluster Server 2003. Obecnie już wiadomo, że HPC Server 2008 będzie wspierał Parallel Extensions, co pozwoli na przeniesienie fragmentów istniejących aplikacji .Net do nowego środowiska bez konieczności przepisywania ich w innym języku

Oceń artykuł

średnio: 5 liczba ocen: 1

Komentarze (0)

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