著者
弘中 健 澤井 省吾 田浦 健次朗
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:09196072)
巻号頁・発行日
vol.2007, no.83, pp.71-78, 2007-08-03
参考文献数
17

本研究では実行時に動的に計算資源が変化するような環境で有効な,分散オブジェクト指向ライブラリを設計し,これを用いて簡潔な記述で大規模な計算資源で処理を並列するフレームワークを実装した.近年計算資源が着実に増えているが,決まった資源を継続的に使えることは少なく,実行時に追加・削除が出来ることが求められている.このような環境で並列分散計算を手軽に行うライブラリは稀である.既存の多くの実装は各拠点へのインストール,複雑な設定ファイルの記述などを必要とする.その中,大量なデータファイルに対して大規模な計算資源で並列に処理をしたいという要望が多い.このような要望に対し,従来のライブラリでは敷居が高く,生産性も低い.我々は Python スクリプト言語に分散オブジェクトライブラリ拡張を施した.このライブラリはインストール,設定ファイルの記述などは全く必要とせず,スクリプト言語で透過的に分散環境での計算を可能にする.また,このライブラリを用いて大量のファイルを入力に取り,並列に実行する処理の記述を容易にするようなフレームワークを実装した.このフレームワークでは,ユーザーは希望する処理のみを記述し,ネットワーク,資源の増減などの煩雑さから開放することで高い生産性を与えることが出来る.このフレームワークの有用性を実アプリケーションを用い,評価を行った.We propose a distributed object-oriented library that allows computation across computing resources in which node join and leave dynamically. Using this library, we implemented a framework that parallelizes job processing in the presence of joining and leaving nodes. Existing libraries that enable distributed computation requires node-based installation as well as preparing complex configuration files. This is a large overhead for application writers who want to parallelize or distribute computation. Additionally, we have witnessed an increasing demand for frameworks that allow easy parallelization of jobs that process an enormous amount of data. It is important that such applications can be written on-the-fly with very little programming and configuring. We implemented our library as an extension to Python, a mainstream script language. Our library does not require any installation or configuration files, and allows deployment across large resources with consideration of joining and leaving nodes. In the framework implemented on top of our library, jobs that take large data files may be parallelized with minimal coding, alleviating the user from worries with respect to network programming, and dynamic changes in resources. We evaluated this framework using a real-life application to show its effectiveness.