Webサービス技術を基盤とするGridRPCシステムの評価

Slides:



Advertisements
Similar presentations
1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
Advertisements

© Copyright the Seasar Foundation and the others all rights reserved. 1 S2Axis2 による Web2.0 らくらく実践 2006/05/14 Seasar Conference 2006 Spring 鈴木 貴典.
応用 Java(Java/XML) 第 10 回 2006 年 7 月 14 日 植田龍男. 後半の内容の予定 XPath (6/9) 、 XSLT (6/16) 名前空間 (Namespace) (6/16) XML 文書の妥当性の検証 (6/23) DTD, W3C XML Schema SOAP.
IIS 4.0で開発をするコツ Webアプリケーション構築.
Globus ToolkitによるGridRPC システムの実装と評価
Webプロキシサーバにおける 動的資源管理方式の提案と実装
S. Tsuboi(1), H. Mizutani(1), N. Takeuchi(2) T. Arai (3), Y. Yanaka(3)
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
Webアプリケーションの 通信メカニズム WEBアプリ研究プロジェクト 第2回.
Visual Studio 2005による XML Web サービス入門
分散コンピューティング環境上の Webリンク収集システムの実装
データマイニングのための柔軟なデータ取得、操作を支援するAPIの設計
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
Webアプリケーション.
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
多数の遊休PC上での 分散ゲーム木探索 導入 ゲーム木探索 ⇒遊休PCを利用して高速化 例)コンピュータ将棋における次手の計算
最新情報技術を活用した超大規模 天文データ解析機構の研究開発
Silverlight とは.
WebサービスII (第8回) 2007年11月14日 植田龍男.
HTTPプロトコルとJSP (1) データベース論 第3回.
HTTPプロトコル J2EE I 第7回 /
ネストした仮想化を用いた VMの安全な帯域外リモート管理
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
ユーザ毎にカスタマイズ可能な Web アプリケーション用のフレームワークの実装
XSL-FO + MathML MathML表示、PDF生成、SVG生成
Keio Media Space Board for KMSF-CODE の 設計,実装,評価
アスペクト指向プログラミングを用いたIDSオフロード
Flyingware : バイトコード変換による 安全なエージェントの実行
サーバ負荷分散におけるOpenFlowを用いた省電力法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
第8章 Web技術とセキュリティ   岡本 好未.
型付きアセンブリ言語を用いた安全なカーネル拡張
DataGrid ミニワークショップ@天文台 12/12
動的なアプリケーション開発実行を可能にするグリッドポータルアーキテクチャ
SOAP/UDDI/WSDLによるB2Bシステムの開発
SOAP/UDDI/WSDLによるB2Bシステム構築の一事例
暗黙的に型付けされる構造体の Java言語への導入
WebサービスII (第7回) 2007年11月7日 植田龍男.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
グローバルコンピューティング シミュレータの概要
オーバレイ構築ツールキットOverlay Weaver
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
Grid環境におけるモニタリング手法の評価
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
Internet広域分散協調サーチロボット の研究開発
通信機構合わせた最適化をおこなう並列化ンパイラ
端末およびサービス透過的な 情報閲覧支援システムの構築
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
非対称リンクにおける ジャンボフレームの性能評価
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
第13回 2007年7月20日 応用Java (Java/XML).
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
マイグレーションを支援する分散集合オブジェクト
秘匿リストマッチングプロトコルとその応用
アルゴリズムとプログラミング (Algorithms and Programming)
「マイグレーションを支援する分散集合オブジェクト」
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
第2回 Webサーバ.
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
Dynamic Function Placement for Data-intensive Cluster Computing
中田 秀基(AIST/Titech), 田中 良夫(AIST) 松岡 聡(Titech/JST), 関口 智嗣(AIST)
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

Webサービス技術を基盤とするGridRPCシステムの評価 白砂 哲*1  中田 秀基*1*2  松岡 聡*1*3  関口 智嗣*2 *1 東京工業大学 *2 産業技術総合研究所 *3 科学技術振興事業団

GridRPC Grid用クライアント・サーバ型RPCシステム Ninf[AIST,TITECH], NetSolve[UTK] 高レベルの抽象化 直感的なAPI サーバによる動的なIDL管理 非同期呼び出しによるパラレルプログラミング 科学技術計算に適したデータのサポート 数値計算に適したIDL 引数の依存関係の記述 配列の部分的な転送(部分配列、配列のストライド)

GridRPCにおけるインタオペラビリティ いくつかのシステム間ではブリッジが提供されている Ninf–NetSolveブリッジ [Nakada, et al. ’97] しかし、すべてのシステム間でブリッジを作るのは非現実的  もっと、一般的なインタオペラビリティが必要

