• 検索結果がありません。

実験要素の基本性能の検証

ドキュメント内 博 士 論 文 (ページ 61-71)

4.4 実験実行者が実験実行環境に求める機能

4.4.12 実験要素の基本性能の検証

実験を行う際には実験駆動単位を構成する各要素の性質や性能がわかっていな

実行環境に存在するさまざま要素の基礎データはまえもって収集されていること が望まれる。

以上が実験駆動単位の構築・実験実行手順を支援するために実験実行環境に求 められる機能であるといえる。これらは基本的に実験を実行するために必要な機 能であり、これらの機能が協調することで、実験内容の検討・決定手順で決定さ れた内容を入力として受取り、実験を実行する。

II

大規模実証環境の開発運用と評価

第 II 部では、3章で述べた実験駆動単位の構築・実験実行手順のうち、大規模 実証環境に着目した支援手法について述べる。論理的な検証手法であるソフトウェ アシミュレーションに関しては、汎用的なソフトウェアシミュレータが開発・利 用されており、それらにより上記手順の支援がなされている。しかし、大規模な 実験設備はまだ数が少なく、その議論は十分でない。そこで、大規模な実験設備 であるStarBEDと、StarBED用の実験支援ソフトウェアであるSpringOSの開発 と運用を続けてきた。5 章で大規模実証環境の設計として、実験設備および支援 ソフトウェアに必要とされる要件をまとめ、それをふまえた上で6章でStarBED の詳細について、7章でSpringOSの詳細について述べる。また、8章でStarBED とSpringOSの評価をまとめる。

5

大規模実証環境の設計

インターネットのような実環境に、新たな技術を導入する際には、ノードやその 集合であるネットワークのどのような性質が対象技術に影響するのか、また、新た な技術が既存の技術におよぼす影響の種類や規模の予想は困難である。ソフトウェ アシミュレータは実験実行者がまえもって想定した環境で、決められた手順にし たがって正確に動作するが、各要素の動作を十分に予測できていなかった場合は、

その結果が実際のインターネット上での挙動と異なるおそれがある。実証環境で は、実環境と同様に、それぞれのノード上のプロセスが自律的に動作し、実験実 行者が想定していなかった環境を産み出す可能性は大きく、実環境により近い実 験結果が得られるが、一般的に実現できる実証環境の規模およびそれを構成する 要素の多様性は、実環境とは大きく異なる場合が多い。このため、実証環境での み検証を行っても、実環境に対象技術を導入した際に、実験段階では予測できな かった問題が発生することがある。一般的なネットワーク技術の開発手順を図 5.1 に示す。これに対し、大規模実証環境による、より現実に近い環境で対象技術の 検証を行うことで、対象技術を実環境に導入した際に発生する問題をできるだけ、

検証段階で発見することを目指す。本論文で提案する開発手順を図 5.2に示す。

実証環境を利用した場合、実験駆動単位の構築および実験実行コストが大きい ことはすでに述べた。実証環境の規模が大きくなるほど、ノードの用意や物理接 続に関するコストは大きくなる。

これらのコストを軽減するため、多数の実験用ノードを持つ施設を構築するこ とで、実証環境を構築するたびに実ノードを調達するコストの低減を図った。この

施設を複数の実験実行者で時分割および空間分割により共有利用することで、そ の経済的および人的な管理コストを低減できる。ただし、このような実験設備に は、非常に多くの実ノードが存在し、手動での実験トポロジ構築は困難であるた め、外部からの設定入力により、自動的にノード間接続を変更できる機器を利用 する。このような機器には、VLANやATMにより仮想的にトポロジを変更でき るスイッチや、物理的に接続を変更できるスイッチが利用できる。

これまでで挙げた手法により、実ノードの用意およびトポロジ構築のためのコ ストは軽減できる。しかし、ノードへのソフトウェアの導入や実験シナリオの実 行にも、大きな人的および時間的リソースが必要となる。また人為的ミスにより、

実験精度の低下を招く可能性は高い。これを解決するため、実験実行者の意図す る実験トポロジの自動的生成および、実ノードへ自動的にOSやアプリケーション ソフトウェアを導入する支援ソフトウェアを用意し、実験実行の大部分を支援ソ フトウェアにまかせることで、実験実行コストの削減と、人為的な実験精度の向 上を図る。

本節では、このような環境を想定した実験の実行手順について考察し、実験設 備に必要なハードウェア要件および、支援ソフトウェア要件について議論する。

5.1 実ノードを利用した環境での実験の実行手順

