作ることは理論上は可能かもしれないが、非常に難しそう。
例えばメモリ管理一つを考えてみても大変。
10 台の PC からなる一つの仮想VMを考える。その VM からは 10 台分のメモリを透過的に扱えなければならない。実PC がそれぞれ 1G のメモリを持っていたら VM としては 10G 扱えて欲しい。
仮想VMで例えばWWWサーバを立ち上げたとして、メモリを 3 G 要求したとする。すると、実際には複数の PC にまたがってメモリを確保する必要がある。そして WWWサーバの処理が実行されたとすると、実際にはいずれかの実PC上で実行される。つまりプロセスが実行されている PC とメモリがある PC は異なる可能性がある。仮想記憶を複数の PC に渡って実現しないといけない。CPU の処理に比べてメモリは遅いのにネットワーク越しの仮想記憶は問題にならないくらい遅いはず。だから遅延の問題を解決しないといけなくなる。となると、頑張って効率的な仮想記憶管理のアルゴリズムを考えないといけないんじゃないかと。
博士論文が出来るくらいの研究になりそうだなと思う。少し前から mona os とか OSASK とか自作する人もいるけど今回の仮想VM を実現できるような特徴ある OS になったら面白いなぁと思います。
具体的な方法知らないけど。
仮想的な、実態がないが、実態があるかのように扱うことができる(sshログインなどできる)
マシンの構築方法を知りたいのです
並列とかグリッドとかはまぁまぁ情報やソフトがあるのに、
TAK_TAKさんが求められているようなものが無さそうですねー。
間違っていなければ、
普通のパソコン複数台のハードをNWで接続して、その上に1台の高速コンピュータを作り出そうということですよね。
こういうのができれば、初心者でも簡単に高機能コンピュータ環境を作れそうで楽しそうですね。
。
こういうのがあればWebサーバやDBサーバとかでも難しい事考えずに高性能サーバが作れそうでいいですね。
。
実際の世の中でも並列やグリッドが多いのは、(googleのシステムなど)
その方が難しくても高速だからなんでしょうね。
仮想化することのオーバーヘッドって大きいですし。
。
また何か情報があれば更新または連絡いたします!
takerudayo さんのいうようなことをやりたいわけなんです
こういうのがあればWebサーバやDBサーバとかでも難しい事考えずに高性能サーバが作れそうでいいですね。
そういう方法がありそうな気はするんですが、
不可能なんでしょうか?
前述したとおり、仮想化よりもグリッドコンピューティングの方がオーバヘッドが少なくリソースを有効活用できるから流行らないだけと思います。
Webにしても負荷分散が主流で主要なWebサーバソフトは負荷分散に対応しているので、
開発側から見ても手っ取り早く負荷分散を使うという状態が今の状況でしょうね。
。
コンピュータ仮想化が流行っているのは
・古い環境をそのまま使える
・サーバハードを簡単にリプレースできる
という利点からで高速化では無いので・・・。
高速化=>グリッド
再利用=>仮想化
例えばメモリ管理一つを考えてみても大変。
10 台の PC からなる一つの仮想VMを考える。その VM からは 10 台分のメモリを透過的に扱えなければならない。実PC がそれぞれ 1G のメモリを持っていたら VM としては 10G 扱えて欲しい。
仮想VMで例えばWWWサーバを立ち上げたとして、メモリを 3 G 要求したとする。すると、実際には複数の PC にまたがってメモリを確保する必要がある。そして WWWサーバの処理が実行されたとすると、実際にはいずれかの実PC上で実行される。つまりプロセスが実行されている PC とメモリがある PC は異なる可能性がある。仮想記憶を複数の PC に渡って実現しないといけない。CPU の処理に比べてメモリは遅いのにネットワーク越しの仮想記憶は問題にならないくらい遅いはず。だから遅延の問題を解決しないといけなくなる。となると、頑張って効率的な仮想記憶管理のアルゴリズムを考えないといけないんじゃないかと。
博士論文が出来るくらいの研究になりそうだなと思う。少し前から mona os とか OSASK とか自作する人もいるけど今回の仮想VM を実現できるような特徴ある OS になったら面白いなぁと思います。
# TAK_TAKAさんの日記を見るとコンピュータに関してはとても詳しそうなので釈迦に説法かもしれませんが。
これが近いような気がしてきた。
具体的な方法しらないけど(ry
こういう形態を「クラウドOS」という名前で検討されているようです。
http://d.hatena.ne.jp/oraccha/20090418/1240053397