Alphaは死なず! 36
ストーリー by Oliver
フュージョン 部門より
フュージョン 部門より
dai 曰く、 "Intelの手に渡って消えゆく運命と思われたAlphaだがNEWS.COMの記事に依ると、
2004年以降に登場するItaniumのバージョンであるMontecitoやChivanoにAlphaの設計コンセプトが取り込まれるとのこと。具体的にItaniumがAlphaからどのような影響を受けるのかは現時点では不明。
IntelはCompaqから100人を越えるAlphaチームの開発者を受け入れたのだから、当然と言えばそうなのだが、彼らがItaniumをどこまで素晴らしいプロセッサに仕上げるか、期待が膨らむ。"
インテルトピックでAlphaな話題って変な気分だ。技術をむしりとるのではなく、アーキテクチャとしてのAlphaに生き残ってほしかったり。いっそのこと、遅れるIA64を捨てて64-bitアーキテクチャとして業界も技術も成熟しているAlphaに完全転換しようぜ。
CPUの未来 (スコア:3, 興味深い)
IA64にどうやって HT(Hyper Threading)を付け足すのか興味がある.
Pentium4は,スーパースケーラのアーキテクチャを取っているので,実行時に使用されるリソースが動的に決定される.だから,Pentium4に HTを実装ときに,アーキテクチャとの親和性が高いのはわかる.
IA64は VLIWのアーキテクチャだから,実行前にリソースの割り当てが決定されている.1つの命令ユニットにパックされたいくつかのopは,かならず同時に実行するはず.そういう前提で HTを実装すると,各リソースごとではなく,命令ユニットごとのスケジューリングにならないだろうか.
つまり,HTによって,スーパースケーラなら空きリソースは飛躍的に下がるのはわかる.だが,VLIWの場合は,元々の IPC(Instruction per Clock)の範囲で想定されている数の整数倍のリソースを用意して,それを振り分けることにならないのだろうかということだ.
未来の CPUは,どんな形態になるだろうか. ISSCC2002での発表によると,もっとも有望なのは「Parallelism(並列性)」だという. たとえば,HTを拡張して,4スレッドの同時実行が可能な CPUを作るとかいうような感じだろう.しかし,スレッドレベルの並列性まで考慮に入れたところで,相変わらずタスクスイッチは必要だろう.
そこでさらに一歩進めて,プロセスレベルの並列性を取り入れて,マルチプロセスプロセッサを作ってみるのはどうだろう.こうなれば,ワンチップに複数のプロセッサを集積するチップマルチプロセッサと発想が変わらなくなるが,全部の CPUの実行リソースとキャッシュメモリを共通化するところが違う.こうすることで,コストパフォーマンスがかなり上がるはずだ.もちろん,排他制御用のロジックを追加する必要があるが,2とか4くらいのオーダーのプロセス数の処理であれば,大したことはないだろう.
普段何気なく使っている CPUだが,興味は尽きない.
Re:CPUの未来 (スコア:2, 興味深い)
IBMなんかが出している2CPUをワンチップにしているPowerなんかは多分キャッシュメモリは共有しているハズです。2次キャッシュだとおもうけど。んで、キャッシュを書き込むときにコヒーレントをとるようになっているはず。
で、こういうマルチスレッド対応CPUは早く出てほしいです。スレッドを意識して書いたプログラムは1~8CPUなSMPでは
ほぼスケーラブルに実行性能が上がりますので、あーんな高い2GのCPUを買わないでも、1Gx2で十分な性能が出ますです、
となる可能性が出て来ますので。
-----------------
#そんなワタシはOS/2ユーザー:-)
N倍は無理 (スコア:2, すばらしい洞察)
そういうわけで、Hyper Threadingになったからって、残念ながら実行速度や 効率は何倍にもなりません。例えば ZDNetの記事 [zdnet.co.jp]には「30%の性能向上が得られた」と書かれています。どれだけスレッド 数が上がっても、元々のCPUが踏んでいた無駄足の分が効率化されるだけです。
2スレッドで30%UPなら、3スレッドで35%UP、4スレッドで38%…というようには あがるかもしれませんが、それならコストパフォーマンスの面で2スレッドで 打ち切るでしょうね。
Re:N倍は無理 (スコア:1)
「30%の性能向上が得られた」ということですが,それは現在の Pentium4に実装されている実行リソースの少なくとも 30%が使われていなかったので,HTを実装することにより空いていた実行リソースが有効活用されたということではないでしょうか.
だから,「2スレッドで30%UPなら、3スレッドで35%UP、4スレッドで38%…」については,実行リソース数を増やさないという前提であれば,2スレッドで30%アップ,3スレッドで31%アップのようにほとんど変わらないと思います. 逆に,キャッシュミスを考慮しないという仮定のもとに,実行リソースを増やすのであれば,シングルスレッドの N倍に近い性能を出すことができると思います.
Re:CPUの未来 (スコア:1)
>違う.こうすることで,コストパフォーマンスがかなり上がるはず
>だ.
2つなら1,4~1.9倍に,4つなら3倍程度にダイサイズ?(シリコン
チップの大きさ)が大きくなると思いますが.そうなると,
ウェハーあたりの製品数が減る
歩留まりが悪くなる
の2点からコストパフォーマンスが『かなり』上がるとは考えにくい
のですが.(かえって悪くなる?)
それに複数のプロセスでキャッシュメモリを共通化(共有)しても,
共通部分(共有可能部分)が実質ないので,キャッシュのヒットミス
が増えると思いますが.
(私が何か勘違いしているのかな?)
Intel's McKinley is one big chip (スコア:1)
Re:CPUの未来 (スコア:1)
プロセスルールが進み集積度が上がっても
性能向上のためロジックを投入すべき有効な
マイクロアーキテクチャがもう他に見あたらない
(増えるトランジスタの使い途が他にない) ので、
あとはワンチップSMPぐらいかな?という経緯だったはず。
Re:CPUの未来 (スコア:1)
簡単にできそうです。
但し、端子スペースと発熱問題がネック。
Re:CPUの未来 (スコア:1)
2次キャッシュを共通化した場合、2CPUでも1.3~1.5倍くらいで済むと思いますよ。
ちなみに、HTで2CPUに似せた場合なら、1.1倍以下だそうな。
キャッシュを共有したら... (スコア:1)
> も,共通部分(共有可能部分)が実質ないので,キャッシュのヒッ
> トミスが増えると思いますが.
それは正しいと思います。
ただ、もう一つ複数の Processor Element(PE) でキャッシュ
を共有すると、ひとつの PE とキャッシュ間のバス幅が見掛け
上減ってしまう問題がありまして、こちらの方がより深刻だ
と思います。
つまり、HT なしのプロセッサが 1サイクルに 2ワード分のデ
ータをキャッシュからレジスタに転送できるとすると、2way
HT のプロセッサは、1スレッドあたりの転送量は半分。
1サイクルに1ワード分になります。
HT (というかSMT) の出発点は CPU 内に暇なファンクション
ユニットがあるからこれを有効活用しようという話のはずで
すが、CPU 内に暇なファンクションユニットが出来る最大の
理由は load/store にあると思うのですが、、、
コンタミは発見の母
Re:キャッシュを共有したら... (スコア:1)
確かに,CPUのクロックが上がっていく速度に,メモリの速度アップがついていっていないので,実行リソースの利用率が下がっていっていますね.しかし,SMTには,キャッシュミスで停止したスレッド以外のスレッドで,実行リソースを使うという面があります.
個人的見解ですが,Pentium4の HTで問題になるのは,PEとキャッシュ間の実効帯域幅の低下よりも,キャッシュのヒット率の低下だと思います.Pentium4では,はじめから HTの実装がなされていたという疑惑があり,もしそうであれば,最初からキャッシュの実行帯域幅の低下については,何らかの対策がなされていると思うからです.
また,Pentium4で L1キャッシュがあのような構造になっているのは,ストール時のレイテンシを下げるという目的と,命令キャッシュの実効帯域幅の向上という目的があると思います.そのことで,PEと命令キャッシュ間の実効帯域幅の低下については,対策がなされているのではないでしょうか.
そういう前提で考えると,Pentium4の HTでは,これから製造プロセスの微細化に伴ってキャッシュの容量を増やし,残るキャッシュのヒット率の問題をクリアしていくというのが,Intelの読みかも知れませんね.
Re:CPUの未来 (スコア:1)
名前はそう、SXです :-)
Re:CPUの未来 (スコア:1)
Hyper Threadingで,複数のスレッドを処理するメリットは,「空いている実行リソースを使うこと」であり,そういう意味で,コストパフォーマンスがよくなるわけです.
ILP(Instruction Level Parallelism)を利用することで,平均して並列度1.5から1.8程度の実行効率が得られますが,ILPのみでは行き詰まっており,TLP(Thread Level Parallelism)が利用されることになったという経緯があります.
たとえば,Athlonはスーパースケーラ(ILP)で,並列度3の実行に耐えられるようにできていますが,実際は並列度1.5程度の実行効率しか得られていません.しかし,スレッド数2のTLPを利用することで,おそらく並列度2を上回る実行効率が得られると思います.
ここで,あらかじめ並列度6を許容する実行リソースを用意して,スレッド数4の TLPを利用することを考えるわけです.こうすることで,実行リソースは元の2倍でありながら,おそらく並列度4以上の実行効率が得られると思います.
そうすると,元のリソースの 2倍と少しのリソースで,少なくとも3倍弱の実行効率が得られるわけです.これから,半導体の製造プロセスが微細化していくでしょうが,キャッシュメモリばかり増やしていっても,それほどパフォーマンスは上がりません.現状でも,CPUダイ上でキャッシュメモリの占めるリソースの割合はかなり大きいのです.
ですから,これからの CPUは ILPだけではなく,TLPを考慮に入れ,そのスレッド数を増やすことで,パフォーマンスとコストパフォーマンスの両面で改善が進められていくと思うわけです.
Re:CPUの未来 (スコア:1)
> そこでさらに一歩進めて,プロセスレベルの並列性を取り入れて,マルチプロセスプロセッサを作ってみるのはどうだろう.
Hyper Threadingで言うところの「スレッド」は、そのままプロセスでも構いませんよ。OSがその気になればそのまま複数プロセスをスレッドとして流せます。
もちろん、別のプロセスを同時にhyper threading実行すると、キャッシュを汚染しあうので、どのスレッドを選んで投入するかはちゃんと考えないといけませんが、まあ、単純には同じプロセスのスレッドを投入するのでしょう。
Re:CPUの未来 (スコア:1)
IA64でコンパイラに移された重要な機能は、並列可能性を発見することであり、CPUの資源管理はコンパイラからは抽象化されていると理解しています(間違っていたら指摘していただけると嬉しい)。 このことから、並列可能な命令のうち、一部だけを実行するのは難しくないと思われます。SMTとの相性も悪くないのではないでしょうか。
Re:CPUの未来 (スコア:1)
なるほど.IA64は,普通のVLIWと全然違うわけですね.確かにこの方式であれば,HTの実装は楽そうですね.
Alphaは死なず (スコア:2, おもしろおかしい)
IntelはCompaq Computerの何が欲しかったのか。 (スコア:1)
Re:IntelはCompaq Computerの何が欲しかったのか。 (スコア:1)
これもAlphaの技術?
Re:IntelはCompaq Computerの何が欲しかったのか。 (スコア:1)
ダケなんだと思いますが。
-----------------
#そんなワタシはOS/2ユーザー:-)
Re:IntelはCompaq Computerの何が欲しかったのか。 (スコア:1)
(別に Compaq Computer 由来のものは要らない :-)
Compaq が買収しても Alpha を使いこなせないと読んでいて 安値で買い叩こうと intel が当時(1998年)に思っていた んじゃないかっていうのは、妄想なんだろうか、、、
むしろAthlonの方が (スコア:1)
バスアーキテクチャ等でAlphaの技術を引き継いでいたのではないかと思っていたんですが. ですからAthlon登場時からSMP構成にした場合の素性の良さが期待されていましたし(実際に出るまでは時間がかかりましたが), 何よりもAlphaの開発者の内, かなりの人数がAMDに流れたんじゃありませんでしたっけ?
Re:むしろAthlonの方が (スコア:1, 興味深い)
ふと、98年くらいのPC Expoで出展されていたAlpha(型番忘れた)用マザーボードを説明員が「近いうちにAthlonも挿せるようになります!」と力説していたのを思い出した。どうなったんだろ、あれ。
アイアンゲートチップセットですね (スコア:1)
Alphaマシンじゃなかったかな、それ。
同じEV6バスだし、BIOSと、マザーボードのソケットに合わせた
CPUを用意すれば動かせるはずですよ。ハード的な相違はないし。
ただ、最近のAthlonはピンの仕様が変化してるからダメかも。
どこぞのピンの仕様がプッシュプルに変化して使えない…とか、
KX133マザーを買った人にトドメを刺すためにVIAの人が
説明していたように思います。
# ちなみに私はKX133 SLOT-Aマシンを持っています(涙)
# Classic Athlon 650MHzで今でも現役…。
Re:アイアンゲートチップセットですね (スコア:1)
Tsunamiというチップセットだったと思います. CPUの形状は SlotBで,たぶん立ち消えかと.
Re:むしろAthlonの方が (スコア:0)
Alphaの末裔というと話題は多いですけど97年頃に話
Re:Exponential (スコア:0)
Re:むしろAthlonの方が (スコア:1)
というニューズでは
マイヤー氏は、Athlonの開発に携わったほか、DEC在籍時には
Alpha 21064/21264プロセッサの共同設計者としても知られている人物。
とかかれてありますね。
あるふぁ部隊は (スコア:1)
コンパイラ (スコア:2, 興味深い)
ハードウェアの方は製造技術やキャッシュ等の要素技術を除けばアーキテクチャ的には単なる力技っぽいイメージを持ってます。
Re:あるふぁ部隊は (スコア:1)
Re:あるふぁ部隊は (スコア:0)
もっとも、IA-64のようにすでに決まっている命令セットに対するコンパイラ設計ではどのくらい権限があるのかわかりませんが。
なんつーか (スコア:1)
アルファの開発していた人ってやっぱりハード寄りの人が多いのかなぁと思いましてね。ドクター持っているような人が色々考えて開発していんだろうなーと想像してます。
そんな人が明日から、コンパイラの設計やれっていわれたら悲壮感ないのかなぁと思いまして・・・ハード屋がソフト作るようなイメージがしていました。
Re:なんつーか (スコア:1)
IA-64 は死なず! (スコア:1)
> として業界も技術も成熟している Alphaに完全転換しようぜ。
Itanium が仮に駄目になっても IA-64 は死にません。
IA-64a となって蘇るのです。
なお IA-64a は Alpha21x64 と完全な命令互換性を備えた
スーパースカラーアーキテクチャの64ビットプロセッサです (^_^;
コンタミは発見の母
Re:IA-64 は死なず! (スコア:1)