[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:19670] Re: make -jについて



おおのです。ちょっと脱線。

On Mon, Jul 14, 2003 at 10:02:07AM +0900, Shun-ichi TAHARA wrote:
> これは、パイプラインが横にも並んでるような形態、だったと思いますが、あ
> くまで外からは 1CPU にしか見えないので、別スレッドの命令は放り込みよう
> がないですね。

  ちょっとマイナーめのCPU Crusoe TM5800 を使っているのですが、これは
128bit CPUで32bit命令を4個並列に実行して速度を稼ぐとか、ある意味
多パイプラインのような、もしくはHTのようなことをやってわけです。

  で、このCUPをSMPカーネルで使うとシングル用カーネルに比べてバイナリの
実行速度が速くなります (といっても自作のプログラムの場合ですので、どんな
バイナリでも有効なのかってのはよくわかりませんが)。

  しかしながら、どちらのカーネルで -j 2 をやっても効果はありません。

  Ath-XPでそのへんを試してみたことはないのですが、同様の症状 (?)がでる
可能性はあると思います。つまりはSMPカーネル使ったら速くなるかも、ってこと
です。 

# もっともコンパイルオプションのデフォルトがSMPなので、シングル用のカーネル
# 使っている人のほうが少ない気がしますが... 


> ところで、AthlonXP のように、パイプラインを横に並べるのと、P4 のように、
> パイプラインを縦に長くするのとでは、どっちが効くんでしょうね。おそらく
> 一長一短だとは思うのですが、分岐予測まわりも絡めて考察すると、かなり奥
> が深そう。

  個人的には短いパイプラインを横にしたほうが速いんじゃないかなあ、って思
っています。ベンチマークのような単調な命令をこなすのならばやっぱり深い
パイプラインのほうが有効なんでしょうけど。

# 将来的には大量のパイプラインを並列にして、分岐予測をするのではな
# く、全て (は無理にしても多く) の場合を計算し、正解だけを使う、なんて
# アプローチがでてきたりして。
# それとももうやってるんでしたっけ?


> 最近、Xeon2.0G のサーバのカーネルを SMP なカーネルに差し換えたら、HT
> が有効になっていました。残念ながら思ったより速くないのと、高負荷時にカー
> ネルパニックが起きるのとで、BIOS の方で HT 無効にしてしまいました。

  友人が Xeon HT x2 + RAID なんて機械を使っているのですが、これがよく
RAIDをふっとばしてお亡くなりになっています。SMP有効でCPU 4つに見えて
いる状態のはずなので、もしかしたら同様の原因なのか... 
  RAIDが飛ぶのでてっきり FSか、RAIDドライバのほうかと思っていたのですが
HT無効でテストしてもらってみようかなあ。

  性能向上のほうは、やはりその機械でも御利益ないようです。


-- 
  大野 哲二 azure@fan.gr.jp
  「疑いのあるところ、常に自由がある」

Follow-Ups
[plamo:19671] Re: make -j について, Takao Ono
[plamo:19672] Re: make-jについて, Shun-ichi TAHARA (田原 俊一)
[plamo:19681] Re: make-jについて, Hiroki ISHIHARA
References
[plamo:19643] make -jについて, SO
[plamo:19647] Re: make -jについて, Shun-ichi TAHARA (田原 俊一)
[plamo:19665] Re: make-jについて, Hiroki ISHIHARA
[plamo:19668] Re: make-jについて, Shun-ichi TAHARA (田原 俊一)

[検索ページ] [メール一覧]
Plamo ML 公開システム