1

AmazonEC2インスタンスで.NET4ParallelまたはTaskフレームワークを使用してデフォルトの.NETThreadPoolを使用した経験のある人はいますか?

ドキュメントには、.NETはEnvironment.ProcessorCountを使用して最適なスレッド数を計算すると記載されています。ただし、EC2インスタンスが適切なProcessorCountを提供するかどうかはわかりません。これは、コンピューティングユニットで測定され、必要に応じて割り当てが異なる場合があるためです。

これを行う正しい方法は何ですか?ParallelOptions.MaxDegreeOfParallelismプロパティを作成して設定する必要がありますか?

4

1 に答える 1

3

EC2インスタンスはコンピューティングユニットで測定されますが、仮想コアもあります。たとえば、X-Largeインスタンスには、4コア@2コンピューティングユニット(合計8コンピューティングユニット)があります。

完全な仕様はこちらです:http://gevaperry.typepad.com/main/2009/03/figuring-out-the-roi-of-infrastructureasaservice.html

仮想コアではありますが、まだコアを使用していることを前提としています。.NETをそのままにして、独自のスレッドプールサイズを把握するのがおそらく最善です。EC2インスタンスは、.NET Frameworkの観点から、専用サーバーと大差ありません。一部のサーバーには多数のコアと大きなスレッドプールがあり、一部のサーバーには少数のコアがあるため、スレッドプールが小さくなっています。それを理解するためにそれを.NETに任せてください。

于 2012-05-21T11:35:47.197 に答える