Care sunt cele mai bune opțiuni actuale pentru paralelizare o aplicație .NET CPU-intensive?

voturi
17

Aceasta este o întrebare deschisă. Ce abordări ar trebui să consider?

Întrebat 04/08/2008 la 17:30
sursa de către utilizator
În alte limbi...                            


5 răspunsuri

voturi
8

Primul pas este de a găsi și de a înțelege paralelismul în problema ta. Este foarte ușor de a scrie multi-threaded cod care realizează mai bine decât codul de un singur fir care îl înlocuiește. „Modele pentru programarea paralelă“ (Amazon) , este o introducere la conceptele cheie.

Odată ce aveți un design funcțional, începe să citiți articolele din „Concurrency“ subiect în arhivele MSDN Magazine (link) , în special orice scris de Jeff Richter. Cei care vă va da nuci și șuruburi chestii pe constructele de filetare specifice Windows și .NET. (Secțiunea multi-threading în Richter lui „CLR prin intermediul C # (Amazon) este scurt, dar foarte perspicace - foarte recomandat.)

Publicat 30/08/2008 la 23:32
sursa de către utilizator

voturi
6

Există unele extensii paralele .NET , care sunt în prezent în testare și disponibilă la Microsoft paralel Computing Center Developer . Ei au câteva elemente interesante pe care le - ar aștepta ca foreach paralel și o versiune paralelă a LINQ numit PLINQ. Unele dintre cele mai bune informații despre extensiile este pe Canalul 9 .

Publicat 04/08/2008 la 17:41
sursa de către utilizator

voturi
2

@Larsenal

Dacă doriți să se ramifica în afara .NET a existat o mulțime de discuții despre Intel Threading Building Blocks , care este o bibliotecă paralelă pentru C ++.

Publicat 04/08/2008 la 18:41
sursa de către utilizator

voturi
2

Cred că am putea include, de asemenea, abordări non-NET-specifice pentru procesare paralelă în cazul în care acestea sunt printre cele mai bune opțiuni de luat în considerare.

Publicat 04/08/2008 la 18:32
sursa de către utilizator

voturi
0

Există mai multe opțiuni și cea mai bună soluție va depinde de natura problemei pe care încercați să rezolve. Dacă încercați să rezolve o embarassingly paralelă problema împărțind apoi și parallelising sarcinile vor fi banal. În acest caz , provocarea va veni în distribuirea și gestionarea datelor utilizate.

Unele sugestii ar fi:

Publicat 30/08/2008 la 23:46
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more