Sun CoolThreads テクノロジーについてどのような経験がありましたか?

StackOverflow https://stackoverflow.com/questions/57902

  •  09-06-2019
  •  | 
  •  

質問

私のプロジェクトには年度末までにある程度の資金があり、数年間使用してきた Sun-Fire-V490 サーバーの交換を検討しています。私たちが検討しているオプションの 1 つは、 クールスレッド テクノロジー。私が知っているのは Sun のマーケティングだけですが、100% 公平ではないかもしれません。実際にこれらのどれかで遊んだ人はいますか?

私たちはスレッドや仮想マシンをあまり使用せず、コードの改良に多くの時間を費やすことができないため、これは私たちにとって価値がないと思われます。私たちは大量のプロセスを生成しますが、CoolThreads がそこで役立つとは思えません。

(確かに、そのお金はボーナスか何かに使った方が良いでしょうが、それは起こりません。)

役に立ちましたか?

解決

開示:私はサン社で働いています (ただし、クライアント ソフトウェアのエンジニアとして)。

これらのマシンを使用するために、必ずしもマルチスレッド コードは必要ありません。複数のプロセスがあると、複数のコア上の複数のハードウェア スレッドが利用されます。

古い T1 プロセッサ (T1000 および T2000 ボックス) には FPU が 1 つしかなく、約 1% をはるかに超える浮動小数点を使用するタスクにはあまり適していませんでした。新しい T2 および T2+ プロセッサには、コアごとに FPU があります。これはおそらく、大規模な浮動小数点処理にはまだ適していませんが、はるかに立派です。

(注記:ハイパー スレッディング テクノロジーはインテルの商標です。Sun ではチップ マルチスレッディング (CMT) という用語を使用しています。)

他のヒント

IIRC Coolthreads テクノロジは、パフォーマンスを向上させるために単にクロック速度を高めるのではなく、ハイパースレッディングを使用して複数のコア プロセッサを検討し、1 つのチップ上にプロセッサの負荷を効果的に与えようとしているという事実を指します。全体的に利用可能な処理能力は高くなりますが、予想される追加の電力やエアコンの要件はありません (したがって、涼しい)。その有用性は、何を実行する予定であるかによって決まります。マルチスレッドコアで Apache を実行している場合は、個別の CPU コアで個別の応答スレッドを実行できるため、Apache が最適になります。単純にシングル スレッド プロセスを実行している場合は、単一の CPU ボックスよりもパフォーマンスがいくらか向上しますが、それほど優れたものではありません (mod_perl/mod_python 以外の旧式の CGID プロセスは依然として CPU を少し共有します)。アプリケーションが、ボックス上で最大限の速度で実行される 1 つのシングル スレッド プロセスで構成されている場合、同じ速度で実行されるシングル コア CPU ではほとんど改善が得られません。

ピーター

編集:

ああ、ベンチマークのために。サーバー ファームの T2000 を現在の V240 と比較しました (覚えていないのですが V480 だったかもしれません)。T2000 は、パフォーマンスのために OS を調整することなく、ライブ テストで古いボックスの 12 ~ 13 台分の負荷を受けました。先ほども言ったように、Apache はそれが大好きです :-)

最後のシステムには Sun Fire T2000 を使用しました。ボックス自体は、処理能力の点で必要な容量をはるかに上回っていました。私たちにとって、この決定はより低い消費電力とスペース要件に基づいていました。WebSphere 6、Oracle 10g、および SunONE Directory サーバーを同じボックス上で正常に実行できました。

私の情報は少し古いかもしれません (これらのサーバーを最後に使用したのは 2 年前です) が、覚えている限り、1 つの大きな落とし穴は、単一の CPU 上のすべてのコアがすべてのコアを共有しているということでした。 同じ FPU ユニットなので、コードで多くの浮動小数点を実行する場合 (GIS を実行していました)、FPU が大きなボトルネックとなり、多数のスレッドからあまりメリットが得られませんでした。

並列処理が高いプロセスでは、これらのマシン (t1000/t2000 など) はコストの点で優れています。私はそれらでoracleを約18か月間実行していますが、うまく機能しています。

タスクがシングルスレッド/シングルプロセスの場合は、高速デュアル/クアッドコアインテルマシンを使用する方が良いでしょう。

アプリケーションに多数のスレッドやプロセスがある場合、これらのマシンはおそらく最適です。

何よりも、Sun は評価のために 1 台を 60 日間送付します。これは、私たちがそれに取り組む前に行ったことであり、最終的に 2 台の t2000 を入手し、最近さらに 4 台の t1000 を購入しました。

昨夜、私たちのコアプロセスがマルチスレッドではないことに気づきましたが、問題のマシンにはマルチスレッドであるシステムプロセスが多数あります。特に、NFS サーバーとして機能します。数百のプロセスを実行する場合にも、これらすべてのコアの恩恵を受けることができるようです。

まずはデモ機を入手してテストできるかどうか確認してみます。

Sun は、すべての来場者に万能となる Niagra マシンを販売してきました。彼らには彼らの居場所があります。Web サービスは最適な展開です。いくつかの T2000 上で Oracle を実行しましたが、高度に並列化された操作ではうまく機能しました。しかし、マシンはシングルトレッド操作ではうまく機能せず、パフォーマンスはかなり悪くなります。浮動小数点の作業を行う必要がある場合は、他の場所を探してください。コアあたり 1 つの FPU を備えた新しいチップでも不十分です。また、これらのマシンはエンタープライズクラスの負荷に長時間耐えることができず、信頼性にも問題がありました。マルチコア技術は、実体というよりも誇大広告です。サンディア国立研究所の調査では、4 ~ 8 コアが実用性の上限であり、16 コア チップのスループットはデュアル コア チップと同じであることがわかりました。したがって、16コアチップは多額のお金の無駄です。また、コアの数が増えると、熱壁のせいでクロック速度も低下する必要があります。ほとんどのメーカーは、メモリ テクノロジが向上するまで、おそらくクアッド コア チップに落ち着くでしょう (16 コアにメモリを供給し続けることはできず、ほとんどのコアが停止します)。最後に、Sun での混乱を考えると、他の場所を探したほうがよいでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top