動的なアプリケーション開発実行を可能にするグリッドポータルアーキテクチャ

Slides:



Advertisements
Similar presentations
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
Advertisements

OWL-Sを用いたWebアプリケーションの検査と生成
WebサービスII (第12回)‏ 2007年12月19日 植田龍男.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
Apache Camel Data Format Component Apache Camel
モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム
IIS 4.0で開発をするコツ Webアプリケーション構築.
Remote Method Invocation
Globus ToolkitによるGridRPC システムの実装と評価
JPAを利用した RESTful Webサービスの開発
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
IO - 入出力 小西 亨.
Applet 岡部 祐典 鈴木 敬幸.
Apache Camel Data Format Component Apache Camel
WebサービスII (第10回) 2007年11月28日 植田龍男.
アプレット (Applet)について.
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
JavaServlet&JSP入門 01K0018 中村太一.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
独習Java ・ 10.6  Hashtableクラス ・ 10.7  String Tokenizerクラス  12月12日    小笠原 一恵.
Bottle/Pythonによる Webアプリ入門
WebサービスII (第8回) 2007年11月14日 植田龍男.
JSFによるWebアプリケーション開発 第6回
HTTPプロトコル J2EE I 第7回 /
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
JSPの作成 J2EE II 第3回 2005年4月10日.
ユーザ毎にカスタマイズ可能な Web アプリケーション用のフレームワークの実装
データベース設計 第9回 Webインタフェースの作成(1)
RMI ソフトウェア特論 第6回 /
Flyingware : バイトコード変換による 安全なエージェントの実行
望月 祐洋,由良 淳一,楠本 晶彦 {moma, yurayura,
第8章 Web技術とセキュリティ   岡本 好未.
コンパイラの解析 (2) GCJのデータ構造 - 1.
DataGrid ミニワークショップ@天文台 12/12
11.6 ランダムアクセスファイル 11.7 StreamTokenizerクラス
プログラミング言語入門 手続き型言語としてのJava
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
暗黙的に型付けされる構造体の Java言語への導入
WebサービスII (第7回) 2007年11月7日 植田龍男.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
Javaによる Webアプリケーション入門 第6回
Java Bytecode Modification and Applet Security
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
実行時情報に基づく OSカーネルのコンフィグ最小化
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
既存Javaプログラム向け 分散化支援システムの開発
端末およびサービス透過的な 情報閲覧支援システムの構築
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
Javaによる Webアプリケーション入門 第11回
オブジェクト指向 プログラミング 第九回 知能情報学部 新田直也.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
JSPの基本 データベース論 第2回.
Jakarta Struts (1) ソフトウェア特論 第10回.
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
JSPの基本 J2EE I (データベース論) 第8回 /
状況に応じて適切な 例外処理が行なえる アスペクト指向分散環境実験の 支援ツール
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
中田 秀基(AIST/Titech), 田中 良夫(AIST) 松岡 聡(Titech/JST), 関口 智嗣(AIST)
1.2 言語処理の諸観点 (1)言語処理の利用分野
第6章 インターネットアプリケーション 6.1 インターネットアプリケーション 6.2 Javaによるネットワーク処理 6.3 電子メール
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
Presentation transcript:

動的なアプリケーション開発実行を可能にするグリッドポータルアーキテクチャ 2002/8/23 Swopp 2002 at Yufuin 動的なアプリケーション開発実行を可能にするグリッドポータルアーキテクチャ 鈴村豊太郎†† ,中田秀基*† , 松岡 聡†‡ ,関口智嗣* † 東京工業大学 †日本学術振興会 *産業技術総合研究所 グリッド研究センター ‡ 国立情報学研究所 Tokyo Institute of Technology / Advanced Industrial Science and Technology /

発表の概要 グリッドポータルの概要 Ninf Portal の概要 2002/8/23 Swopp 2002 at Yufuin 発表の概要 グリッドポータルの概要 Ninf Portal の概要 動的なアプリケーション開発実行を可能にするグリッドポータルアーキテクチャの提案・設計 実装の概要 まとめと今後の課題 Tokyo Institute of Technology / Advanced Industrial Science and Technology

グリッドポータル いつでもどこでもグリッドにアクセス 一般にはWebブラウザを使用する3-tier システム 2002/8/23 Swopp 2002 at Yufuin グリッドポータル いつでもどこでもグリッドにアクセス 一般にはWebブラウザを使用する3-tier システム ブラウザからログインして自分のジョブの実行を依頼 Logon Web browser Server Grid Application Frontend Grid-Portal User Resource フロント部 グリッド アプリケーション Upload, Download Tokyo Institute of Technology / Advanced Industrial Science and Technology

グリッドポータル構築ツールキット グリッドポータルの構築を支援 提供する機能 2002/8/23 Swopp 2002 at Yufuin グリッドポータル構築ツールキット グリッドポータルの構築を支援 例) GridPort(NPACI), GPDK (NLANR), XCAT Science Portal (Indiana Univ.) 提供する機能 認証: グリッドへの「シングルサインオン」 資源情報の提示 計算資源、通信資源、ストレージ資源の状態 提供されるアプリケーション ジョブの実行・管理 ユーザデータの入力、ファイルアップロード グリッドアプリケーションの起動 ジョブのモニタリング・制御 Tokyo Institute of Technology / Advanced Industrial Science and Technology

