パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

FreeBSD SMPngが完了、性能が劇的に改善」記事へのコメント

  • by Anonymous Coward
    マルチコアで、スレッド数がコア数を上まわるとパフォーマンスが落ちるというのは、例えば動画エンコーダなんかだとキャッシュ容量を圧迫するからというのが大きな理由でしょう。動画エンコーダだと広範囲のメモリを参照、大量のI/Oをしないといけないけど、マルチスレッド化するために、並列で複数の異なるフレームを処理したりとかしているので、どうしてもワーキングセットが肥大化しがちで、スラッシング状態になったりします。

    でも今回の実験だとFreeBSDでは殆ど性能が落ちないんですよね。もっと別のケースのデータなんかも見てみたい気はしますね。
    • >>マルチコアで、スレッド数がコア数を上まわるとパフォーマンスが落ちるというのは
      スレッド数がコア数を上回っている時点で
      素のスレッドと言うよりはユーザースレッドだよね。
      ならばユーザースレッドの数が多ければ多いほど、処理できる能力って相対的に減るよね
      (処理的にはマルチタスクっぽくなるから)
      • >ならばユーザースレッドの数が多ければ多いほど、処理できる能力って相対的に減るよね

        コアの数を上回ったスレッドを動かすと、個々のスレッドの処理能力は落ちるんですけど、FreeBSDはそれぞれのスレッド処理能力を合計すると、8スレッド動かした時の合計に近い値が出る。
        ところが、Linuxは8スレッド超えると、それぞれのスレッドの処理能力を合計しても、8スレッド時の合計に遠く及ばなくなる。

        グラフによると、8スレッド動かした時の能力は双方とも、およそ3000。
        スレッド毎に375くらいになる。
        スレッドの数を16にしても、FreeBSDは能力の合計が3000弱。
        合計が8スレッドの時とほぼいっしょなので、スレッド毎の能力は単純に半分になる。
        ところが、Linuxの場合、16スレッドになると、能力の合計が800くらいまで落ちる。
        スレッド毎には、50程度と激減する。

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

処理中...