学位論文要旨



No 114005
著者(漢字) 宮澤,元
著者(英字)
著者(カナ) ミヤザワ,ハジメ
標題(和) 大規模分散ファイルシステムの設計と実装
標題(洋) Design and Implementation of a Large-Scale Distributed File System
報告番号 114005
報告番号 甲14005
学位授与日 1999.03.29
学位種別 課程博士
学位種類 博士(理学)
学位記番号 博理第3494号
研究科 理学系研究科
専攻 情報科学専攻
論文審査委員 主査: 東京大学 教授 平木,敬
 東京大学 教授 小柳,義夫
 東京大学 教授 清水,謙多郎
 東京大学 助教授 佐藤,周行
 東京大学 講師 小林,直樹
内容要旨

 分散ファイルシステムは、分散環境における情報共有基盤として最も成功したもののひとつである。協調作業をしているユーザ同士は、使い慣れたファイルシステムと同じインターフェースを介して容易に情報を共有することができる。分散ファイルシステムのユーザは作業対象となる情報を共有できることによって利益を得られるだけではない。分散ファイルシステムを介して共通に使用する情報を共有できるということは、分散ファイルシステムによって管理作業を共有することができることを意味する。例えば、ファイルシステムのバックアップや共通に使われるソフトウェアのバージョンアップといった管理作業を分散ファイルシステムを使用することによって各ユーザ間で共有することができる。

 これまで多くの分散ファイルシステムが、ひとつの建物内やひとつの部屋などで使われるローカルエリアネットワーク(LAN)環境を想定して開発されてきたのに対し、最近の広帯域ネットワークを使うと大学や企業といった大きな組織の全体にまたがるような大規模なネットワークを構築することができる。このような大規模ネットワークでは、ユーザ間での緊密な情報共有の必要性はLANの場合に比べて低下するが、以下に述べるような大規模ネットワークの特徴を考慮すると、このような大規模ネットワークにおいても分散ファイルシステムを利用することができれば、管理の共有による利益が期待できる。

・コンピュータを専門としないユーザの数が増加する

 LAN環境と比べて非常に多くのユーザがネットワークを使用する。これは、近年のコンピュータの普及に伴い、従来コンピュータを使用していなかったようなユーザもコンピュータネットワークを利用するようになってきたことによる。

 このように、さまざまなユーザがコンピュータを使用するようになってきている主な理由は、コンピュータを単に道具として便利に使用したいというユーザが増えたことによる。このようなユーザに対しては、管理作業に関する知識のようなコンピュータを利用する上での特別な知識を要求することなく、コンピュータを使用できるようにすることが望ましい。

