konto usunięte

Temat: procesory wielordzeniowe - programowanie

Szukam dobrych źródeł (pdf, linki itd) nt. synchronizacji i przerzucania wątków pomiędzy rdzeniami (2, 4 rdzenie) dla .net

Pozdrawiam.

konto usunięte

Temat: procesory wielordzeniowe - programowanie

a czy takimi rzeczami nie zajmuje sie czasem system operacyjny?

konto usunięte

Temat: procesory wielordzeniowe - programowanie

Z tego co mnie uczono aplikacja musi wspierać wielordzeniowość. Potrzebuje przenieść część logiki w innym wątku na inny rdzeń. Obecna wersja aplikacji korzysta z procesora na 50 lub 25% zaleznie od procesora. Chcialbym nad wykorzystaniem panowac ręcznie.
Krzysztof Mierzejewski

Krzysztof Mierzejewski SharePoint
Consultant

Temat: procesory wielordzeniowe - programowanie

Na początek
http://www.microsoft.com/downloads/details.aspx?Family...
Jest tylko mały problem z debugowaniem - nie ma pliku symboli ;)

A do poczytania polecam:
http://blogs.msdn.com/pfxteam/
http://msdn.microsoft.com/msdnmag/issues/07/10/Futures...

Nie jest to co prawda szczegółowa dokumentacja (tej szukaj w sdk) ale należy pamiętać, że to ma się pojawić w następnym (po 3.5) releasie .net'a.

I coś czym akurat ja się bawiłem, taki parallel dla geeków ;)

http://msdn.microsoft.com/msdnmag/issues/07/10/PLINQ/d...

Jak coś znajdziesz to koniecznie wrzuć tutaj. W ogóle temat bardzo ciekawy i sam chętnie zapoznam się ze spostrzeżeniami innych programistów...Krzysztof Mierzejewski edytował(a) ten post dnia 04.02.08 o godzinie 15:13

konto usunięte

Temat: procesory wielordzeniowe - programowanie

Piotr Jędrkowiak:
Z tego co mnie uczono aplikacja musi wspierać wielordzeniowość.
Hmmm, no to chyba jestem pod tym wzgledem do tylu. Mimo wszystko twierdze ze to jest (a przynajmniej powinna byc) robota systemu operacyjnego. A moze kolega myli wielowatkowosc i wielordzeniowosc? Z tego co wiem mozna przybic watek do rdzenia w Task managerze, natomiast nie sadze zeby bylo to cos co warto robic. Wspolczesne systemy operacyjne raczej niezle radza sobie z przyznawaniem zasobow procesom (i ich watkom).
A linki ktore Krzysztof podal (swoja dwoga polecam szczegolnie artykul z MSDN Magazine 2007/10) rowniez mowia o wielowatkowosci aplikacji, bez mikrozarzadzania na poziome "ten rdzen robi to, a tamten to".
Krzysztof Mierzejewski

Krzysztof Mierzejewski SharePoint
Consultant

Temat: procesory wielordzeniowe - programowanie

Zgadzam się całkowicie z Krzysztofem, natomiast i Piotr się nie myli:

>Piotr Jędrkowiak:
>Z tego co mnie uczono aplikacja musi wspierać wielordzeniowość.

Faktycznie - jednowątkowa aplikacja nie wspiera wielordzeniowości ;)

A wracając do .NET'a - w podlinkowanych artykułach jest opisana(ny?) Task Parallel Library, który po prostu dostosowuje ilość wątków (bo poza pojedynczy proces chyba nie wychodzi) do dostępnych zasobów (to jest chyba minimalnie ciut bardziej skomplikowane niż "tyle wątków ile rdzeni") i w miarę możliwości zrównolegla kod sekwencyjny. Ma to plusy (nie musimy dbać o wykrywanie środowiska, na którym uruchamiamy aplikację) ale i minusy (jak zatrudnić odpowiednią synchronizację to pewnie da się więcej zdziałać niż TPL wymyśli).

W każdym bądź razie przynaję się, że za dużo się nie bawiłem wspomnianymi bibliotekami (nie licząc PiLinq) więc jeżeli ktoś ma jakieś doświadczenia praktyczne z powyższymi to bardzo chętnie przeczytam, jeżeli zechce się nimi podzielić :)

konto usunięte

Temat: procesory wielordzeniowe - programowanie

Najprostszy przyklad - wielowatkowy max rozbudowany NX CAM - do wersji poprzedniej dzialal tylko na 1 rdzeniu. Stad wielowatkowosc z rdzeniowoscia i owszem powiazana jest, ale inaczej niz poczatkowo sie wydaje = rdzeniowosc musi zostac obsluzona. Bynajmniej nie chodzi mi o mikrozarządzanie na zasadzie jeden rdzen liczy sumy a drugi iloczyny. Szczegolow niestety zdradzic nie moge. Niemniej wkleje wszelkie spostrzezenia ktore po drodze znajdePiotr Jędrkowiak edytował(a) ten post dnia 04.02.08 o godzinie 21:21

Następna dyskusja:

procesory wielordzeniowe




Wyślij zaproszenie do