普段 Windows で Linux 用のソフトを作るときには coLinux 使ってて、それ以外の用途でも今使ってる VMware Player でなんら不満のない自分は、具体的に VT で新しく何ができるようになるのか見当もつきません。単に早くなるだけ?だったらプロセッサのパフォーマンスを全体的に引き上げるのと同じだよなぁ。
はい、Windows XP Home Edition SP2 がホストOS、これに coLinux 入れてるのと、VMware Player の中で Fedora Core 4 もしくは FreeBSD です。もちろんホスト OS が落ちたら全部死にます。ホストとゲストが入れ替わってもそれは同じかと。
今回の VT つかった VMM だと、OS間にゲスト/ホストの関係が無いのかな。VMM が落ちない限り OS 間は完全に分離されている、と。それはうれしい。ただ、各種デバイスへのI/O周りをどう調停するかは気になるところです。
具体的に何がうれしくなるの? (スコア:3, 興味深い)
VMM のための新しい命令が追加されるの?それってたとえば SIMD 命令群が用意されたから特定の処理が早くなりますよ、うれしいね、ってのと似てる?わかんないんでとりあえず Intel の文書 [intel.com]に当たってみます。
屍体メモ [windy.cx]
Re:具体的に何がうれしくなるの? (スコア:5, 参考になる)
従来 VMware 上などで実行するOS/プログラムの性能が、直接インストールしたものに比べてかなり性能低下するのが、これによってほとんど直接実行しているのと変わらなくなるでしょう。
こういった命令が一般化すれば、恩恵を受けるのは複数OSを使う必要がある開発者ばかりでなく、仮想化OSをサンドボックスとしてウィルス保護に使うなど、応用も広がると思います。
まあ、これらはメインフレームが辿った道なんで、順当な路線ということでしょう。
の
Re:具体的に何がうれしくなるの? (スコア:1)
周りに被害を与えないようにサンドボックス化したOSで絶滅危惧種のウィルスを飼うという図が脳裏に。
……やってみようかな?
巧妙に潜伏したバグは心霊現象と区別が付かない。
Re:具体的に何がうれしくなるの? (スコア:0)
ド素人なんで的外れかもしれませんが、もしかしてJavaのVMも幸せになったりするんでしょうか?
Re:具体的に何がうれしくなるの? (スコア:2, 参考になる)
Java VMの命令セットと物理CPUの命令セットの間に特に関係がある訳じゃないんで、残念ながら幸せになったりはしないと思います。
今回の話っていうのはいわば物理CPUの命令を直接使うOSたちをだましてしまおうという話なので、物理CPUをそのまま使う訳ではないJava VMには直接の関係はないといえるでしょう。
# 投稿ついでに余計なものもくっつけておきますね。
ずいぶん前からVMwareを使ってますけど、I/Oの絡まない処理は別にそれほど遅くないんですよね。でももうちょっとするとI/Oが絡んでもあまり遅くならずに済むようになり、ついでに安全にもなるんでしょうかね。どうでもいいけど、I/O要求がかち合ったときどう調停するのかすぐには思い浮かばない自分の頭の鈍さが悲しい(^^;
さらなるついでにもう一点、仮想化技術はWinnyで大事な情報をばらまいちゃうような人々にこそ使ってほしいと思う今日この頃。というわけで、持ち出しが簡単なノートPC用のプロセッサから先に実装してほしかったりして。
Re:具体的に何がうれしくなるの? (スコア:4, 参考になる)
JRockit VM の BEA Systems は Bare Metal [beasys.co.jp] なんてものを考えています。 はっきりとした詳細は不明ですが、ゲストOSを丸ごと一つの Java VM にするんだと推測しています。
コンタミは発見の母
Re:具体的に何がうれしくなるの? (スコア:1)
言われてみれば直接高速化を図らずともこういった手段はありますね。
ちょっと探してみたら上記Bare Metalに関しては日経IT Proの方にも記事 [nikkeibp.co.jp]がありました。
確かに実現すればJava VMの下に汎用OSが寝ている分のオーバーヘッドは回避できそうです。ハードウェアJava Machineを作ったりする方が劇的な効果が望めるでしょうけれど、イニシャルコストや陳腐化その他のリスクを考えると実現可能性という点ではこちらの方が数段高そうです。
最後にもう一度情報どうもありがとうございました。Java VMのパフォーマンス向上で幸せになれる人はこのプロジェクトが立ち消えにならないことを祈りましょう(^^;
Re:具体的に何がうれしくなるの? (スコア:3, 興味深い)
既に、ITRONなどのRealTimeOS上のJavaVMなどはごろごろしています。オーバヘッドの少なさだけならこっちの方が有利そうです。ただし、これらの実装で性能が稼げそうなのは、大量のスレッドを動かすような使い方をしたときだけだと思います。
それでも汎用のOSと一緒に、この高性能JavaVMを同時に動かせるのは悪くはないですね。
Re:具体的に何がうれしくなるの? (スコア:2, 興味深い)
いや、RealTime OS の上に載っているのが Java VM だけで他のネイティブコードが走っていないなら、CPU をスーパーバイザモードで突っ走らせるという荒業があります。
アプリケーションが全部 Pure Java コードなら、プロセス外のメモリへの参照も特権命令の勝手な実行も起きません。それらは全て Java VM が監視できます。すると CPU のユーザモードを使う必要がなくてスーパバイザモードのまま走らせても安全なんです。
これは I/O の速度に効いてきます。I/O 処理中に CPU のモードを切り替える必要がありませんから。なのでそんな環境はネットワーク通信だけ妙に早かったりします。
実用場面では Pure Java では実用性に欠けるので広まりませんでしたが、ネタとしては面白いと今でも思っています。
Re:具体的に何がうれしくなるの? (スコア:1)
前の記事の参照先を見ればよかったです。
BEA がやるとネタですまないかも、と思ったのだけれど、CPU のモードを変えないことが狙いだとすると VMM があったら元の木阿弥なんですよね。BEA がやろうとしていることはちょっと違うんだろうなあ...
Re:具体的に何がうれしくなるの? (スコア:2, 参考になる)
Xen 3.0は,現在コミュニティによるテスト段階にある。ゲストOS側に修正が必要な Para-virtualization技術により,Linuxに最適化されたパフォーマンスが提供されるとともに,Intel社のVT技術によりWindows XPといった修正を加えないゲストOSの仮想化が可能になる。これらゲストOS間でプラットフォーム・リソースの共有が可能になるため,CPU,メモリーI/Oリソースが保証されると説明されている。 [nikkeibp.co.jp]
ってな書かれ方してますねぇ。
Re:具体的に何がうれしくなるの? (スコア:4, 参考になる)
http://www.geocities.jp/andosprocinfo/wadai05/20050528.htm
OSがハードウェアを直接たたくときや割り込みなどを(Hypervisorが)インタセプトしてあたかも直接ハードを操作しているように見せかけるのですが、このオーバーヘッドが結構でかいのです。
(x86の命令もインタセプトしづらい)
と、上記URLではVTとPasificaの比較が行われて、
双方ともあまり差異が無いが、IOアクセスはPacificaのほうが1ランク上の仮想化を実現しているとなってますね。
VTもversionがあがるような話を聞いたけれども。
kusanagi shin
仮想86モニタ? (スコア:1)
さすがにリング -1 を用意してゴニョゴニョ、なんてことは無いでしょうね。
インテルの資料読まずに妄想ばっかしてても不毛ですが。
PC-9801DA2を使っていた頃、単にモード移行するだけ(当然仮想メモリなどはなし)の仮想86モニタもどきを作ったことがあるんですが、I/Oの処理が追いつかず、超シンプルな自作ターミナルソフトですらシリアルからのデータの取りこぼしに悩まされたという・・・・
コンテキストスイッチに300サイクルくらいかかってた記憶がある。
もう記憶が曖昧で、フロッピーディスクに入ってる当時のソースコードも読めないんだろうなぁ。もしかしたら押し入れの億でカビ生えてるかも、5インチフロッピー。
屍体メモ [windy.cx]
Re:仮想86モニタ? (スコア:2, 参考になる)
こちら [impress.co.jp]をどうぞ。
セキュリティ技術のLaGrandeでRING-1とメモリ保護が用意されています。
VTはLaGrandeの機構を利用して実装されるのだとか。
さらに、ここ [impress.co.jp]にあるように、VTは段階的に改良することを前提で計画されているようです。
将来のVTではIOまわりの問題なども改良されると思われます。
げ、RING -1ってホントに言ってる (スコア:1)
最初 RING 0,1,2,3 って作ってみたけど、結局 RING 1,2 はほとんど使われなくなって、そのうち RING -1 が必要になって、って、適切なレイヤ(?)数を将来にわたって予見するって難しいですね。まるで OSI 7層モデルみたい。
屍体メモ [windy.cx]
Re:具体的に何がうれしくなるの? (スコア:2, 参考になる)
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
Re:具体的に何がうれしくなるの? (スコア:1, すばらしい洞察)
それが一番ありがたいことです。
>だったらプロセッサのパフォーマンスを全体的に引き上げるのと同じだよなぁ
効果は同じでも、実装は違うってことでしょう。
全体を引き上げるより特定目的を救う方が簡単。
Re:具体的に何がうれしくなるの? (スコア:1)
VMM無しでもVMWARE動いてるし(比較すると遅いけど)
MMUだってなくてもOS動くし!(比較すると遅いけど)
Re:具体的に何がうれしくなるの? (スコア:0)
>それが一番ありがたいことです。
いやホントに。
でも自分の用途の場合、結局 Windows+Linuxなわけで、
そうすると、Windows上のcoLinuxで用が済んでしまう
のも事実なんですよね。
特にlinuxの用途はネットワークプログラムのテストとか
なので、coLinuxで数が増やせるのもうれしい。
Windows用の無料で使えるXがどれもイマイチなので、
ちゃんとした(というと語弊がありますが)Xってのが期待してるところです。
あとは、Solaris10とかつまんでみようかな、って時とかかな。
Re:具体的に何がうれしくなるの? (スコア:0)
それ、Windowsが落ちたら全部死にますよね。
もちろんホストOSが落ちたら全部死にます (スコア:1)
今回の VT つかった VMM だと、OS間にゲスト/ホストの関係が無いのかな。VMM が落ちない限り OS 間は完全に分離されている、と。それはうれしい。ただ、各種デバイスへのI/O周りをどう調停するかは気になるところです。
屍体メモ [windy.cx]
Re:もちろんホストOSが落ちたら全部死にます (スコア:0)
他のOSはLivingdeadOSもといゾンビOSに???
Re:具体的に何がうれしくなるの? (スコア:0)
windowsの動くVMとLinuxの動くVMとその他諸々が動くVMが
複数並列かつ独立で動くようになれば、
そもそもVMwareみたいなアプリケーションとしての仮想環境が不要になるのでは?
Re:具体的に何がうれしくなるの? (スコア:2, 興味深い)
逆に言えば,そういう方向に行かないと(+VMotion [vmware.com]のような付加価値を出していかないと)VMwareはXen等との競争に生き残れない.
Re:具体的に何がうれしくなるの? (スコア:1)
XenやVMWare ESXがまさにそれです。CPU時間とメモリの割り当て、イベントの通知を行なってくれる小さなOSです。それを、世間の人は仮想マシンモニタとかハイパバイザーとか名前を付けているようです。
Re:具体的に何がうれしくなるの? (スコア:0)
>windowsの動くVMと
つMS-DOS6.2&Windows3.1