treci intr-un framework care sustine paralelismul. probabil mpi si pvm sunt
cele mai light

t

2015-09-01 13:38 GMT+03:00 Alex 'CAVE' Cernat <[email protected]>:

> Salut
>
> Am mai lucrat cu multiprocess prin facultate, si de atunci pe ici pe
> colo, treaba e simpla: fork() * n, n copii ale datelor, wait() &
> friends, toata lumea fericita.
>
> Insa (mai nou ... sau mai vechi, ca e de multi ani), thread-urile au un
> overhead mult mai mic decat procesele, dar din cate am inteles lucreaza
> cu acelasi set de date, ceea ce nu e bine, pentru ca pe mine ma
> intereseaza sa execut in paralel aceeasi bucata de cod dar pentru mai
> multe seturi de date.
>
> Practic ma intereseaza sa paralelizez ceva de genul:
>
> operatii_de_inceput();
> for(i = 0; i <= N;  i++)
>      operatii_in_paralel(i);     <<<< paralelizare
> operatii_de_final();
>
> in cazul meu operatiile de final (daca exista)  nu se bazeaza pe cele in
> paralel (decat cel mult niste coduri de ok / eroare), astfel incat cu
> procese le-as putea scoate usor, dar daca se poate cu thread-uri si e
> mai performant ... de ce nu ?
>
> problema la care nu-i dau de cap (cel mai probabil pentru ca nu am
> inteles inca prea bine cum functioneaza threadurile) este cum fac o
> copie locala a unei variabile, astfel incat variabila respectiva sa aiba
> valorea doar pentru threadul respectiv, in alt thread putand avea o alta
> valoare, iar o asignare a acelei variabile intr-un thread sa nu
> influenteze valoarea aceleiasi variabile dintr-un altul
>
> rezumand, in principiu ma intereseaza daca se poate face exact acelasi
> lucru ce as putea sa fac cu multiproces ('copie' a datelor), dar
> folosind threaduri (cel putin unele variabile sa fie 'locale' threadului)
>
> Mersi
> Alex
> _______________________________________________
> RLUG mailing list
> [email protected]
> http://lists.lug.ro/mailman/listinfo/rlug
>
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui