Virtualizing a Multiprocessor Machine on a Network of Computers

Slides:



Advertisements
Similar presentations
Virtual Editionのご紹介 2012年12月12日.
Advertisements

クラスタの構成技術と クラスタによる並列処理
Chapter11-4(前半) 加藤健.
最新ファイルの提供を保証する代理FTPサーバの開発
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
Docker.
Virtual Editionのご紹介 (株)ネットジャパン 法人営業部 2012年7月18日 1.
仮想化システムを用いて 複数のOSを動かす
Xenを用いたクラウドコンピュー ティングにおける情報漏洩の防止
JavaによるCAI学習ソフトウェアの開発
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
ソースコード品質概論 なぜソースの品質を追求するのか
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
大きな仮想マシンの 複数ホストへのマイグレーション
ネストした仮想化を用いた VMの安全な帯域外リモート管理
UNIXについて 松野秀平.
単一システムイメージを 提供するための仮想マシンモニタ
GXP・Phoenixによる 大規模並列情報処理
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
IPv6アドレスによる RFIDシステム利用方式
サーバ負荷分散におけるOpenFlowを用いた省電力法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
Occam言語による マルチプリエンプティブシステムの 実装と検証
Virtual Editionのご紹介 2012年7月26日.
型付きアセンブリ言語を用いた安全なカーネル拡張
MPIによるwavからmp3圧縮の検証 情報論理工学研究室 04‐1‐47‐200 木村 惇一.
全体ミーティング 金田憲二.
MPIを用いた最適な分散処理 情報論理工学研究室 角 仁志
ウイルスについて I98N044 久野耕介 I98N114 藤田和久
Riakデータベース on SoftLayer
暗黙的に型付けされる構造体の Java言語への導入
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
リモートホストの異常を検知するための GPUとの直接通信機構
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
インターネットにおける真に プライベートなネットワークの構築
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
Ibaraki Univ. Dept of Electrical & Electronic Eng.
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
Linux リテラシ 2006 第5回 SSH と SCP CIS RAT.
単一システムイメージを 提供するための仮想マシンモニタ
東京工業大学 情報理工学研究科 数理・計算科学専攻 千葉研究室 栗田 亮
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
非対称リンクにおける ジャンボフレームの性能評価
IP over DVB-RCSの設計と実装
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
Intel SGXを用いた仮想マシンの 安全な監視機構
VMMのソフトウェア若化を考慮した クラスタ性能の比較
片方向通信路を含む ネットワークアーキテクチャに於ける 動的な仮想リンク制御機構の設計と実装
ガイダンス 情報システム管理 ガイダンス 水野 嘉明 情報システム管理 1.
同志社大学工学研究科 知的システムデザイン研究室 修士2年 中尾昌広
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
複数のリポジトリを統合できる バージョン管理システムの提案と試作
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
仮想マシンと物理マシンを一元管理するための仮想AMT
設計情報の再利用を目的とした UML図の自動推薦ツール
「マイグレーションを支援する分散集合オブジェクト」
卒業研究 JCSPを用いたプログラム開発  池部理奈.
理工学部情報学科 情報論理工学研究室 延山 周平
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
Presentation transcript:

Virtualizing a Multiprocessor Machine on a Network of Computers 金田憲二 大山恵弘  米澤明憲 東京大学 JST

背景 複数の分散した計算資源の利用  分散資源を効率的かつ簡便に利用したい 例)クラスタ上で並列計算 それでは発表を始めます。 まず、研究の背景ですが、近年では、PCの価格の低下やネットワーク技術の進化に伴い、多くの人が複数の分散した計算資源を利用するようになってきています。 例えば、もっとも一般的な例の一つとしては、クラスタの利用などが挙げられれます。これは、廉価なPCを複数集めて、それらをネットワークでつなげて、その上で科学技術計算などを並列に行い、低コストで高スループットを達成するというものです。 そして、当然のこととして、こうした分散した計算資源というものを日常的に利用するようになるにつれて、 より簡便かつ効率的に計算資源を利用したいという欲求が生じてきます。

分散資源の利用における問題 既存のシステムは色々とあるが…  利用には困難が伴う Globus、Condor、LSF、Plan9、… 既存のアプリケーションとの整合性が悪い 煩雑な設定・操作を必要とする そうした分散資源を効率良く利用したいという欲求に答えるため、数多くの研究がなされてきています。 例えば、SSHであるとかGlobusであるとかいったシステムが実際に研究・開発され、人々に使われてきています。 しかし、こうした既に開発されたシステムだけで十分かというと、必ずしもそうとは言えません。 そうしたシステムも、依然としていくつかの問題があり、利用には困難が伴います。 例えば、問題の一つとしては、既存のアプリケーションとの整合性が悪いことが挙げられます。 既存の並列プログラムを走らせることが不可能であったり、たとえ走らせることが可能な場合であっても、ソースコートの改変や、システムの提供するライブラリとの再リンクが必要であったりする場合が多くあります。 また、別の問題としては、システムの習熟にかかる手間が多大であることが挙げられます。 例えば、システムをインストールする際に煩雑な設定を必要としたり、 利用に際して、システムの提供する独自のインターフェースに習熟する必要があったりします。

