FIBERプロジェクトホームページ




プロジェクトの概要

FIBERプロジェクトとは、自動チューニング機構に関するソフトウエア開発(基盤ソフトウエア開発)のための統合プロジェクトです。
具体的には、自動チューニング処理を達成するためのソフトウエア開発に関する、以下の小プロジェクトを含みます。

 FIBERソフトウエアアーキテクチャ研究ワーキンググループ
  汎用的な自動チューニング機能の付加を支援するソフトウエア構成方式を研究するプロジェクトです。

 ABC-LIB 開発ワーキンググループ
  自動チューニング機能付き数値計算ライブラリABC−LIBを開発するプロジェクトです。

 ABCLibScript開発ワーキンググループ
 
 汎用的な自動チューニング機能の付加を支援する言語(プリプロセッサ)である、ABCLibScript に関する仕様検討、およびツール開発するプロジェクトです。

 MPIジョブ最適化ツール開発ワーキンググループ
 Grid上でのMPIジョブの割り当てに関する方式、およびツール開発をするプロジェクトです。

FIBERプロジェクトでは、当面は、逐次および並列の数値計算ライブラリに焦点を絞り、自動チューニング機構の適用を検討/評価していきます。しかしながら自動チューニング機構の概念の適用は、数値計算ライブラリに限定されません。非数値計算などの処理についても、また自動チューニング適用に関する箇所についてもライブラリに限定しない、たとえばプログラムの一部分などの幅広い適用箇所について、その適用と評価とを行っていく予定です。

FIBERプロジェクト概観


まずFIBERプロジェクトの概観について説明します。
FIBERプロジェクトとは、ある一種類の言語で開発されたプログラム、すなわちライブラリやプログラムの一部分、について、性能を劣化させることなく、以下の環境に自動的に移植できる機能をもつ、システムソフトウエア(ミドルウエア)を開発するプロジェクトです(図1参照)。

  モバイル、PDA環境
  PCクラスタ環境
  スーパーコンピュータ環境
  GRID環境

ここで、性能の劣化をさせないソフトウエア機構をもつミドルウエアのことを、自動チューニングミドルウエアとよびます。

また、それそれの計算機環境に特化した、ミドルウエア機能の提供を行います。この用途に応じた機能を提供する自動チューニングミドルウエアの枠組みを、以下に載せます。

  M−FIBER (モバイル、PDA環境用)
  P−FIBER (PCクラスタ環境用)
  S−FIBER (スーパーコンピュータ環境用)
  G−FIBER (GRID環境用)



図1 FIBER計画概観

FIBERプロジェクトでは、これら幅広い計算機環境に対応する自動チューニングソフトウエア(数値計算ライブラリに限定しない任意の処理)に必要な基盤ソフトウエアを開発するプロジェクトです。

自動チューニング機構とは


  ここで自動チューニングを達成するための機構(自動チューニング機構)の位置づけについて説明します。
下図2において示されるように、自動チューニング機構とは、ライブラリインターフェースと、通信ライブラリなどの基盤ソフトウエアや計算機言語の階層の中間に位置する、ミドルウエアであるといえます。ここでミドルウエアとは、OS(Operating System)に代表される汎用的な処理操作を行う計算機のための基盤となるソフトウエアのことです。



 図2 自動チューニング機構のミドルウエアとしての位置づけ

FIBERプロジェクトは、図2に示すとおり、数値計算ライブラリに限定しない汎用的な処理において、自動チューニングを達成するためのミドルウエア開発おこなうプロジェクトです。

FIBERソフトウエア構成方式

次に、FIBERプロジェクトで開発される新しい自動チューニング方式の FIBERソフトウエアアーキテクチャ について説明します。

FIBERソフトウエアアーキテクチャとは、以下に示す2つの機能を有することを特徴とするソフトウエア構成方式です。

(1)コード開発支援機能
(2)3階層によるパラメタの最適化機能

ここで機能(1)については、ここでは詳しく言及しませんが、ある言語機能により自動チューニング機能を付加するコード開発を支援する機能である、とだけ述べておきます。以降、機能(2)について説明をします。

まずFIBERソフトウエアアーキテクチャでは、図3に示す構成をもちます。


図3 FIBERソフトウエア構成

図3では、ライブラリやサブプログラム、またはプログラムの一部分において、ユーザが何らかの言語を用いて、パラメタ宣言をします。宣言されたパラメタは、FIBERのパラメタ最適化層(PTL)に送られ、計算機環境や問題特性の観点から、パラメタの最適化が行われます。

FIBERでは、パラメタを最適化する階層として、インストール時最適化階層(Installation Optimization Layer)実行起動前最適化階層(Before Execution-invocation Optimization Layer)実行時最適化階層(Run-time Optimization Layer) の3階層を有します。

これらの3階層は、(1)起動のタイミングの違い、および(2)パラメタ参照の制約、があります。これらを図4で説明します。



図4 FIBERによる自動チューニングの流れ

FIBERでは、上記3階層の起動タイミングが違うと説明しましたが、具体的には以下の順番、およびタイミングで起動する取り決めになっています。