問題点 ポータル作成者は以下のファイルを記述する必要がある ⇒ Ninf Portal [TIT&AIST, 2002] により解決 2002/8/23 Swopp 2002 at Yufuin 問題点 ポータル作成者は以下のファイルを記述する必要がある インターフェイスとなるHTML HTMLフォームを解釈するCGIプログラム CGIから起動されるグリッドアプリケーション本体   ⇒ Ninf Portal [TIT&AIST, 2002] により解決 ポータルの管理者が事前に提供したアプリケーションのみ利用可能 アプリケーションの種類が制限される すべてのアプリケーションユーザの要求を満たすポータルを用意することは管理上困難 アプリケーション提供者が動的にアプリケーションポータル(アプリケーション本体+ユーザインタフェース) を開発・追加できる環境が必要 ⇒ 本研究で提案するアーキテクチャにより解決 Tokyo Institute of Technology / Advanced Industrial Science and Technology

Ninf Portal の概要 グリッドポータル構築ツールキット インターフェイス作成、処理支援 グリッドアプリケーション記述支援 2002/8/23 Swopp 2002 at Yufuin Ninf Portal の概要 グリッドポータル構築ツールキット インターフェイス作成、処理支援 XMLで記述した情報からインターフェイス部となるJSP(Java Server Pages)のページを自動作成 グリッドアプリケーション記述支援 GridRPC Ninf-Gを使用 ホスト間通信を高度なAPIで隠蔽 ベースにはGlobusを使用 認証にはMyProxy[NLANR]を使用 Tokyo Institute of Technology / Advanced Industrial Science and Technology

問題点 ポータル作成者は以下のファイルを記述する必要がある ⇒ Ninf Portal [TIT&AIST, 2002] により解決 2002/8/23 Swopp 2002 at Yufuin 問題点 ポータル作成者は以下のファイルを記述する必要がある インターフェイスとなるHTML HTMLフォームを解釈するCGIプログラム CGIから起動されるグリッドアプリケーション本体   ⇒ Ninf Portal [TIT&AIST, 2002] により解決 ポータルの管理者が事前に提供したアプリケーションのみ利用可能 アプリケーションの種類が制限される すべてのアプリケーションユーザの要求を満たすポータルを用意することは管理上困難 アプリケーション提供者が動的にアプリケーションポータル(アプリケーション本体+ユーザインタフェース) を開発・追加できる環境が必要 ⇒ 本研究で提案するアーキテクチャにより解決 Tokyo Institute of Technology / Advanced Industrial Science and Technology

動的なアプリケーション開発・ 実行環境の提案 2002/8/23 Swopp 2002 at Yufuin 動的なアプリケーション開発・ 実行環境の提案 より動的にユーザがアプリケーションとそのインタフェースを作成できる環境を提供 標準で提供されていないアプリケーションも利用可能 作成したアプリケーションポータルを共有するリポジトリの導入 → Ninf Portal を拡張 Tokyo Institute of Technology / Advanced Industrial Science and Technology

