Parallel FX Libraryは.NET 4?
.NET Frameworkの並列コンピューティングサポートとしてParallel FX Libraryが予定されているが、MSDNマガジンの2008年10月の記事「次期バージョンの Visual Studio で強化される並列処理のサポート」によるとVisaul Studioの対応は2010から、.NET Framework 4.0からになるようだ。
Core i7やその後のマルチコア化にあたり、シングルスレッド性能がそれほど上がらない状態ではかなり期待してしまう。(でもシングルスレッドアプリも早くなってるよな~とかも思うが)
ただ、CUDAも気になりますが…
次期Viausl Studioと.NETによるサポート
記事によると、次期Visual Studio(今で言うと2010)で次期バージョンの.NET Framework(これも今でいうと4.0)でのサポートになる。
Visual Studio 2010でのサポートは並列処理のデバッグの補助が含まれるらしい。
- MultiStack ビュー
コールスタックをグラフ化するビュー。 - タスク一覧
- 同時実行分析(マルチスレッドに対するプロファイラ)
たしかに、TPL(Parallel FX Libraryの主要コンポーネントであるTask Parallel Library)による言語拡張だけではマルチスレッドアプリケーションの開発は難しい。
やみくもにマルチスレッド化しても全然早くならないないうえに難解で危険で潜在的なバグを埋め込むことだってある。
アプリケーションを高速化して致命的なバグを出すのはよくある話。閾値で処理を分けたりすると見つけづらい問題を含んだり、テストケースが増えたり…
また、純粋なCPU処理を並列処理で高速化する場合、MSDNマガジンの「 .NET の問題 : 偽共有」のようなL2キャッシュに関する知識も必要になる。
では、TPLは意味がないかというと、そうではなく…
「TPLはC#がメモリ管理の雑事からプログラマを解放し、ロジックに集中できるようにしたように、スレッド管理から解放し、タスク(処理単位)に集中できるようにしてくれるもの」
と期待しています。

Comments