Jaké jsou současné nejlepší možnosti pro paralelizační CPU náročné .NET aplikaci?

hlasů
17

Jedná se o otevřenou otázku. Jaké postupy bych měl uvažovat?

Položena 04/08/2008 v 17:30
zdroj uživatelem
V jiných jazycích...                            


5 odpovědí

hlasů
8

Vaším prvním krokem je najít a pochopit paralelismus ve vašem problému. Je to opravdu snadné psát multi-threaded kód, který provádí o nic lepší než jediné-threaded kód, který nahrazuje. „Vzory pro paralelní programování“ (Amazon) je skvělý úvod do klíčových pojmů.

Jakmile budete mít funkční konstrukci, začít číst v následujících článcích na téma „souběžnosti“ v archivu časopisu MSDN (odkaz) , zvláště něco které Jeff Richter. Ti, kteří vám dá všechny šrouby a matice věci na závitových konstrukty specifické pro Windows a .NET. (Část multi-threading v Richterovy „CLR pomocí C # (Amazon) je krátká, ale velmi bystrý - doporučeno).

Odpovězeno 30/08/2008 v 23:32
zdroj uživatelem

hlasů
6

Tam jsou některé paralelní rozšíření .NET, které jsou v současné době v testování a k dispozici na Microsoft Parallel Computing Developer Center . Mají několik zajímavých věcí, které byste očekávali jako paralelní foreach a paralelní verzi LINQ zvané řešení PLinq. Některé z nejlepších informací o rozšíření je na Channel 9 .

Odpovězeno 04/08/2008 v 17:41
zdroj uživatelem

hlasů
2

@Larsenal

Chcete-li pobočku mimo .NET tam byl hodně diskuze o Intel Threading Building Blocks , která je paralelní knihovna pro C ++.

Odpovězeno 04/08/2008 v 18:41
zdroj uživatelem

hlasů
2

Myslím, že bychom mohli také zahrnovat non-NET specifické přístupy k paralelní zpracování, jsou-li mezi nejlepší možností, aby zvážila.

Odpovězeno 04/08/2008 v 18:32
zdroj uživatelem

hlasů
0

Existuje mnoho možností, a že nejlepším řešením bude záviset na povaze problému, který se snažíte vyřešit. Pokud se snažíte vyřešit embarassingly paralelní problém, pak dělení a parallelising úkoly bude triviální. V takovém případě bude výzvou přicházejí při rozdělování a správu dat používaných.

Některé návrhy by bylo:

Odpovězeno 30/08/2008 v 23:46
zdroj uživatelem

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