340 likes | 514 Views
平成15年度 夏季休業課題報告. 知識科学研究科 M1 丹野聖司. 分散システム:定義. 統合化コンピュータソフトウェアを整備して,ネットワークによって統合された自立コンピュータの集合体. 分散システムのアプリケーション. ユーザ群が利用するコンピュータシステム 自動バンキングシステム マルチメディア・コミュニケーションシステム etc. 分散システムの特徴. 資源共有( resource sharing) 開放性( openness) 並行性( concurrency) 規模透過性( scalability)
E N D
平成15年度夏季休業課題報告 知識科学研究科 M1 丹野聖司
分散システム:定義 • 統合化コンピュータソフトウェアを整備して,ネットワークによって統合された自立コンピュータの集合体
分散システムのアプリケーション • ユーザ群が利用するコンピュータシステム • 自動バンキングシステム • マルチメディア・コミュニケーションシステム • etc
分散システムの特徴 • 資源共有(resource sharing) • 開放性(openness) • 並行性(concurrency) • 規模透過性(scalability) • フォールトトレラント性(fault-tolerance) • 透過性(transparency)
資源共有 • ハードウェア資源の共有 • プリンタ,大規模ディスクなど • ソフトウェア資源の共有 • データ,コンパイラなど 各資源は他の資源へアクセスし,手際よく処理され,確実に首尾一貫して更新することを可能にする通信インタフェースを提供するプログラムによって管理されなくてはならない.
要求 応答 資源共有モデル1 • クライアント・サーバモデル • サーバプロセス:資源管理者 • クライアントプロセス:タスク :サーバ :クライアント すべての資源はサーバプロセスによって管理される
資源共有モデル2 • オブジェクト指向モデル • 実行するプログラムの実体は,操作へのアクセスを提供する,メッセージ通信インタフェースを持ったオブジェクトとする. • 各共有資源はオブジェクト • オブジェクトは唯一のものとされ,ネットワーク内のどこにでも移動することが可能
開放性 • システムをさまざまな方法で拡張できるかどうかを決定する特性 • 新しい資源共有サービスを,既存のサービスの破壊や重複なしに,どの程度追加できるかを決定する
並行性 • N個の処理を並行に実行し,作業効率を上げる
規模透過性 • 分散システムにおいて,システムの規模が拡大するとき,システムとアプリケーションソフトウェアに変更があってはならない
フォールトトレラント性 • システムの故障に対する対策 • ハードウェア冗長性 • ソフトウェア回復性
透過性 • ユーザとアプリケーションプログラマから,分散システムの構成要素が分離していることを隠蔽する • プログラムを完全に並行に実行 • システム全体の崩壊なしに,故障を抑制・回復 • セキュリティ,プロテクションを実行するために通信チャネルを分離し制御のためにしよう • 構成要素の追加,削除によるシステムの成長,衰退
8つの透過性 • アクセス透過性 • 位置透過性 • 並行透過性 • 複製透過性 • 故障透過性 • 移動透過性 • 性能透過性 • 規模透過性
参考文献のまとめ • ORB・分散コンピューティングを用いたWebリンク収集 • HORBを使用した分散Webリンク収集システム
ORB・分散コンピューティングを用いたWebリンク収集ORB・分散コンピューティングを用いたWebリンク収集 • システム概要 • 分散オブジェクト技術HORBを用いた分散コンピューティング環境下での,Webのハイパーリンク収集システム • Master-Slave方式の負荷配分の採用
マシン構成 • Pentium2-400MHz,128M-SDRAM • Master PC:1台 • Slave PC:10台 • PostgreSQL データベースサーバ1台
Master-Slave方式 • Master Slaveのタスク量を決めるURL数とリンク収集の深さの初期変数を持ち,データベースから取得したURLデータをSlaveへ渡す. 常にSlaveのタスクを監視し,タスクが終了したSlaveへ新しいURLタスクを渡す. Slaveから渡されたリンクデータをデータベースへ保存し,未解析URLを新たなタスクURLとしてSlaveへ渡す.
Master-Slave方式 • Slave 割り当てられたURL先のWebページを解析し,リンクを取得する.タスク終了後,取得したリンクデータをMasterへ渡す
この文献に対する意見 • 実験結果について • Slave1台あたりの探索件数について • Master-Slave方式について • Master-Slave間のタスク割り当て方法の改善
Master-Slave方式について 同量のタスク 処理不可能 処理可能 計算リソースに余裕がない 計算リソースに余裕がある
HORBを使用した分散Webリンク収集システム • システム概要 • 分散オブジェクト技術HORBを使用した,分散協調型Webリンク収集システム • 負荷均一化を用いた各サーバの負荷を均一化する
ネットワーク構成 :ルートサーバ :サーバ
通信 • 計算機が収集したURLの共有 • 負荷を移動させることによる負荷の均一化
各計算機の働き • Webリンクの収集 • URLデータの管理 • 計算機間の通信 以上を,マルチスレッド処理で行う
負荷均一化アルゴリズム ①均一化処理開始の依頼 ②ネットワーク全体の総負荷量の算出 ③ルートサーバによる均一負荷のブロードキャスト ④各サーバでの負荷量の調整
負荷均一化について 均一負荷量 処理不可能 処理可能 計算リソースに余裕がない 計算リソースに余裕がある
研究の背景と目的 • 実際のGridを考えるとき,各ノードにあたるものは計算機である • 各計算機は,こちらが意図する処理以外の処理を行っている • 計算機の計算リソースは動的に変化する 動的に変化する計算リソースを考慮した 負荷割り当ての実現 単純な負荷の均一化では不十分
計算対象の決定 • 本研究により作成する分散システムにより,どのようなものを対象とするか 負荷均一化法との比較を考えているため,Webリンク収集がいいのではないか.
各計算機の働きの決定 • サーバ • 負荷の割り当て • クライアントのタスク監視 • クライアント • タスクを処理 Client-Server型のプログラミング もしくは,Server-Server型プログラミング
分散システムの実装と実験 • 分散システムの実装 • 負荷割り当てが目的どおりかつ効率的にできているかを確認する
負荷均一化法との比較実験 • 負荷均一化法を実現しているシステムとの評価実験
研究の実現方法 • 分散オブジェクト技術HORB • Java用の分散オブジェクト技術 • SunのJavaと100%互換性がある • 無償で使える • etc
研究の実現方法 • 負荷割り当てのアルゴリズム概略 ①負荷割り当て見直し要求 ②負荷量とリソース状態の把握 ③負荷量とリソース状態の返信 ④適切な負荷量の算出と,送信