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

Alphaは死なず!」記事へのコメント

  • IA64にどうやって HT(Hyper Threading)を付け足すのか興味がある.

    Pentium4は,スーパースケーラのアーキテクチャを取っているので,実行時に使用されるリソースが動的に決定される.だから,Pentium4に HTを実装ときに,アーキテクチャとの親和性が高いのはわかる.

    IA64は VLIWのアーキテクチャだから,実行前にリソースの割り当てが決定されている.1つの命令ユニットにパックされたいくつかのopは,かならず同時に実行するはず.そういう前提で HTを実装すると,各リソースごとではなく,命令ユニットごとのスケジューリングにならないだろ

    • Re:CPUの未来 (スコア:2, 興味深い)

      by Average (3404) on 2002年02月06日 10時14分 (#60291) 日記

      全部の CPUの実行リソースとキャッシュメモリを共通化するところが違う.

      IBMなんかが出している2CPUをワンチップにしているPowerなんかは多分キャッシュメモリは共有しているハズです。2次キャッシュだとおもうけど。んで、キャッシュを書き込むときにコヒーレントをとるようになっているはず。
      で、こういうマルチスレッド対応CPUは早く出てほしいです。スレッドを意識して書いたプログラムは1~8CPUなSMPでは
      ほぼスケーラブルに実行性能が上がりますので、あーんな高い2GのCPUを買わないでも、1Gx2で十分な性能が出ますです、
      となる可能性が出て来ますので。
      --
      -----------------
      #そんなワタシはOS/2ユーザー:-)
      親コメント
      • N倍は無理 (スコア:2, すばらしい洞察)

        by nasb (3002) on 2002年02月06日 11時51分 (#60321) 日記
        CPUはデータ依存解消待ちなど、さまざまな遅延原因により実際のCPUパワーの 数割が無駄になります。Hyper Threadingはこの無駄にしてた時間を、別スレッ ドに切り替えて有効利用する、というものです。スレッドが十分に供給されれ ばリソース枯渇以外の遅延が見えなくなります。

        そういうわけで、Hyper Threadingになったからって、残念ながら実行速度や 効率は何倍にもなりません。例えば ZDNetの記事 [zdnet.co.jp]には「30%の性能向上が得られた」と書かれています。どれだけスレッド 数が上がっても、元々のCPUが踏んでいた無駄足の分が効率化されるだけです。

        2スレッドで30%UPなら、3スレッドで35%UP、4スレッドで38%…というようには あがるかもしれませんが、それならコストパフォーマンスの面で2スレッドで 打ち切るでしょうね。

        親コメント
        • by Psychs (7786) on 2002年02月08日 1時27分 (#60829)

          「30%の性能向上が得られた」ということですが,それは現在の Pentium4に実装されている実行リソースの少なくとも 30%が使われていなかったので,HTを実装することにより空いていた実行リソースが有効活用されたということではないでしょうか.

          だから,「2スレッドで30%UPなら、3スレッドで35%UP、4スレッドで38%…」については,実行リソース数を増やさないという前提であれば,2スレッドで30%アップ,3スレッドで31%アップのようにほとんど変わらないと思います. 逆に,キャッシュミスを考慮しないという仮定のもとに,実行リソースを増やすのであれば,シングルスレッドの N倍に近い性能を出すことができると思います.

          親コメント

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

処理中...