著者
弘中 健 澤井 省吾 田浦 健次朗
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告システムソフトウェアとオペレーティング・システム(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.
著者
合田 憲人 大澤 清 大角 知孝 笠井 武史 小野 功 實本 英之 松岡 聡 斎藤 秀雄 遠藤 敏夫 横山 大作 田浦 健次朗 近山 隆 田中 良夫 下坂 久司 梶原広輝 廣安 知之 藤澤克樹
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告ハイパフォーマンスコンピューティング(HPC) (ISSN:09196072)
巻号頁・発行日
vol.2006, no.87, pp.49-54, 2006-07-31
被引用文献数
3

本稿では,2005年12月から2006年5月にかけて実施されたGrid Challenge in SACSIS2006において使用されたグリッド実験環境の構築・運用事例を報告する.Grid Challengeは,大学,研究所が提供する複数の計算資源からなるグリッド実験環境上で,参加者がプログラミング技術を競う大会であり,今大会では1200CPU超の計算資源からなるグリッド実験環境が運用された.本稿では,実験環境ハードウェアおよびソフトウェアの仕様を紹介するとともに,ユーザ管理,ジョブ管理,障害対応といった運用事例についても報告する.This paper presents a case study to operate the Grid testbed for the Grid Challenge in SACSIS2006. The Grid Challenge is a programming competition on a Grid testbed, which is organized by multiple computing resources installed in universities and laboratories. In the last competition, the Grid testbed with more than 1200 CPUs was operated. The paper shows hardware/software specifications of the Grid testbed, and reports experience of the operation, which includes accounting, job management, and troubleshooting.
著者
辻井 潤一 米澤 明憲 田浦 健次朗 宮尾 祐介 松崎 拓也 狩野 芳伸 大田 朋子 SAETRE Rune 柴田 剛志 三輪 誠 PYYSALO SAMPO Mikael 金 進東 SAGAE Kenji SAGAE T. Alicia 王 向莉 綱川 隆司 原 忠義
出版者
東京大学
雑誌
特別推進研究
巻号頁・発行日
2006

本研究は、文解析研究で成功してきた手法、すなわち、巨大な文書集合を使った機械学習技術と記号処理アルゴリズムとを融合する手法を、意味・文脈・知識処理に適用することで、言語処理技術にブレークスルーをもたらすことを目標として研究を遂行した。この結果、(1)言語理論に基づく深い文解析の高速で高耐性なシステムの開発、(2)意味・知識処理のための大規模付記コーパス(GENIAコーパス)の構築と公開、(3)深い文解析の結果を用いた固有名、事象認識などの意味・知識処理手法の開発、(4)大規模なテキスト集合の意味・知識処理を行うためのクラウド処理用ソフトウェアシステムの開発、において世界水準の成果を上げた。(2)で構築されたGENIAコーパスは、生命科学分野でのテキストマイニング研究のための標準データ(Gold Standard)として、国際コンペティション(BioNLP09、BioNLP11)の訓練・テスト用のデータとして、採用された。また、(1)の研究成果と機械学習とを組み合わせた(3)の成果は、これらのコンペティションで高い成績を収めている。また、(1)と(4)の成果により、Medlineの論文抄録データベース(2千万件、2億超の文)からの事象認識と固有名認識を数日で完了できることを実証した。その成果は、意味処理に基づく知的な文献検索システム(MEDIE)として公開されている。
著者
近山 隆 湯淺 太一 上田 和紀 田浦 健次朗 遠藤 敏夫 横山 大作 田浦 健次朗 遠藤 敏夫 横山 大作 馬谷 誠二
出版者
東京大学
雑誌
特定領域研究
巻号頁・発行日
2006

爆発的に増加する大量の情報を効率的に扱うソフトウェアの構成には、広域に分散配置した高度な並列性を持つ情報システムを柔軟に記述できるソフトウェアの枠組が基本技術として必要となる。このためのプログラミング言語やミドルウェアのシステムと、複雑なソフトウェアの正当性を検証するためのシステムを対象に研究を進め、具体的なシステムを提案、設計、実装し、その性能を検証した。代表的成果ソフトウェアは公開している。
著者
今井 健男 山本 泰宇 遠藤 敏夫 田浦 健次朗 米澤 明憲
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.40, no.1, pp.42-56, 1999-02-15

我々は C++に分散オブジェクトと分散ごみ集め(分散GC)機構を導入した 分散記憶型並列計算機向け拡張言語DisCを開発する. 我々はまず 分散オブジェクトをC/C++上で扱うためのライブラリ(GCライブラリ)を開発する. これは オブジェクトがどのプロセッサ上にあるのかの判定 あるいは遠隔参照の明示的な作成等 分散オブジェクトの基礎的な機能を実現する. そしてこのライブラリに対し 動的にゴミとなった分散オブジェクトを回収する分散ごみ集めの機能を導入する. このごみ集め機構は特定の通信ライブラリに依らないため 広範な環境での動作が可能である. 次に 上記のGCライブラリを暗黙的に呼び出してリモートメソッド呼び出し等の抽象度の高い機能を 構文仕様の変更なしに実現するフロントエンドを構築する. ここでは自己反映言語OpenC++を用いる事により実装を簡便にし 保守性と移植性を確保している. そして このフロントエンドとGCライブラリを既存のC++処理系に組み合わせる事で 既存の処理系に手を加えない形でのC++の拡張を行なう. プログラマは 通常のC++プログラムでのオブジェクトの操作と同様の記述を用いて 分散オブジェクトの機能を暗黙的に使用できる. DisCは 分散GC機構を備えている他に 1)構文仕様の変更が一切なく 通常のC++と同様の記述で分散オブジェクト・プログラミングができ また 2)様々な計算機環境への高い移植性を持つ という特長がある. これにより 分散記憶型計算機上で動くプログラムの開発と保守 及び異なる分散記憶計算機間でのソフトウエア資産の共有が容易になる. 本稿では 上記ライブラリ及び言語処理系の設計及び実装手法について述べ さらに応用プログラムを作成し 実際に分散記憶型計算機上で動かして拡張言語の性能を評価する.We develop DisC, an extension of C++ that supports distributed objects and distributed garbage collection on distributed memory parallel computers. We first develop a library for C/C++, which includes basic functions to manage distributed objects. This library includes a function that tells whether an object is local or remote, functions that explicitly make remote references. It also provides a distributed garbage collection facility that reclaims objects that are no longer used. The facility is portable because of its independency from communication libraries. We also develop an front-end processor that implicitly invokes functions or the library described above, and brings higher abstractions such as remote method invocation, with no changes to the syntax of C++. We use a reflective language Open C++ to implement the processor, we achieve simple implementation and acquire its portability and maintainability. Programmers can invoke methods of distributed objects in our language as if they were normal C++ objects. Besides the distributed garbage collection facility, there are two major advantages in our language: 1)its extension involves no syntactic changes and the users can write programs with distributed objects as if they write programs in original C++, and 2) it is highly portable to various distributed parallel computers or environments, which have diverse interfaces for inter-processor communication. These advantages makes it easier to develop or maintain parallel software that are portable across various distributed-memory parallel environments. We also evaluate our extended C++ with some experiments using several parallel applications.
著者
高宮 安仁 弘中 健 斎藤 秀雄 田浦 健次朗
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:09196072)
巻号頁・発行日
vol.2008, no.35, pp.131-138, 2008-04-24

