スイート・スポットは、質問についてお答えします。「スループットを最大にするために、(Polycephalyを使用して)いくつの仮想マシン(VM)を走らせるべきですか?」
Cincom SmalltalkのプロダクトマネジャのArden Thomasは、最近、彼のブログで以下の投稿をしました。
最近、私は Polycephalyを使用した利点について投稿しました。Smalltalk Solution 2011に出席されていれば、使用方法やデモに関してプレゼンをご覧になったかもしれません。スイート・スポットの質問についてお答えします。
「スループットを最大にするために、(Polycephalyを使用して)いくつの仮想マシン(VM)を走らせるべきですか?」 異なる数のVMを起動してテストし、ベンチマークを取る作業を繰り返してください。別の方法として、経験則から1つのコアごとに1.5VMを使用します。多くの場合、問題なく動作します。
いくつかの観測:
- コアごとに1.5 VM は、非常によく動作していると思われます。サーバのスループットを最大化することは理想的です。しかしながら、これを使用して問題に遭遇しました。1コアで1.5VMの使用は、CPUコアのフルパワーを徹底的に利用するので、私は、マシン上では、Webのブラウズ、メールの閲覧、他のアプリの実行が無反応になりました。これは、成功への犠牲です。
- 私のメインマシンは、quad core CPUを搭載し、6個の追加VMを実行していました。タスクマネジャでは、最大25%の利用(全体的に見てCPUの25%)を示しているとき、プロセスはコアを最大限にしています。コア当たり、1.5 VMの実行は、VMが「小休止」するとき、それを意味します。IOの実行や非CPUの集中的なタスクである別プロセスは、その限界までCPUを利用するために待ちます。
ソリューション?
私は明確な解決策を発見しました。他の作業をしたい場合には、単純に3つの仮想マシンを実行させました。これは、通常、3つのVMがCPUの3つのコアを最大限使用します。メインイメージは、これらの3つから情報を収集しましたが、時間を割り当てられるとき、CPUの4番目のコアには負担をかけません。4番目のコアは、Webのブラウズや、メールの確認、または別アプリケーションの実行において、問題なく反応しました。最大スループットの小さな減少における利点は、コンピュータを利用できるかどうかということです。
Polycephaly の利用に関して、新しい発見はありましたか? 皆でシェアしましょう。
- Arden Thomas