第 III 部
6.4 マルチキャストを用いたデータ配布
6.4.1 実験制御
全体の制御手順を検討する。仮想ノードの起動、終了やアプリケーションの制御を行う 場合、個々の仮想ノードへ命令を直接送信すると、制御メッセージを全仮想ノードに送信 する必要があり、制御メッセージの送信にかかる時間が長くなる。それに伴い、実験の開 始、終了などの同期制御が困難になる。したがって、実証検証環境構築のような多数の実 ノードを制御する実証検証環境では、図 6.2の様に個々の実ノードにNode Agentプログ ラムを設置し、個々の実ノード上で動作する仮想ノードの起動・終了や実験対象のアプリ
Distribute virtual nodes Disk image Physical node preparation
Starting virtual node
Physical node start and startup check
図 6.1: マルチキャストを用いた実証検証環境構築の手順
マルチキャストを用いた実証検証環境の構築では、まず物理ノードを準備 し、起動を確認後マルチキャストを用いて仮想ノードのディスクイメージを 配布する。実験で利用するノードの均一性が高く、ノードのディスクイメー ジの種類が少ない程、全体の転送にかかる時間を削減できる。
Node Agent
Node Agent
Node Agent
Node Agent Node 1
Node 2
Node 3
Node n
Contro l Messa
ge
Management Node Hardware
OS(HyperVisor) Virtual
Machine Experiment Application
Node
Command Management
Server
Node Agent (user space)
Front End GUI/CLI(Telnet)
図 6.2: Node Agentを用いた実験制御フレームワークの概要
ユーザは制御メッセージをマネージャに通知する。マネージャは制御内容を 解析し、HyperVisorノード毎の制御メッセージに分割し、各Node Agentに 送信する。各HyperVisorノードにNode Agentを常駐さる事で、仮想化に よって規模が拡大した実験環境内に階層的な制御フローを構築すると共に、
同一物理ノード上の仮想ノードに統一的な制御を可能とする。
ケーションの制御を行わせる方が良いと考えられる。そして、Node Agentを管理制御する Manager Serverが実験者からのコマンドを解釈し、各Node Agentを制御する。表 6.1に Node AgentおよびManager Serverが持つべき機能をまとめた。
6.4.2 実ノードの起動方式
実ノードのテンプレートディスクイメージを作成し、各実ノードのローカルディスクに OSを直接導入する手法はSpringOSで実現されている。この方法ではディスク単位、パー ティション単位でのディスクイメージの配布となり、OSの導入に時間を要する [34]。ネッ トワークブートでの起動の場合、OSの構成ファイルを転送するだけで良いため、転送量 が少なくて済む。また、起動とOSの導入が同時に行われるため、環境構築作業全体の時
表 6.1: Node AgentとManager Serverの機能 機 能
Node •実ノードのディスクの管理
Agent パーティション作成/フォーマット、マウント...etc
•各種ファイルの取得・転送
NFSサーバからのファイル取得、ファイルの転送 •実ノードのネットワーク設定
物理インターフェース・ブリッジの設定...etc •自ノード上の実験対象アプリケーションの制御 設定、実行、終了...etc
•仮想ノードの管理
仮想ノードの複製、設定、起動、終了...etc
Manager •実験者からのコマンド受付
Server コマンドの解釈、Node Agentコマンドへ変換...etc •Node Agentの制御
コマンド送信、Node Agent電源制御/状態確認...etc
間短縮になる。仮想ノードを用いた実証検証環境の構築では、実ノードに導入されるOS
はWindows等のアプリケーションを実際に動作させるOSに比べ小容量で済み、全てをオ
ンメモリで動作させることも可能である。以上の理由から実ノードの起動方式としては、
ネットワークブートで起動する方が望ましい。