・広帯域ネットワークの利用により、単一に管理されるべきネットワークが地理的な広がりを持つ

 現在実用段階に入りつつあるギガビットイーサネットやATM(Asynchronous Transfer Mode)といった広帯域ネットワークを利用することにより、非常に多くのユーザを支援する大規模ネットワークを構築することができる。

 このようなネットワークでは、ネットワーク全体がひとつの組織の管理下に置かれながらも地理的には広く分散する傾向がある。従来のLANが比較的狭い範囲で使用されたのに対し、大学のキャンパス全体や企業における各支店を結ぶネットワークが必要となる。このとき、大学の複数キャンパス間や企業の本支店間などのように、必ずしも広帯域ネットワークで接続することができず、狭帯域ネットワークで接続される部分ネットワークに分割されることもありうる。このようなネットワークの各場所で管理作業を分散して行うのは高コストにつながるため、分散ファイルシステムを利用して管理作業が共有できることが望ましい。

 このような広域分散ファイルシステムを実現する上において、最も重大な問題の一つがクライアント台数に関するスケーラビリティの問題である。この問題に対して従来から知られている解決方法は大きく二つに分類できる。ひとつはファイルをキャッシュしてファイルサーバの負荷を低減する方法であり、もうひとつはファイルサーバを並列化して処理能力を向上する方法である。クライアントがサーバからファイルをキャッシュして、ファイル操作の一部をキャッシュに対して行うことにより、サーバにかかる負荷を低減し、スケーラビリティを向上できる。また、ファイルサーバを並列化する方法は、単一の高性能計算機を使ってサーバの処理能力を向上する方法に比べて安価で実現できる方法である。キャッシュ技術は、論理的にひとつのネットワークが狭帯域ネットワークによって物理的に分割されている場合にも有効である。分割されたネットワークの各部分にキャッシュサーバを配置することにより、狭帯域ネットワークを介した通信量を削減し、クライアントのファイルアクセスの性能を向上することができる。キャッシュサーバは、ファイルサーバからファイルをキャッシュして、それらのファイルを元のファイルサーバの代わりにクライアントに供給する。このため、各クライアントが個別にファイルを転送する必要がなくなり、狭帯域ネットワークを介した通信量を削減できる。

 我々は単一の組織にまたがる大規模ネットワークにおいて多数のクライアントを支援するための分散ファイルシステムを開発している。本分散ファイルシステムではスケーラビリティの問題に対して、以下の二つの手法により対処する。一つ目は、拡張されたクライアントキャッシュ技術である。従来のキャッシュ技術では、クライアントはファイルの内容のみをキャッシュするので、複数のクライアントで共有されているファイルに更新が生じた場合、各クライアントの持つキャッシュをも適切に更新する必要がある。そのため、各キャッシュ間の一貫性を管理するための処理をファイルサーバが行う必要があった。これに対し、我々のキャッシュ技術では、ファイルの内容だけではなく、そのファイルに対するキャッシュの一貫性管理権限もクライアントに委譲するので、各キャッシュ間の一貫性管理のための処理は管理権限を委譲されたクライアントで行われる。このため、サーバの負荷を低減し、スケーラビリティを向上できる。もうひとつの手法は、複数の計算機を使用してファイルサーバの並列化を行う手法である。従来のサーバ並列化手法とは異なり、我々の方法ではそれぞれの計算機がファイルシステム全体の複製を持つので、各クライアントはどのファイルサーバにアクセスしてもサービスを受けることができる。本分散ファイルシステムでこのような手法を採用した理由は、想定している環境ではサーバとクライアントが広帯域ネットワークで接続されており、クライアントにとってどのサーバにアクセスしてもコストがほとんど変わらないからである。本分散ファイルシステムでは、ファイルに更新があった場合、そのファイルに関しては一台のサーバ計算機のみで集中して処理を行い、他のサーバ計算機の持つ複製は一時的に破棄される。このため、更新を各サーバ計算機に転送するオーバーヘッドを低減することができる。この後、ファイルアクセスを並列処理することにより性能向上が期待できると判断されると、各サーバ計算機に複製を転送し、並列処理が再開される。

 また、本分散ファイルシステムは、物理的に分割されたネットワークの各部分において、ファイルサーバに代わってクライアントにファイルを供給する拡張されたキャッシュサーバ機能を提供する。一般にキャッシュサーバを用いることにより、分割されたネットワークの各部分を結ぶ狭帯域ネットワーク上の通信オーバヘッドが削減できることが知られている。本分散ファイルシステムが提供する、二次サーバと呼ばれる拡張されたキャッシュサーバは、キャッシュに関する一貫性管理権限を持つため、ファイルが更新された際に生じる狭帯域ネットワーク上の通信オーバヘッドをも削減することができる。

 本論文の主な貢献は以下の三点である。(1)大規模ネットワークにおいても分散ファイルシステムを提供することが重要であることを指摘した。コンピュータネットワークのユーザ数の増加を考慮すると、分散ファイルシステムにより、情報の共有と共に管理の共有の基盤を提供することが今後より求められていくと考えられる。(2)大規模ネットワークで使用されることを想定したファイルシステムで利用される三つの新技術を提案し、現在開発中のファイルシステムに実装した。(3)現在実装されているファイルシステムを用いた実験により、各技術に関してその有効性と限界を示した。