一般的な実ノードを利用した環境での実験の実行手順について、支援ソフトウェ ア無しの場合を図5.3 a)に、支援ソフトウェア有りの場合の手順を図5.3 b)に示 す。図中のアラビア数字で表した手順が実験支援ソフトウェア無しの場合、ロー マ数字で表した手順が実験支援ソフトウェアが有る場合である。

まず、実験支援ソフトウェア無しの場合の手順の詳細を以下に示す。

1)実験トポロジやシナリオの検討 実験の目的により適切な実験トポロジや各ノー ドの性能要件および導入するソフトウェアを検討し、さらにその環境上で実 行されるべきシナリオを検討・決定する。

2)必要な実ノードなどの用意 検討の結果から必要な実ノードやネットワーク機 器を用意する。

2.論理的検証 問題の修正

問題の修正

5.実環境への導入 4.実証環境での実践的実験

3.実環境向け実装の作成 1.新規アイデアの発案

問題の発生/発覚

問題の発生/発覚 問題の発生/発覚

図 5.1: 一般的なネットワーク技術の開発手順

ネットワーク技術のアルゴリズムおよび性能の論理的検証と実証環境 での実装の挙動および性能検証のみを行い実環境へ導入する。実証環 境では顕在化しない問題も多く、実環境に技術を導入した際に、他の サービスとの関係や規模追従性に関する問題が発生することがある。

2.論理的検証 問題の修正

問題の修正

問題の修正 3.実環境向け実装の作成

1.新規アイデアの発案

5.大規模実証環境での実践的実験

6.実環境への導入

問題の発生/発覚 問題の発生/発覚

問題の発生/発覚 4.実証環境での実践的実験

問題の発生/発覚

図 5.2: 提案するネットワーク技術の開発手順

実証環境で実装に関する最低限の検証後、実環境に導入する前に、実 証環境よりも実環境に近い大規模実証環境においての実験を行う。こ れにより、規模や多様性などに起因する問題を洗い出し、実環境へ技 術を導入する前に問題を修正する。

4)ノードへのソフトウェアの導入

1)i) 実験トポロジやシナリオの検討

3)各ノードの接続

5)ネットワーク機器の設定

6)構築した環境上でのシナリオ実行

7)iv)ログの解析

iii)支援ソフトウェアの実行

2)必要な実ノードなどの資源の用意 ii)実験の設定記述の作成

a)支援ソフトウェア無し b)支援ソフトウェア有り

図 5.3: 実験の実行手順

実験支援ソフトウェアを利用できる場合とできない場合の、実験実行 手順の比較。実験支援ソフトウェアが存在する環境であれば、実験実 行者は設定記述を用意し、実験支援ソフトウェアを実行するのみで、

実験結果を得ることができる。

3)各機器の物理的な接続 用意したネットワーク機器を物理的に接続する。

4)実ノードへのソフトウェアの導入 実験用ノードへ必要なOSやアプリケーショ ンソフトウェアを導入し、必要な設定を行う。

5)スイッチなどネットワーク機器の設定 必要であれば、スイッチやネットワー ク機器の設定を行う。

6)構築した環境上でのシナリオ実行 構築された環境上で実験シナリオを実行し、

実験データを収集する。

7)ログの解析 得られた実験データを解析する。

2の手順についてはすでに提案した、まえもって多数のノードを用意しておくと いう方法で解決できる。支援ソフトウェアは何らかの形で実験実行者による設定記 述を入力として受け取り、それにしたがい実験を実行する。この時の実験手順は、

図 5.3 b)に示したとおりであり、実験実行者は実験の大部分を支援ソフトウェア

にまかせることで、実験による拘束時間を短縮することができる。

以下に支援ソフトウェアを用いた場合の手順の詳細を示す。

i)実験トポロジやシナリオの検討 実験の目的により適切なネットワークトポロ

ジや各ノードの性能要件および導入するソフトウェアを検討し、さらにその 環境上で実行されるべきシナリオを検討・決定する。

ii)実験の設定記述の作成 検討の結果にしたがって実験トポロジや実験シナリオ などを記述する。

iii)支援ソフトウェアの実行 設定記述を入力とし支援ソフトウェアを実行する。

iv)ログの解析 得られた実験データを解析する。

これにより、実験実行者は行う実験の検討および実験データの解析に注力でき る。また、実験はまえもって記述された手順にしたがって機械的に実行されるた め、人為的なミスの低減および、再現性の向上にも効果がある。

ドキュメント内 博 士 論 文 (ページ 61-71)