Hva er dagens beste alternativene for parallelizing en CPU-intensive NET app?

stemmer
17

Dette er et åpent spørsmål. Hva tilnærminger bør jeg vurdere?

Publisert på 04/08/2008 klokken 16:30
kilden bruker
På andre språk...                            


5 svar

stemmer
8

Ditt første skritt er å finne og forstå parallellitet i problemet. Det er veldig lett å skrive multi-threaded kode som utfører ikke bedre enn single-threaded kode den erstatter. "Oppskrifter for parallell programmering" (Amazon) er en flott introduksjon til de viktigste begrepene.

Når du har en gjennomførbar design, begynne å lese artiklene i "Samtidighet" tema i MSDN Magazine arkiver (link) , spesielt noe skrevet av Jeff Richter. De vil gi deg muttere og bolter ting på threading konstruksjoner som er spesifikke for Windows og .NET. (Den multi-threading delen i Richters "CLR via C # (Amazon) er kort, men svært innsiktsfull - sterkt anbefalt.)

Svarte 30/08/2008 kl. 22:32
kilden bruker

stemmer
6

Det er noen parallelle utvidelser til .NET som er i testing og tilgjengelig på Microsofts Parallel Computing Developer Center . De har noen interessante elementer som du forventer som Parallell foreach og en parallell versjon av LINQ kalt PLINQ. Noen av de beste informasjon om utvidelser er på Channel 9 .

Svarte 04/08/2008 kl. 16:41
kilden bruker

stemmer
2

@Larsenal

Hvis du ønsker å grenen utenfor NET har det vært mye diskusjon om Intels Threading Building Blocks som er en parallell bibliotek for C ++.

Svarte 04/08/2008 kl. 17:41
kilden bruker

stemmer
2

Jeg tror vi kunne også omfatte ikke-NET-spesifikke tilnærminger til parallell behandling hvis de er blant de beste alternativene for å vurdere.

Svarte 04/08/2008 kl. 17:32
kilden bruker

stemmer
0

Det finnes mange alternativer, og den beste løsningen vil avhenge av hva slags problem du prøver å løse. Hvis du prøver å løse et embarassingly parallelt problem deretter dele og parallelising oppgavene vil være trivielt. I så fall utfordringen kommer i å distribuere og administrere data som brukes.

Noen forslag vil være:

Svarte 30/08/2008 kl. 22:46
kilden bruker

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