Ninf Portal の概要 JSP Grid Application IDL Web Browser 2002/8/23 Swopp 2002 at Yufuin Ninf Portal の概要 Grid Application IDL IDL FILE Web Browser 1.アクセス JSP Ninf-G Server ユーザインタフェース HTML 3.UI 表示 Ninf-G Client メタデータ Javaコード Ninf-G Server 2.メタデータをストア 起動 Session 4.データ サブミット Ninf-G Server 5.メタデータを取得 DataHandling Servlet 6.結果表示 ユーザ Web フロント部 グリッドアプリケーション部 Tokyo Institute of Technology / Advanced Industrial Science and Technology

Webフロントエンド部 XMLによる Grid Application IDL からJSPページを自動生成 2002/8/23 Swopp 2002 at Yufuin Webフロントエンド部 XMLによる Grid Application IDL からJSPページを自動生成 Javaコード部: アプリケーションのメタ情報をJSPが提供するセッション構造体に保存 HTML部: ユーザに入力してもらうフォームを表示 Data Handling Servlet セッション構造体からメタ情報を取得 フォームからサブミットされた情報を解釈 グリッドアプリケーションを起動 Tokyo Institute of Technology / Advanced Industrial Science and Technology

Grid Application IDL グリッドアプリケーションに関する情報をXMLで記述 名前、所属など アプリケーションの実行パス 2002/8/23 Swopp 2002 at Yufuin Grid Application IDL グリッドアプリケーションに関する情報をXMLで記述 名前、所属など アプリケーションの実行パス パラメータ情報 データタイプ型 (数値、文字列、ファイル) ファイルの場合は入力か出力 アップロードするのか、フォームから入力するのか アプリケーションを起動する際の引数シーケンス Tokyo Institute of Technology / Advanced Industrial Science and Technology

Grid Application IDL の例 2002/8/23 Swopp 2002 at Yufuin Grid Application IDL の例 引数シーケンス <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE application SYSTEM "JSPGenerator.dtd"> <Application> <!-- Application Information --> <Information> <name> BMI </name> <location> /usr/local/bmi/BMIClientC/BMISolver </location> <manufacturer> Kento Aida </manufacturer> <appdescription> BMI Application Portal </appdescription> </Information> <ArgumentFormat> -t $type $uploadfile </ArgumentFormat> <!-- ------- Arguments Information ------ --> <!-- ------- first Argument ------- --> <Argument> <argname> uploadfile </argname> <type>inputfile</type> <info> InputFile </info> <method> upload </method> <description> inputfile of data </description> </Argument> <!-- ------- second Argument ------- --> <argname> type </argname> <type> string </type> <info> type </info> type of program </Application> 各引数情報 実行パス Tokyo Institute of Technology / Advanced Industrial Science and Technology

生成されるJSP Java Code部 HTML部 メタ情報を定義、 セッションに保存 インターフェイス 2002/8/23 Swopp 2002 at Yufuin 生成されるJSP <br> Welcome to BMI Application Portal! <br> <form action="/bmi/servlet/Portal" name="MyForm" method=post ENCTYPE="multipart/form-data" onSubmit="return checkData(this)"> <table border = 3 align = center> <tr> <td>InputFile</td> <td><input type = file name = arg0></td> </tr> <tr> <td>type</td> <td><input type = text name = arg1></td> </tr> </table> <center> <input type = submit align = center value = "submit"> </center> </form> <% int argnumber = 2; String argformat = "-t $type $uploadfile"; String executablepath = “/usr/local/bmi/BMIClientC/BMISolver"; String args[] = {"inputfile","string"}; String namerow[] = {"uploadfile","type"}; String filemethod[] = {"upload","null"}; PortalApplicationDescription obj = new PortalApplicationDescription( argnumber, argformat, executablepath, args, namerow, filemethod); session.setAttribute("inputs",obj); %> Java Code部 メタ情報を定義、 セッションに保存 HTML部 インターフェイス Tokyo Institute of Technology / Advanced Industrial Science and Technology

グリッドアプリケーション部 Grid RPC システムNinf-Gを使用 2002/8/23 Swopp 2002 at Yufuin グリッドアプリケーション部 Grid RPC システムNinf-Gを使用 Ninf[AIST&TIT]を Globus Toolkit [ANL] を用いて再実装した Grid RPC システム プログラマはクライアントプログラムと関数のIDLを記述 既存のライブラリやコードを容易にGrid対応にできる(レガシーライブラリ等) double A[n][n],B[n][n],C[n][n]; /* Data Decl.*/ dmmul(n,A,B,C); /* Call local function*/ grpc_call(“dmmul”,n,A,B,C); /* Call server side routine*/ Tokyo Institute of Technology / Advanced Industrial Science and Technology

