最速怪談選手権

Xeonで動作させる64bitOSは真の性能でしょうか?
日立のHA8000で64bitOSを稼動させたいと考えているのですが、itaniumという本物の64bit設計のCPUと、互換性を持つXeonCPUでは本来の性能を提供するという意味では異なるのでしょうか? それともXeonで動作する64bitOSは本来の動作を行っているという認識でよいのでしょうか? メーカ曰く「動作します」と言われていますが本来の性能なのか、只64bitとして動作するだけなのでしょうか。
これを知らない人に問われたものの、明快に答えられないので困っています。
助けてください。

A 回答 (2件)

32bit環境で十分に動作する設計のアプリケーションであれば、64bit版に変更したところでメモリ使用量が増えるだけです。


「64bitの本来の性能」というからには、32bit版と比べてすごく速くなるような幻想を抱いているのではないかと推察されます。
そもそも、クロック数も変わらないのに64bitになったからと言って高速に処理されるようになるはずが無いでしょう。

64bitで速くなるのはメモリI/Oが大量にあったり、CPU命令でいえば64bit演算が多く必要な場面で32bit版より高速に動作します。
long long int の処理は64bitの命令であれば1OPですが、32bitの命令であれば少なくとも1OPに収まりきれません。そういう意味では高速化される可能性はありますが・・・

64bitOSのキモはスケーラビリティ(拡張性)が大きくなることです。
使用できるメモリ量が増えることは素人目にも明らかですが、それ以外にも、たとえばWindows Server 2003 で6TBのファイルサーバを構築した場合、(バックアップなどで)VSSを使用すると32bit版では動作が不安定になりますが、64bit版では安定して動作します。
これはカーネルの非ページプール領域が32bit版だとMAX256MBしかなく、64bit版だとMAX128GBで設計されているため安定して動作します。
    • good
    • 0
この回答へのお礼

junkUserさま
回答いただきありがとうございます。
速度ばかりを気にしていましたが拡張性なんですね。ハッとしました。
Oracleなどを利用するときのメモリ制限(2GB)がなくなるという情報を思い出しました。
ありがとうございました。

お礼日時:2008/05/04 13:24

真の性能の定義がよく分かりませんね。


そもそも、プロセッサの形態そのものが違いますから、2つを単純に比較できないのです。

まず、Itanium(アイテニアム)はインテルとHP(ヒューレットパッカード社)が共同開発したMerced(開発名)プロセッサ以降のプロセッサ製品群を指します。
ベーステクノロジはEPIC(VLIWに近い超並列命令実行方式)を採用したIA-64(Intel Architecture-64bit)と呼ばれる技術を採用しています。
超並列を達成するために128の整数演算と浮動小数点演算のレジスタをそれぞれに装備します。ただし既存のコードの実行速度は、IA-32を圧倒するほど高速ではなく、初代の製品はIA-32互換を保つために、搭載したハードウェアエミュレーションは、800MHzの製品でP6(Pentium Pro)の初代製品ほどしかなかったことで有名です。
その後、Itanium2ではハードウェアエミュレーションを外し、EFIによるソフトウェアエミュレーションとなっています。
尚、現在は大規模サーバやブレードサーバの一部のみでItanium2は使われており、インテルは90年代当初の計画からItaniumのプランは大幅に縮小されています。IA-64はコード実行形態が後述のx86とは違うため、プログラミングコンパイラはIA-64に最適化しなければなりません。
最初から64bit専用で設計されているため、確かに真の64bitということもできますが、ソフトウェアの多くは32bitから継承されていますから・・・目的のソフトウェアがなければ真もなにもないでしょう。

Xeonは、Core2 DuoやPentiumの延長線上にあるx86(8086の基本技術を継承するプロセッサ)プロセッサで、Itaniumとはそもそもの系譜が全く異なり、Itaniumとは設計上の物理的なハードウェア互換はありません。
開発はintel社です。
元々、インテルの86シリーズが16bitから拡張され32bitのi386になり、2000年代になってから当時インテルがIA-64に傾倒しx86の64bit化はしない方針であったため、競合のAMD社が64bit化技術としてAMD64(x86-64)を発表したことから製品化がされ、その後インテルも足並みを揃える形でx86-64(intel64)を投入したという経緯があります。
既存の32bitコードも実行でき、64bitコードも同じレジスタで実行できるRAXと呼ばれる32のレジスタ(汎用16/XMM16)を搭載しています。

これによって、IA-64では出来なかった32bitコードの実行も高速で、OS環境とアプリケーション環境がx64対応であれば、64bit処理や最大256TBまでのメモリ空間に対応可能となっています。
今後も、PC及びIAサーバ市場ではx86-64(x64)が主流になる見込みです。

どちらも64bitで、それに最適化すればそれなりの性能を発揮します。
ただし、現在使われる多くのソフトウェアは、既存の32bitソフトウェアまたはその延長にあるx86-64コードを使うことが多いためx86-64の方が実用上は適しているケースが多いです。

はっきり言えば、64bitOSで使えばどちらも64bitです。ただ、その実装形態が根本から違うだけです。これは、他のCPUであるNECのSX、IBMのPower、SUNのSPARCなどのCPUアーキテクチャの差の違いと同じようなものです。これらは、同じ周波数での性能も違いますが、機械語の実行方式、認識方法も違い命令の得意不得意もあります。
故に全く同一の条件では絶対に比較できません。まあ、計算速度を参考として測るソフトはありますけどね。
    • good
    • 0
この回答へのお礼

partsさま
回答いただきありがとうございます。
Itaniumの経緯から詳細に説明いただき感謝いたします。

お礼日時:2008/05/04 13:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!