XMLを基盤とするWebサービス Webインフラを用いてサービスを提供する標準的な方法を提供 SOAP (Simple Object Address Protocol) 分散環境化においてのメッセージ交換のための仕様 WSDL (Web Service Definition Language) Webサービスのインタフェース情報を記述する仕様 OGSAは、Webサービス技術をGridに適用しようとして いる OGSA:GlobusとIBMが提案している次世代のGridインフラ   Webサービス技術はGridRPCのインタオペラビリティを提供するための手段となりえる Webサービス技術が科学技術計算として用いることが可能かを評価することは重要

技術的問題 Webサービス技術をGridRPCに適応する際の技術的な問題点 XMLベースのSOAPによるパフォーマンスの低下 GridRPCのベースとしてのSOAP,WSDLの記述力 Webサービスは本来ビジネスアプリケーションを念頭に入れ作成 一方、GridRPCのIDLは科学技術計算に特化した機能を持つ Webサービス技術を基盤とするGridRPCを作成するためには、これらの問題点を評価する必要がある

SOAP/WSDLの記述力 GridRPC IDL vs. WSDL (1) クライアントは実行時にインタフェース情報を取得 double A[n][n], B[n][n], C[n][n]; grpc_call(“dmmul”, n, A, B, C); Interface Request (HTTP Get) Interface Info. (WSDL/HTTP) GridRPC Server Arguments (SOAP) Result (SOAP) Interface Info (IDLWSDL) GridRPC Client

SOAP/WSDL記述力 GridRPC IDL vs. WSDL (2) 配列サイズの指定 GridRPCのIDLは配列サイズを他の引数を用いて記述可能  WSDLではこのような依存関係を記述できない 部分配列、配列のストライド GridRPCのIDLはこのようなさまざまな種類の配列を記述可能 SOAPはこのような配列を ”Partially transmitted array” として記述可能だが、WSDLには適合する仕様が存在しない 科学技術計算用のIDLをサポートするためには、WSDLに拡張が必要である Define dmmul(mode_in int n, mode_in double A[n][n], mode_in double B[n][n], mode_out double C[n][n])

SOAPによる性能低下 データサイズ増加による転送速度の低下 シリアライズ/デシリアライズのコスト プロトコルに起因の問題 XML表現による10倍以上のデータ量増加 (特に配列データにおいて問題) シリアライズ/デシリアライズのコスト プロトコルに起因の問題 プロトコル仕様によるパフォーマンスの低下 <input2 xmlns: ns2=“http://schemas.xmlsoap.org/soap/encoding/” xsi:type=“ns2:Array” ns2:arrayType=“xsd:double[2,2]”> <item xsi:type=“xsd:double”>0.1234928508375589</item> <item xsi:type=“xsd:double”>0.45336420225272667</item> <item xsi:type=“xsd:double”>0.8887406170881601</item> </input2>

性能評価 いくつかの実装による性能評価 行列の積 評価環境 Double型2次元配列 通信量: O(n2), 計算量: O(n3) (配列サイズ: nxn) 評価環境 LAN PrestoIIクラスタ (東京工業大学 松岡研究室) Connected with 100Base-T Switch Pentium III 800MHz, 640MB Memory Linux 2.2.19, IBM Java 1.3.0 WAN 東工大  産総研 (apx. 1Mbps) Sun Ultra-Enterprise, SPARC 333MHz x 6, 960MB Memory Solaris 5.7, Sun Java 1.3.0

第1プロトタイプ Apache SOAPを用いたナイーブな実装 サーバは Apache SOAP のサーバをそのまま利用 インタフェース情報はWSDLを用いて交換 Client Server Client Application Calculation Library Apache SOAP Server Ninf Client Apache SOAP Client Library Servlet Server (Tomcat) 1. Interface Request (HTTP Get) 2. Interface Info. (WSDL) / HTTP 3. Parameters / SOAP 4. Result / SOAP

第1プロトタイプ性能結果 XDR基盤の実装に比べ、性能低下が大きい LAN WAN

性能低下の原因 性能低下の一部はSOAPに起因 しかし、大部分は実装上の問題 Apache SOAPはXMLの解析にDOMパーサを利用 データ受信と解析を同時に行えない XMLデータ全体をDOMオブジェクトのツリーとしてメモリ上に構築 メモリ使用量の増加 オーバヘッドの増大 Client Server Serialization Sending Receiving Deserialization Computation

第2プロトタイプ シリアライズ、デシリアライズのコストを削減するために構築 第1プロトタイプでサポートされてない新たな機能のサポート SAXパーサを基にした独自のSOAPパーサを採用 デシリアライズの速度向上 メモリ使用量の低減 受信とデシリアライズを同時に行う 第1プロトタイプでサポートされてない新たな機能のサポート Input/Outputパラメタのサポート 複数のOutputパラメタのサポート

第2プロトタイプシステム図 Server Client Client Application Calculation Library Ninf Client Ninf Server SOAP Deserializer SOAP Serializer WSDL Reader WSDL Module SOAP Deserializer SOAP Serializer HTTP Client Servlet Server 1. Interface Request (HTTP Get) 2. Interface Info. (WSDL) / HTTP 3. Parameters / SOAP 4. Result / SOAP