複数の拠点に配置されたクラスタを連結し、1 つの分散計算機環境として提供する試みが国内外で広まりつつある。こうした環境で長時間に及ぶ科学技術計算を安定して実行可能にするためには、複数拠点を 1 つの均一な実行環境として迅速に構築するとともに、メンテナンスに伴うダウンタイムを最小限にする必要がある。しかし、既存研究では複数拠点のセットアップに対応していないという問題や、環境更新ごとに OS の再インストールを必要とするため、ダウンタイムが増大するといった問題があった。我々は分散環境上に安定した計算機環境を効率良く構築するためのツールとして Lucie を開発している。Lucie では、全拠点を並列にセットアップするための機構や、再インストールを行うことなくソフトウェア障害からの復旧やアップグレードを行う機構を備えている。評価では、グリッド全体のセットアップ性能を確認するため、代表的な分散計算機環境の 1 つである InTrigger を用いて全 5 拠点、86 ノードを同時にセットアップした。結果、拠点数の増加が拠点ごとのインストール性能に影響を与えず、複数拠点を並列に効率良くセットアップできることを確認した。With arising of long running scientific jobs executed in grid environment, it is needed to construct a distributed multi-cluster envrionment as one uniform execution envrionment rapidly while minimizing downtime caused by software maintainances. Although there were considerable amount of efforts against grid management frameworks, no one aimed at parallel setup of multiple sites, or upgrading of the whole software environment without re-installation of OS. In this paper, we propose a new management tool for multi-cluster environment called Lucie, which allows rapid construction of stable multi-cluster computing platform over distributed environment. With Lucie, one could recover from software faults or upgrade the whole software stacks in parallel without the need of re-installation of OS. In our benchmark, we applied Lucie for construction of InTrigger grid environment. The result showed that the increase of number of sites parallely setup does not affect the other ones, so we could setup multiple sites efficiently.
著者
吉川 隆英 田浦 健次朗 近山 隆
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.43, no.8, pp.111-111, 2002-09-15