(1)インストール時最適化階層 : ライブラリインストール時
(2)実行起動前最適化階層 : ユーザーが指定した特別なパラメタが固定された後(ユーザの知る特別な知識を利用して決まるパラメタを固定した後)
(3)実行時最適化階層 : ライブラリの実行時

また、図4から分かるように、最適化されたパラメタ(性能特性ファイルに保存)の参照について、以下の制約があります:

  大 <− 参照の大域性                          ー>小
インストール時最適化階層 > 実行起動前最適化階層 > 実行時最適化階層

この主な理由は、(1)各階層で推定するパラメタ精度を高めること、および(2)自動チューニングに汎用性を持たせること、
の2点のためです。

さいごに、従来ライブラリでの方式とFIBER方式との違いを図5で説明します。

図5 従来方式との比較

図5から分かるように、従来のライブラリにおける自動チューニング方式は、(A)インストール時方式、(B)実行時方式、(C)インストール-実行時方式、のみありました。FIBER方式のように、3階層の最適化を有し、かつ、3階層の最適パラメタ参照を有する方式はありません。

また従来の自動チューニング技術は、数値計算ライブラリでの計算処理のように、特化された計算処理のための自動チューニング技術といえます。FIBERプロジェクトで開発される自動チューニングソフトウエアとその技術は、概説のとおり、汎用的な計算処理を自動チューニングするものです。したがってFIBERプロジェクトで開発されるソフトウエアは、基盤ソフトウエアやミドルウエアとよばれるソフトウエアに該当します。従来の数値計算ライブラリ上での自動チューニングソフトウエアやその技術とは全く異なります。

図4で示す「3階層」の最適化方式とパラメタ参照方式により、(1)処理の汎用性の向上、(2)高いパラメタ推定精度、を達成できるのがFIBER方式の特徴です。




FIBERプロジェクトの成果

(1)「プログラム、記録媒体およびコンピュータ」 (特願2003−022792、平成15年1月30日)

(2)「計算装置、計算方法、プログラムおよび記録媒体」 (特願2003−092592、平成15年3月28日)

(3)Takahiro Katagiri, Kenji Kise, Hiroki Honda, and Toshitsugu Yuba、電気通信大学情報システム学研究科技術報告、UEC-IS-2003-3、2003年5月13日: "FIBER: A Framework of Installation, Before Execution-invocation, and Run-time Optimization Layers for Auto-tuning Software" (PSファイルPDFファイル) (英語)

(4)片桐孝洋,吉瀬謙二,本多弘樹,弓場敏嗣, 2003年先進的計算基盤システムシンポジウム(Symposium on Advanced Computing Systems and Infrastructures (SACSIS), 2003年5月28日(水)〜30日(金)、学術総合センター会議場, SACSIS2003 論文集,pp.159--160:
「実行起動前最適化層を有する自動チューニングソフトウエア構成方式の提案」 (ps file, pdf file) (発表資料 html)(日本語)(ポスター発表)

(5)「計算装置、計算方法、プログラムおよび記録媒体」 (特願2003−149701、平成15年5月27日) (特願2003−92592の国内優先権出願)

(6)片桐孝洋,吉瀬謙二,本多弘樹,弓場敏嗣, 第94回 ハイパフォーマンスコンピューティング(HPC)研究会,平成15年6月13日(金) 13:00-16:45,情報処理学会研究報告 2003-HPC-94, pp. 1--6:
「FIBER:汎用的な自動チューニング機能の付加を支援するソフトウエア構成方式」 ( ps file, pdf file ) (発表資料 html) (日本語)

(7)KATAGIRI Takahiro, KISE Kenji, HONDA Hiroki, and YUBA Toshitsugu, Springer LNCS 2858, pp.146--159, The Fifth International Symposium on High Performance Computing (ISHPC-V), Tokyo Fashion Town Building, Tokyo International Trade Center (Odaiba, Tokyo, JAPAN), October 20-22, 2003:
"FIBER: A General Framework for Auto-Tuning Software" (in English)

(8)Takahiro Katagiri, Kenji Kise, Hiroki Honda, Toshitsugu Yuba: 電気通信大学情報システム学研究科技術報告、UEC-IS-2003-10 (17 November 2003):
"Effect of Auto-tuning with User's Knowledge for Numerical Software" (PDF File)

(9)Takahiro Katagiri, Kenji Kise, Hiroki Honda, Toshitsugu Yuba, Eleventh SIAM Conference on Parallel Processing for Scientific Computing (PP04),Hyatt at Fisherman's Wharf, San Francisco, CA, USA,Thursday, February 26, 2004, Organized Session of "MS37 Portable Parallel Numerical Libraries for Various Types of Architectures"
"Towards Performance Portability Framework for Numerical Libraries" (accepted)(to appear)

(10)Takahiro Katagiri, Kenji Kise, Hiroki Honda, Toshitsugu Yuba, Eleventh SIAM Conference on Parallel Processing for Scientific Computing (PP04),Hyatt at Fisherman's Wharf, San Francisco, CA, USA,Thursday, February 26, 2004, Poster Session
"FIBER: Generalized Framework for Numerical Software" (accepted)(to appear)



【最終更新】 
2003年4月23日 ホームページ開設
    12月10日 内容更新