問題点 ポータル作成者は以下のファイルを記述する必要がある ⇒ Ninf Portal [TIT&AIST, 2002] により解決 2002/8/23 Swopp 2002 at Yufuin 問題点 ポータル作成者は以下のファイルを記述する必要がある インターフェイスとなるHTML HTMLフォームを解釈するCGIプログラム CGIから起動されるグリッドアプリケーション本体   ⇒ Ninf Portal [TIT&AIST, 2002] により解決 ポータルの管理者が事前に提供したアプリケーションのみ利用可能 アプリケーションの種類が制限される すべてのアプリケーションユーザの要求を満たすポータルを用意することは管理上困難 アプリケーション提供者が動的にアプリケーションポータル(アプリケーション本体+ユーザインタフェース) を開発・追加できる環境が必要 ⇒ 本研究で提案するアーキテクチャにより解決 Tokyo Institute of Technology / Advanced Industrial Science and Technology

動的なアプリケーション開発実行を可能にするグリッドポータルアーキテクチャ 2002/8/23 Swopp 2002 at Yufuin 動的なアプリケーション開発実行を可能にするグリッドポータルアーキテクチャ リポジトリ ユーザ入力 Ninf-G Server Application Information Application Code アップロード Application Information Application Code Ninf-G Server Grid Application IDL 変換 起動 JSP 生成 Ninf-G Server Data Handling Servlet Web Browser グリッドアプリケーション部 Web フロントエンド部 Tokyo Institute of Technology / Advanced Industrial Science and Technology

アプリケーション情報 (名前,作成者,説明) 2002/8/23 Swopp 2002 at Yufuin アプリケーションポータル作成ページ アプリケーション情報 (名前,作成者,説明) パラメータ情報 (名前,データ型,説明) アプリケーションコード ポータルを作成 Tokyo Institute of Technology / Advanced Industrial Science and Technology

作成されるアプリケーションポータル データを入力してジョブの実行を開始 2002/8/23 Swopp 2002 at Yufuin 作成されるアプリケーションポータル データを入力してジョブの実行を開始 Tokyo Institute of Technology / Advanced Industrial Science and Technology

2002/8/23 Swopp 2002 at Yufuin アプリケーションポータルの共有 追加 Tokyo Institute of Technology / Advanced Industrial Science and Technology

アーキテクチャ設計 – Ninf Portal の拡張 2002/8/23 Swopp 2002 at Yufuin アーキテクチャ設計 – Ninf Portal の拡張 ユーザ入力 Application Information Application Code Portal Generation Servlet リポジトリ インタプリタ Ninf-G Server ユーザインタフェース HTML Ninf-G Server メタデータ Java コード JSP Ninf-G Server Data Handling Servlet Web Browser グリッドアプリケーション部 Web フロントエンド部 Tokyo Institute of Technology / Advanced Industrial Science and Technology

アプリケーションコード Ninf-G の スクリプト言語 Python インタフェースを用いて記述 2002/8/23 Swopp 2002 at Yufuin アプリケーションコード Ninf-G の スクリプト言語 Python インタフェースを用いて記述 コンパイルする必要がなく、ポータル上でインタラクティブなアプリケーション開発が可能 複雑な処理はサーバ側のリモートライブラリに任せるので、クライアント側のコード量は比較的短い 長いコードの場合には、ファイルをアップロードするオプションも用意 C や Java よりも簡潔にコードが記述できる Python は欧米で非常に人気の言語 (cf. pyGlobus[LBNL]) Tokyo Institute of Technology / Advanced Industrial Science and Technology

アプリケーションコード (contd.) 処理系には Jython を採用 Java で実装されたインタプリタ 2002/8/23 Swopp 2002 at Yufuin アプリケーションコード (contd.) 処理系には Jython を採用 Java で実装されたインタプリタ 実行時にソースコードから Java のバイトコードを生成し,Java の仮想マシン (JVM) 上で実行 Java の標準ライブラリやユーザが作成したライブラリを Python のスクリプトコードに組み込むことが可能 Java CoG Kit を用いて Globus のサービスを使用することができる Java サーブレットから直接インタプリタを実行することができる Java のセキュリティ機構が利用できる Tokyo Institute of Technology / Advanced Industrial Science and Technology

