In article <s7f1xoj...@xxx.kgc.co.jp>
ca...@xxx.kgc.co.jp writes:
> 1. 最初 HT on で windows 2k 入れて
> 2. cpu が 2 つ出て喜んで (インテルエライ!!)
> 3. RC5-72 動かすと、そんなに速くない (ハテ?)
> 4. 1 cruncher で試したら速くなって (びっくり!)
> 5. HT off で試したらもっと速くなって (がっかり!!)
> 6. 調べるとどうも windows 2k じゃ HT on だとなにかと遅くなるらしい
> 7. あきらめて windows xp 入れたら
> 8. HT on でも、1 cruncher だと少なくとも遅くはならない (ヨカッタ)
> 9. しかし 2 cruncher だとやっぱり遅い (HT ダメじゃん)
> と、すっかり HT 萎えです。
ありそうなは話です。
RC5-72 とか cruncher って、どんな性質のプログラムなんですか?
一般的には、OS とかライブラリは、マルチプロセッサになるとロッ
クの部分に手が抜けなくなるで、従来の単一スレッドのプログラム
は遅くなります。手抜きのロックというのは、割り込み禁止とかそ
んなものです。
最近、うちの若いものが Linux でハイパースレッディングをオン
にしてシングルスレッドの Java のプログラムを走らせていて、突っ
込みを入れた所でした。
HTT って、Hyper Threading Technology?
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
#fj.comp.parallelと言うよりはfj.comp.distributedネタなんだけど
#とりあえず、follow-up指定は無し
"Yasushi Shinjo" <y...@is.tsukuba.ac.jp> wrote in message
news:YAS.04Fe...@kirk.is.tsukuba.ac.jp...
> 新城@筑波大学情報です。こんにちは。
> (中略)
> RC5-72 とか cruncher って、どんな性質のプログラムなんですか?
RC5-72ってのは、distributed.net主催の「みんなで暗号解読しよう」ってやつ
です。
http://www.distributed.net/
cruncherってのは、解読用のThreadと思ってください。
(そういう表示なので)
そのプログラムの性質は、簡単に言うと
・アセンブラで、CPUアーキテクチャごとにExecution Unitを
ギリギリまで使うようにカスタムTuneしたプログラム
です。
#DESの解読の頃には、MMX命令をつかっていました。
#RC5は主にRotate命令の有無が実行速度の明暗を分けます。
このため、RC5-72ではHyper Threadingの効用が見られないというのが、これま
での実績です。
> HTT って、Hyper Threading Technology?
ですね。
#fj.sys.ibmpcでCPU限定せずにHTって書くと、
#Hyper ThreadingかHyper Transportか判らなくなる場合があるので
マルチスレッドはメモリ待ちが多くて実行ユニットが遊んでいるようなケースでは有
効ですが,ここで書かれているような1スレッドで既にギンギンに実行ユニットを
使っていの場合は切り替えオーバヘッドが出るだけでしょうね。昨年夏のHotChipsで
のIBMの発表でも,POWER5のLinpackはSMT ONにすると多少性能が下がってました。
Ando_san
"Tadamasa Tamura" <ta...@coral.ocn.ne.jp> wrote in message
news:c1i8pc$p5a$1...@nn-tk105.ocn.ad.jp...
> > と、すっかり HT 萎えです。
>
> ありそうなは話です。
「話し」「話しし」「話ししし*」等はよく見掛けましたが、
「は話」は初めて見ました。
> RC5-72 とか cruncher って、どんな性質のプログラムなんですか?
他の方の説明もありますが、
分散コンピューティング実験のひとつで、
現在は RC5-72 と OGR の二つのプロジェクトが進行中で、
dnetc という単一の実行プログラムに各プロジェクト用のコードがつまってて、
実行すると勝手に CPU 数等を判断し、
クライアント(cruncher)を 1 つまたは複数実行します。
(なお RC5-64 というのは RC5-72 の前身プロジェクトで、鍵 bit 数が少ないもの)
> 一般的には、OS とかライブラリは、マルチプロセッサになるとロッ
> クの部分に手が抜けなくなるで、従来の単一スレッドのプログラム
> は遅くなります。手抜きのロックというのは、割り込み禁止とかそ
> んなものです。
古い dual Celeron 533x2 を引っ張りだし
windows XP で RC5-72 の速度を確認しました。
結果出るまで一日かかりましたが、
1 クライアントのみの場合 1,108,176 keys/sec
2 クライアント同時の合計 2,158,843 keys/sec
と、dual CPU ではほぼ 2 倍の速度が出ます。 (大きい程速い)
てことで、RC5-72 に関しては、HTT 有効の時に遅くなる原因が、
マルチプロセッシングによるオーバーヘッドとは考えにくいでしょう。
> 最近、うちの若いものが Linux でハイパースレッディングをオン
> にしてシングルスレッドの Java のプログラムを走らせていて、突っ
> 込みを入れた所でした。
<URL:http://support.intel.co.jp/jp/support/platform/ht/faq.htm>
によると、HTT に対応(?)最適化(?)している Linux は
限られているようですが、その辺は大丈夫でしょうか?
> HTT って、Hyper Threading Technology?
そのつもりでした。紛らわしかったようですね。
神田敏広 <ca...@kgc.co.jp>
逆に、HTをDualと判定してDual用のプログラムを動かしたときに、
実行ユニットの数が少ないのでかえって遅くなる(パイプストールとかおきて
最適化の効果が薄れる)様な気がします。
HTの発想が、「空いた実行ユニットを有効活用する」
ですから、もとから実行ユニットが殆ど空かないように考えて最適化されたプ
ログラムだと、HTは有効に働かないと思います。逆に差としてマルチスレッド
のオーバーヘッドが出てくるかと。
--
池田 尚隆(Yoshitaka Ikeda) mailto:ik...@4bn.ne.jp
> 逆に、HTをDualと判定してDual用のプログラムを動かしたときに、
> 実行ユニットの数が少ないのでかえって遅くなる(パイプストールとかおきて
> 最適化の効果が薄れる)様な気がします。
そういうことなのでしょうけど、
だからって半分以下になるってのもな~~~
と思ったりしてます。
神田敏広 <ca...@kgc.co.jp>