2011-01-07 2 views
0

データテーブルにn組の行があり、これらのn個のセットを追加したい。私はこれを並列化する方法を検討しています。parallelを使用してデータ行を追加する。

例: セット1:行10 19 セット3行に:行20 T0行29 セット3:行20 T0行29

が他に、これらの追加行0は9 セット2行にテーブル 合計データテーブル(行0から行9)=セット1 +セット2 +セット3

私はC#を使用しています。

現在、私はこれをThreadPool.QueueUserWorkItemを使って次のように実装しましたが、それはちょっと醜いです。

はIスレッド(MAX =トータルのCPU) は、私はそれらを合計し、これらのスレッドのセットを配布し、私は2人の部分和を持っている場合、これらの部分和 を合計する部分和をN/2スレッド スパンを計算するn個のにまたがります総データセット。

例: Iは最初の反復で10セットおよび4つのCPU

を有する場合

1 CPU:合計0,1,2 = SUM1 2 CPU:合計3,5 = SUM2 3 CPU :合計6,7 = SUM3 4 CPU:合計8,9 = sum4

第2の反復

第1スレッドSUM1 + SUM2 = sum10 2スレッドSUM3 + sum4 = SUメートル11

3番目と最後の繰り返し

合計= sum10 + sum11

私はこの使用しての.NET Framework 4.0の並列ライブラリをやろうとしています。

+0

使用しようとしているどのようなコンピュータ言語を教えてください。 –

+0

私はC#を使用しており、さらに詳細を質問に追加しました – RedFox

答えて

0

Microsoft Patterns and Practicesグループには、パラレルプログラミングのテクニックの詳細が記載された本があります。 http://msdn.microsoft.com/en-us/library/ff963547.aspxにある並列集計の章があり、これにはC#のコード例が含まれています。

関連する問題