AQUARIUS: 動的適応可能なQOSアーキテクチャ 慶應義塾大学 政策・メディア研究科 大越 匡 (slash@ht.sfc.keio.ac.jp) 情報処理学会 オペレーティングシステムとシステムソフトウェア研究会 @Okinawa 1998/5/8
研究概要 目標 AQUARIUS モバイルコンピューティング環境での (1)作業品質の保証 (2)作業の継続性の提供 Adaptive QUality of service ARchitecture for dynamIcally reconfigUrable System 動的適応可能なQOSアーキテクチャ
Outline 1 モバイルコンピューティング環境 2 作業品質の保証 ・ 作業継続性の提供 3 関連研究 4 動的適応型QOSアーキテクチャの設計 5 実装 6 評価 7 まとめと今後の課題
モバイルコンピューティング環境 計算機外部環境の変化 計算機資源の変化 ネットワーク接続状態、電源供給状態、 周辺機器接続状態… 現在位置、気温、湿度、明るさ... 計算機資源の変化 ex. ネットワーク資源 帯域幅、リンク方式、各種保証機能 等
環境 a 資源量:2Mbps 資源性質: 無線 A 職場 移動 環境 b 資源量:9.6kbps 資源性質: 無線 A 電車内 移動 計算機X WavaLAN PC Card A 職場 移動 環境 b Cellular PC Card 資源量:9.6kbps 資源性質: 無線 計算機X A 電車内 移動 環境 c 仕事魔Aさんの場合 ISDN PC Card 計算機X 資源量:128kbps 資源性質: 有線 A 自宅
作業の “品質” と “継続性” 計算機資源の動的変化の中で 計算機利用者とアプリケーションに対して 作業品質の保証 作業継続性の提供 多種のプロセスへの資源配分 計算機資源の動的な変化への適応 作業継続性の提供
(t) 継続性のある作業 利用者の作業 アプリケーション の品質 2Mbps 無線 9.6kbps 計算機資源 無線 128kbps 有線 計算機環境 (機器構成) 無線 LAN 携帯 電話 ISDN 位置 職場 電車内 自宅 計算機X A (t)
関連研究(1) 作業品質の保証 QOSアーキテクチャ 計算機資源の予約と配分機構 動的QOS制御機構 QoS-A[Cambell94]
関連研究(2) 作業継続性の提供 Mobile-IP TCP-R PMI + Mobile-IP (Univ.of Oregon) 複数のPCMCIAネットワークインターフェースカードを 用いた移動透過性に関する研究
各関連研究における問題点 Mobile-IP TCP-R等 QoS-A ○ (IP層およびTCP層) × (機器の動的変更に 対応不可能) 移動透過性 QOS制御機構 × ○ (QOSアーキテクチャ) 作業の継続性 ○ × サービス品質 × ○
動的適応型QOSアーキテクチャの設計 目標 5つの機能 (A) 作業継続性の提供 (B) サービス品質の保証 1)計算機機器と独立に抽象化された計算機資源 2)計算機資源予約機能 3)計算機機器構成変更時の通知機能 4)資源量変更の通知機能 5)資源性質変更の通知機能
Software Architecture Application 1 Application 2 Application n Control Application Software Architecture ... libAQUA libAQUA libAQUA Messenger Resource Reservation & Resource Assignment Aquarius Server Resource Center Messenger Device Management Server Register or Delete Resource Message Invoke Program Messenger Notify Kernel Device Driver Device Driver Messenger Device PCCard Interrupt DeviceControler
(A) 作業継続性の提供 1)物理的な機器構成と 独立して抽象化された計算機資源 計算機機器構成の変更を隠蔽 恒久的なエンティティ これまで 1)物理的な機器構成と 独立して抽象化された計算機資源 計算機機器構成の変更を隠蔽 恒久的なエンティティ これまで Application これから Application 独立資源抽象 資源A 資源B 資源A 資源B 機器A 機器B 機器A 機器B
(B)サービス品質の保証 QOS制御のための機能 計算機資源の予約と配分 2)計算機資源予約機能 資源変化時の配分量の調整 3)計算機機器構成変更時の通知機能 4)資源量変更の通知機能 5)資源性質変更の通知機能
Application Agent SubSystem 資源予約と 配分動作 Application (8) (1) 資源予 約情報 (2) libAQUA Application(2)~(n) (7) 予約量 (3) Aquarius Server Application Agent SubSystem Application Agent App. Agent (n) (4) App. Agent (2) (6) 配分量 …. read write (5) ResourceDatabase SubSystem 計算機資源 データベース
資源の変化と配分量の調整 .... (7) (6) ... (5) (4) (3) (2) (1) Status Messenger Application(1) Application(2) Application(n) (7) .... libAQUA(1) libAQUA(2) libAQUA(n) (6) Aquarius Server Application Agent(1) Application Agent(2) ... Application Agent (n) (5) Resource Database SubSystem 計算機資源 データベース (4) (3) Resource Center (2) DB Subsystem 計算機 機器構成 データベース (1) Status Messenger Resource Messenger
実装 ネットワーク資源関連部分 実装環境 言語 ThinkPad560 + PCMCIA Cards FreeBSD 2.2.1R MIT-pthreads 1.60beta6, JDK 1.1.5 PAO-970331 言語 C言語….各Messenger, Resource Center, Aquarius Server Java言語….libAQUA(AQUASocket)
実装全体図 Application 1 Application 2 Application n ... libAQUA libAQUA Java VM 1.1 Resource Reservation & Resource Assignment Ifconfig Messenger Aquarius Server (C) Resource Center (C) pccardd Message Register or Delete Resource dhcpc Invoke Messenger Messenger pccard_ ether Notify FreeBSD 2.2.1R Kernel Device Driver Device Driver Device PCCard Interrupt DeviceControler
ライブラリ “AQUASocket” libAQUAのネットワーク資源部分 ソケットインターフェースの拡張 特長 java.net.Socketクラスへの代替 特長 QOS制御が可能 (動的QOS制御を含む) NetworkQOSオブジェクトと協調 Java言語イベントモデルによるQOS変更通知 Socket上位レベルでの移動透過性を実現 Socketの動的な張り直し
AQUASocket NetworkQOS Event NetworkDevice Event AQUASocket NetworkQOS Dynamic InputStream Socket AQUAReserver Dynamic OutputStream NextSocketServer AQUAReserver UpCallHandler Socket ResumeControler Aquarius Server
AQUASocket利用実装例 public class MobileVideoConference implements NetworkQOSListener{ NetworkQOS nqos = new NetworkQOS(); nqos.setMaxBandwidth(256); nqos.setMinBandwidth(128); nqos.setImportance(importance); nqos.addNetworkQOSListener(this); AQUASocket asock = new AQUASocket(hostname, port, nqos, true); out = asock.getOutputStream(); in = asock.getInputStream(); }
評価 定量的評価(AQUASocketの性能評価) 定性的評価 WaveLAN と Ethernet の接続切り替え時の 動的QOS制御機能の検証 定性的評価 他システムとの機能比較 次世代アプリケーション基盤環境の実現
定量的評価 (1) 評価環境 Ethernet WaveLAN Ethernet (10Mbps) Wave POINT Pentium-90MHz 16MB FreeBSD 2.2.1R WirelessLAN (2Mbps) Max 3Mbps Min 128kbps の帯域予約 Pentium-133MHz 40MB FreeBSD 2.2.1R
定量的評価 (2) 評価結果 WaveLAN(2Mbps) 予約量: 3000kbps 配分量: 2000kbps Ethernet(10Mbps) 予約量: 3000kbps 配分量: 3000kbps 結果:3.32×103kbps
評価結果の検討 帯域保証機構のないEthernet, WaveLAN で自律的な動的QOS制御を実現 動的適応時のゆらぎ AQUARIUSによる 資源配分、モニタリング、変化通知 アプリケーション側での動的適応 動的適応時のゆらぎ JavaVMのタイマー精度の問題
定性的評価~他システムとの機能比較~ M-IP TCP-R PMI QoS-A AQUARIUS IP層 TCP層 IP層 × Socket上層 移動透過性 三角 直接 三角 × 直接 移動後の通信 資源予約機構 × × × ○ ○ 動的QOS制御 × × × ○ ○ × × ○ ○ 資源量変更 ○ 資源性質変更 × × ○ ○ ○ 機器構成変更 × × ○ × ○ アプリケーション の動的適応 不可 不可 可 可 可 実装 MH,HA,FA MH,CH MH,HA,FA MH,CH MH,CH
定性評価(2) M-IP TCP-R PMI QoS-A AQUARIUS ○ ○ ○ × ○ × × △ ○ ○ × × × × 達成 作業の継続性 サービス品質 の保証 × × △ ○ ○ × × × × 達成 研究目標
まとめ 研究目標 動的適応可能型QOSアーキテクチャ プロトタイプシステムの実装 定量・定性評価 モバイルコンピューティング環境での (1)作業品質の保証 (2)作業の継続性の提供 動的適応可能型QOSアーキテクチャ プロトタイプシステムの実装 “AQUASocket” 定量・定性評価 サービス品質の保証・作業の継続性を提供
今後の課題 実装の最適化とパッケージ化 CPUなどの他資源の実装 QOS変換機構の実現 システム~アプリケーションまでの 包括的な評価と改良
Pau.
有効な連続メディア処理 既存OSにおける連続メディア処理の問題点 解決案としてのQOSアーキテクチャ 処理品質が無保証 公平性を重視した計算機資源の配分 解決案としてのQOSアーキテクチャ 計算機資源の予約および配分機構 資源利用状況の監視と通知機構 資源量変化の通知機構 処理に必要な資源量の算出機構 等
NetworkQOSクラス 予約量設定 NetworkQOSEvent イベント 発生 イベント 発生 予約量 Application AQUARIUS 配分量 消費量 NetoworkQOS モニタ 配分 読み出し
連続メディア処理と Quality Of Service (QOS) 連続メディア情報の特長 時間的制約 サービス品質の制約 既存OSにおける連続メディア処理の問題点 処理品質が無保証 公平性を重視した計算機資源の配分 解決案としてのQOSアーキテクチャ 計算機資源の予約および配分機構 資源利用状況の監視と通知機構
QOSアーキテクチャ QoS-A[Cambell94] Plane間協調 Distributed Platform flow management plane Plane間協調 QoS Maintenance Plane Protocol Plane Distributed Platform Transport Layer Layer間協調 Network Layer Datalink Layer Physical Layer