第2プロトタイプ性能評価 パフォーマンスの向上が見られる しかし、まだ大きなオーバヘッドが存在する LAN WAN

Receiving+ Deserialization オーバヘッドの解析 (1) Client Server 実際の計算前のオーバヘッドに注目 どの部分に時間が費やされているかを調査 それぞれのフェーズにかかる時間を測定 シリアライズ データの転送 デシリアライズ Overhead Serialization Sending Receiving+ Deserialization Computation Receiving+ Deserialization Serialization+ Sending

オーバヘッドの解析 (2) LAN WAN シリアライズ/デシリアライズのコストが比較的大 WAN環境ではデータ転送のコストが顕著化

Optimization1: HTTP Content-Length の削除 (1) プロトコル仕様上起こる性能低下 HTTP Content-Length ヘッダフィールド HTTPサーバがメッセージの終端を検地するために必要 SOAPメッセージの長さを知るため、メッセージ全体をメモリ上に構築する必要がある  シリアライズ(クライアント側)と                    デシリアライズ(サーバ側)を                    並列化できない Client Server Serialization Sending Receiving+ Deserialization Computation

Optimization1: HTTP Content-Length の削除 (2) SOAPにおいては、メッセージの終端をXMLタグの組を数えることで判別可能  Content-Lengthヘッダを省略することでシリアライズ(クライアント側)とデシリアライズ(サーバ側)を並列化可能 (しかし、RFC 1945, 2616に違反する) Client Server Client Server Serialization Serialization+ Sending Receiving+ Deserialization Sending Receiving+ Deserialization Computation Computation

Optimization1: HTTP Content-Length の削除 (3) LAN環境ではオーバヘッドの55%が削減された WAN環境ではオーバヘッドの7%が削減された LAN WAN

Optimization1: HTTP Content-Length の削除 (4) 性能向上 メモリ使用量の低減 RFC準拠の方法が必要である 1. HTTP Chunked Transfer Coding の利用 2. SOAPメッセージの長さを推定し、残りを空白で埋める方法  これらの方法を評価する必要がある

Optimization2: Base64エンコード (1) サイズの大きい配列ではオーバヘッドが大きい メッセージサイズの増大 XMLタグの増加 配列データをBase64エンコードする 配列データ全体をバイナリとして扱う 配列の情報はGridRPC IDLによって記述されており、動的に交換される e.g. サイズ, 範囲, ストライド これらをSOAPメッセージ内で表す必要はない

Optimization2: Base64エンコード (2) LAN環境、WAN環境の双方において、オーバヘッドの75%が削減された LAN WAN

Optimization2: Base64エンコード (3) XMLタグ数の減少によるXML解析コストの 減少 メッセージサイズの減少によるデータ転送のコストの減少

性能評価のまとめ オプティマイゼーションの結果、性能は大幅に向上した LAN WAN

まとめ Webサービス技術を用いたGridRPCの実装の可能性の評価を行った ナイーブな実装に比べ、大幅な性能向上が見られた Base64エンコードの採用によりデシリアライズのコストの減少 HTTP Content-Lengthヘッダの削除により、シリアライズ、デシリアライズが並列化され、性能が向上 科学技術計算用のミドルウェアがOGSAの枠組みで可能であることを示した

今後の課題 さらなる性能向上 インタオペラビリティ OGSAへの適応 RFC準拠なHTTP Content-Lengthヘッダを省略する方法の評価 SOAPに特化したXMLパーサの開発 WSDLによって交換されるインタフェース情報を用い、受信メッセージに適した動的なXMLパーサの生成 C言語における実装 インタオペラビリティ インタオペラビリティの更なる評価 OGSAへの適応 OGSAの枠組み下でGridRPCの評価

SOAP/WSDL Expresibility(1) Array size specification GridRPC IDLs support expression of array size using other arguments In order to enable pass arrays as reference  WSDL lacks the ability to express such dependencies Define dmmul(mode_in int n, mode_in double A[n][n], mode_in double B[n][n], mode_out double C[n][n]) Double A[n][n], B[n][n], C[n][n]; Ninf_Call(“dmmul”, n, A, B, C);

SOAP/WSDL Expresibility(2) Subarrays, strides of array GridRPC IDLs support these various type of arrays SOAP supports this functionality as partially transmitted arrays But, WSDL does not embody any specification A[size : lower_limit, upper_limit, stride]

SOAP/WSDL Expresibility(3) Web Service based GridRPC systems use parameterOrder attribute of WSDL to denote the order of parameter In WSDL, parameterOrder attribute is optional GridRPC client can not know the order of parameters when it encounters WSDL without parameterOrder attribute ….. <operation name = “dmmul” parameterOrder = “n A B C”>