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

VT を搭載した「Pentium 4 672/662」発表へ」記事へのコメント

  • 普段 Windows で Linux 用のソフトを作るときには coLinux 使ってて、それ以外の用途でも今使ってる VMware Player でなんら不満のない自分は、具体的に VT で新しく何ができるようになるのか見当もつきません。単に早くなるだけ?だったらプロセッサのパフォーマンスを全体的に引き上げるのと同じだよなぁ。

    VMM のための新しい命令が追加されるの?それってたとえば SIMD 命令群が用意されたから特定の処理が早くなりますよ、うれしいね、ってのと似てる?わかんないんでとりあえず Intel の文書 [intel.com]に当たってみます。
    --
    屍体メモ [windy.cx]
    • VT なんて書かれると何のことか判らないけど、VMware のような仮想化システムをサポートするアーキテクチャ (命令群) を CPUが内蔵するわけですな。

      従来 VMware 上などで実行するOS/プログラムの性能が、直接インストールしたものに比べてかなり性能低下するのが、これによってほとんど直接実行しているのと変わらなくなるでしょう。

      こういった命令が一般化すれば、恩恵を受けるのは複数OSを使う必要がある開発者ばかりでなく、仮想化OSをサンドボックスとしてウィルス保護に使うなど、応用も広がると思います。

      まあ、これらはメインフレームが辿った道なんで、順当な路線ということでしょう。

      --
      親コメント
      • > 仮想化OSをサンドボックスとしてウィルス保護に使う

        周りに被害を与えないようにサンドボックス化したOSで絶滅危惧種のウィルスを飼うという図が脳裏に。
        ……やってみようかな?
        --
        巧妙に潜伏したバグは心霊現象と区別が付かない。
        親コメント
      • >> こういった命令が一般化すれば、恩恵を受けるのは複数OSを使う必要がある開発者ばかりでなく、仮想化OSをサンドボックスとしてウィルス保護に使うなど、応用も広がると思います。

        ド素人なんで的外れかもしれませんが、もしかしてJavaのVMも幸せになったりするんでしょうか?
        • by Rekishi (10137) on 2005年11月15日 17時37分 (#832190)
          コメントがついてないようなので今週は暇人の私めが一言。(別に専門家ってわけでは全然ないので識者の方のつっこみ大歓迎です。)

          Java VMの命令セットと物理CPUの命令セットの間に特に関係がある訳じゃないんで、残念ながら幸せになったりはしないと思います。

          今回の話っていうのはいわば物理CPUの命令を直接使うOSたちをだましてしまおうという話なので、物理CPUをそのまま使う訳ではないJava VMには直接の関係はないといえるでしょう。

          # 投稿ついでに余計なものもくっつけておきますね。

          ずいぶん前からVMwareを使ってますけど、I/Oの絡まない処理は別にそれほど遅くないんですよね。でももうちょっとするとI/Oが絡んでもあまり遅くならずに済むようになり、ついでに安全にもなるんでしょうかね。どうでもいいけど、I/O要求がかち合ったときどう調停するのかすぐには思い浮かばない自分の頭の鈍さが悲しい(^^;

          さらなるついでにもう一点、仮想化技術はWinnyで大事な情報をばらまいちゃうような人々にこそ使ってほしいと思う今日この頃。というわけで、持ち出しが簡単なノートPC用のプロセッサから先に実装してほしかったりして。
          親コメント
          • Java VMの命令セットと物理CPUの命令セットの間に特に関係がある訳じゃないんで、残念ながら幸せになったりはしないと思います。
            そうでもないですよ。
            JRockit VM の BEA Systems は Bare Metal [beasys.co.jp] なんてものを考えています。
            また、今後のユーティリティコンピューティングの実現を目指した取り組みの1つとして、ハードウェアおよびアプリケーションの仮想化テクノロジーを活用することで、OSを介在することなくIntelのVT(Virtualization Technology)対応プロセッサ上で直接JRockitを実行可能にするプロジェクト「Bare Metal」も紹介された。
            ZDNet: 10年間でサービスインフラベンダーに変革したBEAシステムズ [zdnet.com]
            はっきりとした詳細は不明ですが、ゲストOSを丸ごと一つの Java VM にするんだと推測しています。
            --
            コンタミは発見の母
            親コメント
            • 早速のご指摘ありがとうございます。世の中知らないことはたくさんあるもんですね。こうして教えていただいたということで駄文を省みず投稿してみた甲斐がありました。

              言われてみれば直接高速化を図らずともこういった手段はありますね。

              ちょっと探してみたら上記Bare Metalに関しては日経IT Proの方にも記事 [nikkeibp.co.jp]がありました。

              確かに実現すればJava VMの下に汎用OSが寝ている分のオーバーヘッドは回避できそうです。ハードウェアJava Machineを作ったりする方が劇的な効果が望めるでしょうけれど、イニシャルコストや陳腐化その他のリスクを考えると実現可能性という点ではこちらの方が数段高そうです。

              最後にもう一度情報どうもありがとうございました。Java VMのパフォーマンス向上で幸せになれる人はこのプロジェクトが立ち消えにならないことを祈りましょう(^^;
              親コメント
              • by fault (18699) on 2005年11月15日 20時13分 (#832296)
                > Java VMの下に汎用OSが寝ている分のオーバーヘッドは回避できそうです

                既に、ITRONなどのRealTimeOS上のJavaVMなどはごろごろしています。オーバヘッドの少なさだけならこっちの方が有利そうです。ただし、これらの実装で性能が稼げそうなのは、大量のスレッドを動かすような使い方をしたときだけだと思います。

                それでも汎用のOSと一緒に、この高性能JavaVMを同時に動かせるのは悪くはないですね。

                親コメント
              • by magicalchalk (27784) on 2005年11月16日 13時42分 (#832836)
                既に、ITRONなどのRealTimeOS上のJavaVMなどはごろごろしています。オーバヘッドの少なさだけならこっちの方が有利そうです。ただし、これらの実装で性能が稼げそうなのは、大量のスレッドを動かすような使い方をしたときだけだと思います。

                いや、RealTime OS の上に載っているのが Java VM だけで他のネイティブコードが走っていないなら、CPU をスーパーバイザモードで突っ走らせるという荒業があります。

                アプリケーションが全部 Pure Java コードなら、プロセス外のメモリへの参照も特権命令の勝手な実行も起きません。それらは全て Java VM が監視できます。すると CPU のユーザモードを使う必要がなくてスーパバイザモードのまま走らせても安全なんです。

                これは I/O の速度に効いてきます。I/O 処理中に CPU のモードを切り替える必要がありませんから。なのでそんな環境はネットワーク通信だけ妙に早かったりします。

                実用場面では Pure Java では実用性に欠けるので広まりませんでしたが、ネタとしては面白いと今でも思っています。

                親コメント
              • 前の記事の参照先を見ればよかったです。

                実用場面では Pure Java では実用性に欠けるので広まりませんでしたが、ネタとしては面白いと今でも思っています。

                BEA がやるとネタですまないかも、と思ったのだけれど、CPU のモードを変えないことが狙いだとすると VMM があったら元の木阿弥なんですよね。BEA がやろうとしていることはちょっと違うんだろうなあ...

                親コメント
      • by kusanagi (3927) on 2005年11月15日 10時32分 (#831987)
        AndoさんのMicroprocesserInfoのほうが詳しいかな。
        http://www.geocities.jp/andosprocinfo/wadai05/20050528.htm
        OSがハードウェアを直接たたくときや割り込みなどを(Hypervisorが)インタセプトしてあたかも直接ハードを操作しているように見せかけるのですが、このオーバーヘッドが結構でかいのです。
        (x86の命令もインタセプトしづらい)

        と、上記URLではVTとPasificaの比較が行われて、
        双方ともあまり差異が無いが、IOアクセスはPacificaのほうが1ランク上の仮想化を実現しているとなってますね。
        VTもversionがあがるような話を聞いたけれども。
        --
        kusanagi shin
        親コメント
        • 結局仮想86モードのようなものをまた用意するってことですかね?
          さすがにリング -1 を用意してゴニョゴニョ、なんてことは無いでしょうね。
          インテルの資料読まずに妄想ばっかしてても不毛ですが。
          PC-9801DA2を使っていた頃、単にモード移行するだけ(当然仮想メモリなどはなし)の仮想86モニタもどきを作ったことがあるんですが、I/Oの処理が追いつかず、超シンプルな自作ターミナルソフトですらシリアルからのデータの取りこぼしに悩まされたという・・・・
          コンテキストスイッチに300サイクルくらいかかってた記憶がある。
          もう記憶が曖昧で、フロッピーディスクに入ってる当時のソースコードも読めないんだろうなぁ。もしかしたら押し入れの億でカビ生えてるかも、5インチフロッピー。
          --
          屍体メモ [windy.cx]
          親コメント
          • by Anonymous Coward on 2005年11月15日 12時02分 (#832028)
            >さすがにリング -1 を用意してゴニョゴニョ、なんてことは無いでしょうね。
            こちら [impress.co.jp]をどうぞ。
            セキュリティ技術のLaGrandeでRING-1とメモリ保護が用意されています。
            VTはLaGrandeの機構を利用して実装されるのだとか。

            さらに、ここ [impress.co.jp]にあるように、VTは段階的に改良することを前提で計画されているようです。
            将来のVTではIOまわりの問題なども改良されると思われます。
            親コメント
            • 適当に RING -1 を用意してゴニョゴニョって言ってみたら、ホントに RING -1 って呼んでるし…情報ありがとうございます。

              最初 RING 0,1,2,3 って作ってみたけど、結局 RING 1,2 はほとんど使われなくなって、そのうち RING -1 が必要になって、って、適切なレイヤ(?)数を将来にわたって予見するって難しいですね。まるで OSI 7層モデルみたい。
              --
              屍体メモ [windy.cx]
              親コメント
    • by Mc.N (3705) on 2005年11月15日 20時42分 (#832316) 日記
      Intel の仕様書を見るよりも「Intelの仮想化支援技術 「Vanderpool」がベールを脱ぐ [nikkeibp.co.jp]」が良く纏まっていてお勧めです。次にWindows Virtualization [microsoft.com]にある「Virtualization Technology for Intel Architecture(PPT形式)」とか「Windows Virtualization Architecture(PPT形式)」を読むとこの技術の大体の状況が掴めると思います。

      VMM (この場合は Virtual Machine Monitor ね) によるVM のサポートや VM の独立性の向上辺りが VT のキモではないかと考えています。と言っても私は単に VMware で 64-bit Guest OS が動作してくれるだけで御の字なんですけどね =)。

      ちなみに例の「Pentium 4 672/662」ですが早速アキバで販売が始まったようです。VT が使えるかサッパリ分からない状況で売ってしまう辺り、人柱度高めでアレですが(参考:VT対応のPentium 4 672/662がいきなりバルク品で販売開始 [impress.co.jp])。
      --
      Mc.N
      親コメント
    • by Anonymous Coward on 2005年11月15日 9時54分 (#831970)
      >単に早くなるだけ?
      それが一番ありがたいことです。
      >だったらプロセッサのパフォーマンスを全体的に引き上げるのと同じだよなぁ
      効果は同じでも、実装は違うってことでしょう。
      全体を引き上げるより特定目的を救う方が簡単。
      親コメント
      • 80386にMMUが搭載されたのと同じくらいのステップアップってことだよね?
        VMM無しでもVMWARE動いてるし(比較すると遅いけど)
        MMUだってなくてもOS動くし!(比較すると遅いけど)
        親コメント
      • >>単に早くなるだけ?
        >それが一番ありがたいことです。

        いやホントに。
        でも自分の用途の場合、結局 Windows+Linuxなわけで、
        そうすると、Windows上のcoLinuxで用が済んでしまう
        のも事実なんですよね。
        特にlinuxの用途はネットワークプログラムのテストとか
        なので、coLinuxで数が増やせるのもうれしい。

        Windows用の無料で使えるXがどれもイマイチなので、
        ちゃんとした(というと語弊がありますが)Xってのが期待してるところです。

        あとは、Solaris10とかつまんでみようかな、って時とかかな。
    • > 普段 Windows で
      それ、Windowsが落ちたら全部死にますよね。
    • リソース管理だけをやる小さくセキュアなコアOS上で
      windowsの動くVMとLinuxの動くVMとその他諸々が動くVMが
      複数並列かつ独立で動くようになれば、
      そもそもVMwareみたいなアプリケーションとしての仮想環境が不要になるのでは?

人生unstable -- あるハッカー

処理中...