Portal Generation Servlet 2002/8/23 Swopp 2002 at Yufuin Portal Generation Servlet Application Information Application Code ユーザ入力 リポジトリ Portal Generation Servlet Ninf-G Server アップロード Application Information Application Code 変換 Ninf-G Server Grid Application IDL 生成 JSP ユーザインタフェース HTML メタデータ Java コード Ninf-G Server Web Browser グリッドアプリケーション部 Web フロントエンド部 Tokyo Institute of Technology / Advanced Industrial Science and Technology

Portal Generation Servlet (contd.) 2002/8/23 Swopp 2002 at Yufuin Portal Generation Servlet (contd.) アプリケーションポータルを生成する Java サーブレット ユーザから以下のデータを受信 アプリケーション情報 (名前,作成者,説明, など) アプリケーションコード シンタックスを検査し,エラーがある場合にはエラーページを生成 1を Grid Application IDLに変換し,JSP ファイルを生成 Tokyo Institute of Technology / Advanced Industrial Science and Technology

Application Portal Repository 2002/8/23 Swopp 2002 at Yufuin Application Portal Repository アプリケーションコードと Grid Application IDL を保存・管理 他のユーザが作成したアプリケーションポータルの共有が可能 Tokyo Institute of Technology / Advanced Industrial Science and Technology

Application Portal Repository 2002/8/23 Swopp 2002 at Yufuin Data Handling Servlet Web ブラウザ Grid Application IDL アプリケーション コード Application Portal Repository JSP ユーザインタフェース HTML 5. ポータルにアクセス Ninf-G メタデータ Java コード 6.UI 表示 11. ロード 7. メタデータを格納 Session 12. 通信 8. メタデータを取得 アプリケーション コード 9.データサブミット Data Handling Servlet Python 処理系 10. 実行 14. 結果表示 13. 結果 Grid 環境 Web フロントエンド部 クライアント Tokyo Institute of Technology / Advanced Industrial Science and Technology

Data Handling Servlet (contd.) 2002/8/23 Swopp 2002 at Yufuin Data Handling Servlet (contd.) 入力パラメータを処理し,アプリケーションを実行する Java サーブレット 処理手順 JSP ページで入力されたデータを受信 セッションに格納されたメタデータを取得 データベースからアプリケーションコードをロード Python のインタプリタを起動。メタデータを用いて、アプリケーションのパラメータの値をユーザが入力した値に設定 スクリプトコードを実行 結果を表示 Tokyo Institute of Technology / Advanced Industrial Science and Technology

実装の現状 Ninf-G の Java バインディングを実装 2002/8/23 Swopp 2002 at Yufuin 実装の現状 Ninf-G の Java バインディングを実装 Jython の処理系を利用するので、アプリケーションコード(Python プログラム)からこのバインディングを直接呼べばよい 他のコンポーネント (Portal Generation Servlet, Data Handling Servlet) は実装中 Tokyo Institute of Technology / Advanced Industrial Science and Technology

Ninf-G の Java バインディングの実装 2002/8/23 Swopp 2002 at Yufuin Ninf-G の Java バインディングの実装 Java CoG Kit [ANL] をベースに実装 Globus の各種サービス (MDS, GRAM, GSI など)への Java インタフェースを提供 Server side IDL file Numerical Library Client side Client IDL Compiler 4. Globus I/O を用いて コールバック 3. リモートライブラリの 起動要求 Generate 2. 結果 fork Remote Library Executable 1. 引数情報と パス情報を要求 GRAM MDS Interface Information LDIF File retrieve Tokyo Institute of Technology / Advanced Industrial Science and Technology

GrpcClient クラス クライアントアプリケーション メソッド 2002/8/23 Swopp 2002 at Yufuin GrpcClient クラス クライアントアプリケーション メソッド void activate(String fileName) throws GrpcException 初期化 fileName: 設定ファイル名 (使用するリソースの場所、デバッグオプション,など) void deactivate() throws GrpcException; 終了 GrpcHandler getHandler(String libraryName) throws GrpcException; libraryName: リモートライブラリ名 (例: test/pingpong) 返り値: GrpcHandler オブジェクト Tokyo Institute of Technology / Advanced Industrial Science and Technology