審査要旨

 本論文は6つの章からなる。第1章は序論であり、本論文の研究の動機となった背景について論じている。近年の高速ネットワーク装置の普及と計算機の低価格化に伴い、企業や大学などの組織全体を結ぶ大規模なネットワークを構築することが一般的になりつつある。このようなネットワークでは、全体で協調作業を行うといった積極的なデータ共有の観点からというよりは、むしろネットワーク全体での管理作業の共通化のために分散ファイルシステムが必要となる。しかし、このような環境で分散ファイルシステムを実現するには、非常に多数のクライアント計算機からのアクセス要求を処理するため、ファイルサーバのボトルネックを解消する必要がある。また、組織が地理的に分散するためにネットワーク全体を均一なネットワーク装置で接続ことができず、低速ネットワークで相互に接続された部分ネットワークに分割される場合がある。このとき、サーバとクライアント間の通信が低速ネットワークを経由するためにファイルアクセス性能が低下する問題がある。本研究では、1)キャッシュ管理に伴う負荷をファイルサーバからクライアントに委譲する、2)それぞれファイルシステムの複製を持つ複数のサーバ計算機を用いてファイルサーバを並列化し、サーバの処理性能を向上する、3)二次サーバにより低速ネットワークを介したファイル転送量を低減する、という三つの手法を提案し、これらの問題を解決することを目指している。この主題の設定は、学位論文の主題として十分、かつ妥当であると認められる。

 第2章は、現在にいたる大規模分散ファイルシステムに関連する研究の包括的な概説である。これまで提案されたさまざまなシステムや技術を、クライアント台数のスケーラビリティに関するもの、ファイルシステムのスループットに関するもの、地理的な分散性に対応するものの三種類に分類し、それぞれに対して分析を行っている。

 第3章では、キャッシュ管理の委譲に関して述べている。クライアントがファイルをキャッシュするシステムにおいて、キャッシュ管理の権限をファイルサーバからクライアントに委譲することにより、サーバの負荷を低減する方法について考察している。この際、キャッシュ管理の委譲後、一定時間を経過した時点でキャッシュ管理をサーバに返還する機能を用意しており、キャッシュ管理の委譲に伴う堅牢性の問題に対応している。これらの機能を提供する分散ファイルシステムAriaを実装し、ベンチマークプログラムによってサーバ負荷に与えるキャッシュ管理の委譲・返還機能の影響について実験を行い、有効性を確認している。

 第4章は、複製を用いたファイルサーバの並列化について述べている。ファイルシステム全体の複製を持つサーバ計算機を複数利用することにより、ファイルに対するアクセス要求を並列処理してサーバ性能を向上することができるが、サーバ計算機間での複製の一貫性保持の問題が生じる。この問題に対して、複製の一貫性保持コストに応じて複製を中断・再開する方法を提案している。提案手法をもちいて実際にサーバ性能が向上できるかどうかについて実験を行い、有効性を確認するとともに、特に複製の再開機能に関してその適用に限界があることを指摘している。

 第5章は、二次サーバによる分割ネットワークへの対応について述べている。二次サーバにより、分割ネットワーク間の低速ネットワークを介した通信量を削減し、クライアントのファイルアクセス性能を向上できる。これについて実験を行い、実験に用いた環境において二次サーバが有効となるネットワークの速度の条件を明らかにしている。また、この実験結果に基づく考察により、さらに広範な環境における二次サーバの手法の適用可能性について議論している。

 第6章は、論文全体の内容をまとめ、今後の研究課題について論じている。本論文の成果が大規模分散ファイルシステムを構築する上で有効な手法であることを述べている。また、大規模分散ファイルシステムを、階層構造をもつネットワークや広域ネットワークなど、より多様な環境において提供するための方針について議論されている。

 本学位論文は、大規模なネットワークにおける分散ファイルシステムを実現する上で用いられる三つの主要技術を提案したものであり、それぞれの技術の有効性と適用限界について確認を行っている。特に大規模分散ファイルシステムの必要性について議論し、提案手法を組み込んだシステムを実装している点で、今後の関連分野の研究に寄与するところ大であると認められる。この点において、本論文は高く評価され、審査委員全員で、博士(理学)の学位を授与するにふさわしいと判断した。

 なお本論文の内容の一部は、共著論文として印刷公表済みであるが、論文提出者が主体となって研究および開発を行なったもので、論文提出者の寄与は十分であると判断する。

UTokyo Repositoryリンク