世代GC 方式において,新たに生成されたデータは,何回かのGC を経た後,旧世代領域に移される.これを「殿堂入り」という.殿堂入り時期が遅すぎると,長寿命データと新世代ゴミが長期間新世代メモリ領域に混在するため,ユーザプログラム中や新世代GC 中でのキャッシュヒット率が低下する.逆に,殿堂入り時期が早すぎると,短寿命データが新世代領域で回収できず,新世代GC の回収効率が悪化し,旧世代GC が発生しやすくなる.殿堂入りの適切な時期は,プログラムによって,また1 つのプログラムの中でもその実行フェーズによって異なる.これまで,プログラム実行時に動的に殿堂入り時期を調節する手法はいろいろ提案されてきたが,主に新世代GC の回収効率を改善することに主眼がおかれており,キャッシュの効果が,動的な殿堂入り時期調節の基準に,実験データに裏打ちされる形で明快に反映されていなかった.そこで本研究では,まず,様々なプログラムにおいて,実際のデータ寿命分布,殿堂入り時期の違いによるキャッシュミス数と実行時間の測定を行い,メモリ領域中のデータの振舞いに対するモデルを作成した.そして,このモデルに基づく殿堂入り時期調節手法の提案を行った.また,この殿堂入り時期調節手法を,ヒープサイズを自動調節する世代GC を行う並行並列論理型言語処理系KLIC 上に実装し,動的に殿堂入り時期調節を行わない世代GC との性能比較を行った.In generational GC schemes, objects are allocated to the young generation area and are advanced to the old generation area after surviving a small number of collections. This advancement is called tenuring. Tenuring too late makes some short-lived objects that some of them have already become garbage and long-lived objectsreside together in the young generation, making memory reference locality worse. On the other hand, tenuring too early makes it impossible to collect short-lived objects in the young generation; its mark/cons ratio becomes worse and, as short-lived objects are moved to the older generation, more older generation GCs will be required. For the best performance, we should adjust tenuring timings dynamically according to programs and their execution phases. Many adaptive tenuring policies have been proposed.However, most of them aim at improving mark/cons ratio of the younger generation and improvementsin cache performance are not proven with experimental evidences. In this work, we (1) measure object lifetime distributions on several programs, and how cache misses and execution times vary with different tenuring timings, (2) make a simple analytical model to estimate an appropriate young generation size, (3) propose a cache-conscious adaptive tenuring policy, and (4) implement dynamic young generation size adjustment mechanism with this policy into KLIC and compare its execution time to one with conventional generational GC on several programs.