GrpcHandler クラス リモートライブラリのハンドラ 一度起動したリモートライブラリのコネクションを再利用できる メソッド: 2002/8/23 Swopp 2002 at Yufuin GrpcHandler クラス リモートライブラリのハンドラ 一度起動したリモートライブラリのコネクションを再利用できる メソッド: GrpcExecInfo call (List arg) throws GrpcException; リモートライブラリの呼び出し arg: 入出力パラメータが格納された List オブジェクト GrpcExecInfo callWith(Object a1) throws GrpcException; GrpcExecInfo callWith(Object a1, Object a2) throws GrpcException; GrpcExecInfo callWith(Object a1, Object a2, …,Object a12) throws GrpcException; 現在、引数の数は12個まで提供 GrpcExecInfo void destruct() throws GrpcException; ハンドラの終了 Tokyo Institute of Technology / Advanced Industrial Science and Technology

GrpcExecInfo/GrpcException クラス 2002/8/23 Swopp 2002 at Yufuin GrpcExecInfo/GrpcException クラス GrpcExecInfo 実行プロファイル データ送受信の時間,計算実行時間など GrpcException 例外クラス サーバ側でエラーが生じた場合、エラーコードが含まれる Tokyo Institute of Technology / Advanced Industrial Science and Technology

2002/8/23 Swopp 2002 at Yufuin サンプルコード try { // クライアントの初期化 GrpcClient client = new GrpcClient(); client.activate(configFile);  // ハンドラの取得  handler = client.getHandler(“test/pingpong”);  // リモート関数の呼び出し, ハンドラを使いまわす  for(i = 0; i < ittr; i++){ execInfo = handler.callWith(new Integer(arraySize), input, output); }  // 終了 handler.destract(); client.deactivate(); } catch (GrpcException e){ e.printStackTrace(); System.exit(1); }}} import java.io.*; import java.util.Vector; import org.apgrid.grpc.client.*; // ライブラリをインポート public class Test{ public static void main(String args[]){ GrpcHandler handler; GrpcExecInfo execInfo; String configFile = “./config.cl”; // 設定ファイルを指定 double[] input, output; int i, j, k, result; int arraySize = 5; int ittr = 2; input = new double[arraySize]; output = new double[arraySize]; //入出力のデータの初期化  for (i = 0; i < arraySize; i++){ input[i] = (double) (i * 10); output[i] = 0.0; } Tokyo Institute of Technology / Advanced Industrial Science and Technology

Python バインディング Ninf-G の Java API を直接記述 アプリケーションコードのサンプル 2002/8/23 Swopp 2002 at Yufuin Python バインディング アプリケーションコードのサンプル // ライブラリをインポート import sys from java.util import Vector from java.lang import String, Integer from org.apgrid.grpc.client import GrpcClient, GrpcHandler, GrpcExecInfo from jarray import zeros.array // 入出力データの初期化 arraySize=5 input = zeros(arraySize, ‘d’) output = zeros(arraySize, ‘d’) for I in range(0, arraySize) input[I] = i x 1.1 // クライアントの初期化 client = GrpcClient() client.activate() // ハンドラの初期化 handler = client.getHandler(“test/pingpong”) execInfo = handler.callWith(Integer(N), input, output) // 終了 handler.destruct() client.deactivate() Ninf-G の Java API を直接記述 Tokyo Institute of Technology / Advanced Industrial Science and Technology

まとめ 動的なアプリケーション開発実行環境を可能にするグリッドポータルアーキテクチャの提案・設計を行った 2002/8/23 Swopp 2002 at Yufuin まとめ 動的なアプリケーション開発実行環境を可能にするグリッドポータルアーキテクチャの提案・設計を行った Ninf-G の Java API と Python のインタフェースを実装した Tokyo Institute of Technology / Advanced Industrial Science and Technology

今後の課題 実装の完成 情報提供機能の導入 セキュリティ機構の導入 デバッグ機構の導入 実アプリケーションを用いた評価 2002/8/23 Swopp 2002 at Yufuin 今後の課題 実装の完成 情報提供機能の導入 各資源情報のモニタリング グリッドアプリケーションの実行状態の情報 セキュリティ機構の導入 適切な JVM のセキュリティポリシファイルを自動生成 デバッグ機構の導入 実アプリケーションを用いた評価 Tokyo Institute of Technology / Advanced Industrial Science and Technology