本研究の目的 分散資源の効率的かつ簡便な利用 既存の並列プログラムを無変更で実行できる 煩雑な設定・操作を必要としない そこで、本研究の目標として、分散資源をより効率的かつ簡便に利用可能にすることを目指します。 より具体的には、なるべく既存のプログラムを改変することなく動作させることを可能にし、 また、ユーザがなるべく分散環境を意識せずに済み、システムの習熟に手間のかからないようにすることを目指します。

アプローチ 仮想マシンモニタの技術を用いる 実マシンと同等の処理が可能な仮想マシンを ソフトウェアでエミュレーション 実マシンと同等の処理が可能な仮想マシンを  ソフトウェアでエミュレーション この目標を実現するために我々がとるアプローチですが、我々は仮想マシンモニタという技術を利用して、目標を実現します。 仮想マシンモニタというのは、VMWare workstationのようなものをイメージすると分かり易いのですが、マシンと同等の処理仮想マシンをソフトウェアでエミュレーションするものです。 例えば、仮想マシンモニタは、Linuxの走っている実マシン上に仮想マシンを構築し、その仮想マシン上でWindowsを走らせることなどが可能です。 この仮想マシンモニタというものを、本研究では分散資源を効率的に扱うために利用します。

提案システム ~ Virtual Multiprocessor ~ 複数の分散した計算機上に                     SMPを仮想的に構築する仮想マシンモニタ N台のシングルプロセッサマシン 仮想化 具体的どういった仮想マシンモニタを作成するかということなのですが、 このスライドに書かれているようなものを作成します。 我々の仮想マシンモニタは、複数の分散した計算機上にSMPマシンを仮想的に構築します。 例えば、このシステムは、シングルプロセッサマシンがN台与えられた時、NプロセッサからなるSMPマシンを仮想的に構築します。 ユーザは、この仮想SMPマシンの上で何かOSを走らせて、そのOS上でコマンドやプログラムの実行を行います。 Nプロセッサからなる仮想SMP

なぜ一台のSMPにみえると うれしいのか SMP用の並列プログラムをそのまま実行できる ユーザは分散環境を意識する必要がない 例)make、シェルスクリプトによる並列実行                       ユーザは分散環境を意識する必要がない 個々のマシンの設定(OSのバージョンなど)を     意識する必要がない では、なせこのシステムで分散資源を効率的に利用することが可能になるのか、なぜ複数のPCが一台のSMPに見えるとうれしいかということなのですが、ここに挙げられているような利点があります。 まず、第一に、SMP用の並列プログラムをそのまま実行できるという利点があります。 例えば、makeやシェルスクリプトを使って、複数プロセスを立ち上げるだけで、並列処理を簡単に記述、実行することができます。 そして、第二の利点としては、ユーザは分散環境を意識せずに、計算資源を利用できるという点があります。 例えば、自分が使おうとしている個々のマシンのIPアドレスやOSのヴァージョンなどの設定を、ユーザは気にする必要がありません。

システムの動作例 2台のシングルプロセッサマシン上に デュアルプロセッサマシンを仮想的に構築 SMP用Linux 2台のシングルプロセッサマシン上に     デュアルプロセッサマシンを仮想的に構築 SMP用Linux 発表の残りの時間で、システムがどう動作するかについて、具体例を通して説明します。 例えば、このスライドにあるように、2台のシングルプロセッサマシンが与えられているとします。 このとき、我々のシステムは仮想的にデュアルプロセッサマシンを構築することができます。 そして、仮想デュアルプロセッサマシン上で、例えばSMP用のLinuxを動作させることができます。

システムの動作例 makeによる並列処理 ゲストOSのスケジューラによって プロセスは各実マシンに割り当てられる make -j プロセス そしてユーザは、この仮想マシン上で動作するLinuxからコマンドを実行します。 例えば、Linuxからmakeコマンドを実行することによって、並列処理を行うことができます。 makeコマンドによって生成されたプロセスは、OSのスケジューラによって各プロセッサに割り当てられて、 最終的にはそれぞれのプロセッサをエミュレーションする別々のPCによって実行されます。 PC間での負荷分散もOSのスケジューラによって行われますので、効率的に処理することができます。 プロセス プロセス プロセス

現在の状況 ナイーブな実装が完了した ※アメリカのベンチャー企業が、ほぼ同様の システムを開発中(2004年12月プレスリリース) オープンソースとして公開している  http://www.yl.is.s.u-tokyo.ac.jp/~kaneda/dvm ※アメリカのベンチャー企業が、ほぼ同様の   システムを開発中(2004年12月プレスリリース) 差別化が重要 最後に現在の実装状況について説明します。 今現在、システムのナイーブな実装が完了し、オープンソースとして公開しています。 また、アメリカのベンチャー企業がほぼ同様のシステムを開発中であることが、昨年12月のプレスリリースで分かりました。 そのベンチャー企業が開発しているシステムの詳細は不明なのですが、今後はそれとの差別化を図っていきたいと考えています。

終 実装の詳細などについてはポスターで 以上で発表を終わります。 実装の詳細などについては、ポスターの場で説明したいと思います。 どうもありがとうございました。