NetSolveを用いたトラス構造物の 最適化計算

Download Report

Transcript NetSolveを用いたトラス構造物の 最適化計算

NetSolveを用いたトラス構造物の
最適化計算
廣安
下坂
谷村
吉村
知之
久司
勇輔
忍
(同志社大)
(同志社大・院)
(同志社大・院)
(東京大)
三木 光範(同志社大)
佐野 正樹 (同志社大・院)
三村 泰成 (東京大・院)
Jack Dongarra (University of Tennessee)
Intelligent Systems Design Laboratory, Doshisha University
最適化計算システム
各最適化手法を実装
最適化計算
解析計算を行う
膨大な計算時間を要する
• 最適化問題
– 構造物の最適設計
– たんぱく質の立体構造予測
• OptimizerとAnalyzerの分離
– 独立した開発による,システムの高性能化
– 汎用的な Optimizerの開発
Intelligent Systems Design Laboratory, Doshisha University
Gridの概要
• 仮想組織(Virtual Organization)が,広域ネットワーク上に
おいて,分散並列仮想計算機(Virtual Computer)を動的に
形成できる環境
広域に点在する,計算機,観測装置,データベース及び
研究者の協調作業を行う必要性
論理的な組織,計算機群
• 目標
– 点在するサービスの統合
による分散並列処理
– ユーザにサービスのみを
提供し,仕組みを意識させない
Intelligent Systems Design Laboratory, Doshisha University
Gridの利点と課題
• Gridの利点・可能性
–
–
–
–
大規模な計算資源
大規模データベースとのシームレスな結合
遠隔テレビ会議
開発者のコラボレーション
科学技術計算分野,最適化問題への適用
• Gridの実現における課題
– ユーザ認証,セキュリティ,通信
– スケジューリング,フォールト・トレランス,情報サービス
– 共通に使用するための統合された技術
様々なGridのミドルウェアの開発
Intelligent Systems Design Laboratory, Doshisha University
Grid RPC
• Grid RPC (Remote Procedure Call)
– リモートシステム上のライブラリをネットワーク経由で呼
び出す機能
– ユーザビリティに優れる
– GGF(Global Grid Forum)
において,APIの規定
• Gridミドルウェア
– NetSolve,Ninf
: プログラミングモデル
– Globus Toolkit,Legion : 基盤システム
– Condor,AppLeS
: スケジューリング
アプリケーションの開発に利用
Intelligent Systems Design Laboratory, Doshisha University
NetSolve System
• NetSolve System
– テネシー大学の
Jack Dongarra等により開発
• NetSolve Agent
– 情報サービス
– スケジューリング
– フォールト・トレランス
エンドユーザは,Agentの所在のみ知っていれば良く,
簡単な手続きで,Girdの資源を利用可能
Intelligent Systems Design Laboratory, Doshisha University
研究の目的
• Gridにおける最適化計算システムの提案
– Grid RPC(NetSolve)を利用したシステム
– 最適化計算システムに適応した,Gridにおけるサービス
• Gridにおける各種最適化サービスの結合
• ユーザビリティの高いシステム
• 複数の計算資源を利用し,並列化による高速化
• 提案システムの実装
– NetSolve
– 遺伝的アルゴリズム
– 有限要素法によるトラス構造解析
Intelligent Systems Design Laboratory, Doshisha University
Grid RPC に基づく最適化システム
• Gridにおいて点在する各種最適化サービスの結合
• 開発者のコラボレーションの促進
Intelligent Systems Design Laboratory, Doshisha University
Grid RPC に基づく最適化システム
• 開発者(管理者)は,適切な Agentにサービスを登録
• エンドユーザは,Agent for Optimizerの所在のみを
知ることで,Gridの計算資源を利用可能
Intelligent Systems Design Laboratory, Doshisha University
提案システムの概要
• エンドユーザの提案システムの利用
– OptimizerとAnalyzerの指定
– Analyzerの設定ファイルと
Optimizerの入出力ファイル
• 提案システムの実行
– ユーザによる Optimizerの実行
– Optimizerによる,Analyzerの実行
サーバの検索機能
Optimizerのサービス
Analyzerのサービス
Intelligent Systems Design Laboratory, Doshisha University
サーバの検索
• サーバの検索機能
– ユーザ,開発者が利用できる Optimizer,Analyzerを検索
– Optimizer,Analyzerの入出力ファイルの詳細情報を表示
• Calling Sequence
– opt_analyzers
Analyzerの一覧表示
Optimizerの一覧表示
– opt_optimizers
– opt_analyzers show [Name_of_Analyzer]
指定したAnalyzerの入出力ファイル
– opt_optimizer show [Name_of_Optimizer]
指定したOptimizerの入出力ファイル
Intelligent Systems Design Laboratory, Doshisha University
Optimizerのサービス
• ユーザが利用できるサービス
1. Analyze_Init = Analyzerの設定ファイルを送信
2. Run
= 最適化計算の実行
• Optimizerのサービスの API
optimize(Arg1, Arg2, Arg3, Arg4, Arg5);
Argument
1.
2.
3.
4.
5.
Optimizerの指定
サービスの指定
Analyzerの指定
入力ファイル
出力ファイル
Intelligent Systems Design Laboratory, Doshisha University
Analyzerのサービス
• Optimizerが利用できるサービス
1. Initialize = Analyzer の設定ファイルを送信
2. Solve = 解析の実行
3. Result = 全ての解析結果を返す
• Analyzerのサービスの API
analyze(Arg1, Arg2, Arg3, Arg4);
Argument
1.
2.
3.
4.
Analyzerの指定
サービスの指定
入力ファイル
出力ファイル
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
• サーバの検索
– 利用できるサーバを一覧表示し,
利用するAnalyzerとOptimizerを選択する
Analyzerとして,FEM,OptimizerとしてGAを選択
• 入出力ファイルの用意
– 選択したサーバの,入出力ファイルの一覧表示し,
必要なファイルを用意する
Analyzer(FEM)の設定ファイル
Optimizer(GA)の入出力ファイル
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
選択したAnalyzerに設定ファイルを送信する.
(1)ユーザからOptimizerに設定ファイルを送信
設定ファイルの送信要求
Grid RPC
Choice
fem.in
optimize(GA, Analyze_Init, FEM, fem.in , dummy)
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
選択したAnalyzerに設定ファイルを送信する.
(2)OptimizerからAnalyzerに設定ファイルを送信
fem.in
Choice
Grid RPC
設定ファイルの送信要求
analyze(FEM, Initialize, fem.in , dummy)
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
選択したOptimizerを実行する.
GAの実行要求
Grid RPC
Choice
input
optimize(GA, Run, FEM, input , output)
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
Optimizerは選択されたAnalyzerに解析を繰り返し
依頼する.
file.out
file.in
Choice
Grid RPC
FEMの実行要求
analyze(FEM, Solve, file.in , file.out)
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
Optimizerはユーザに結果を返す.
output
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実装
• Grid RPC
• Optimizer
• Analyzer
• NetSolve System
• 遺伝的アルゴリズム(GA)
• 有限要素法を用いたトラス構造解析
(FEM)
Intelligent Systems Design Laboratory, Doshisha University
遺伝的アルゴリズム(GA)
• 遺伝的アルゴリズムの特徴
– 生物進化を模倣した確率的探索手法
– 複数の個体による多点探索
Optimizer
選択
交叉
評価
突然変異
Analyzer
FEMによるトラス解析
Intelligent Systems Design Laboratory, Doshisha University
解析の並列化1
• 複数台の異なるAnalyzerによる平行処理
– 複数の異なる解析を必要とし,それらが独立に実行可能
– 複合領域問題などに適用可能
– 解析の並列化によって,高速化が期待できる
Intelligent Systems Design Laboratory, Doshisha University
解析の並列化2
• 複数台の同一Analyzerによる並列処理
– GAの各個体の評価は並列に処理可能
– 解析の並列化によって,高速化が期待できる
Intelligent Systems Design Laboratory, Doshisha University
数値実験
NetSolveを用いた
最適化システム
(解析処理を2並列,6ノード)
NetSolveを用いない
最適化システム
(解析処理は逐次,1ノード)
解析時間により,最適化に必要とする実行時間の変化を比較
Intelligent Systems Design Laboratory, Doshisha University
対象問題
(m)
3.0
• トラス構造物
– 22節点50部材
• トラス構造最適設計問題
– 設計変数:部材の断面積
– 目的関数:体積の最小化
– 制約条件:変位,応力,座屈
• 解析時間
1000N
2.7
0.6
0.3
– 1回の解析は,数ms
0.0
– 0ms,1500ms,3000msを付加
(m)
0.0
0.4
10 Stages Truss
Intelligent Systems Design Laboratory, Doshisha University
パラメータと実験環境
パラメータ
Population Size
20
End Condition
100 Generations
Number of Analyses
2020
Number of RPC
2023
実験環境
CPU
Memory
Network
PentiumIII 800 MHz
256MB
100Mbps(Fast Ethernet)
クラスタ環境で実験
Intelligent Systems Design Laboratory, Doshisha University
結果
• Gird環境において,複数のサーバを簡単に利用できるシステム
– 一回のRPCによるオーバヘッドは0.56秒
– 解析処理を2並列で行うモデルでは,1500ms以上の時間を
要する解析において,高速化が望める
Intelligent Systems Design Laboratory, Doshisha University
結論
• Grid RPC に基づく最適化システムを提案
– Grid RPC としてNetSolveを用い実装
– OptimizerにGA,AnalyzerにFEMを用いたトラス構造解析
• 提案システムの利点
– Grid環境において各種最適化サービスの統合
– ユーザビリティの高いシステム
• 最適計算の高速化
– Grid RPC を利用することによるオーバヘッド
– Analyzerへの複数のRPCの並列処理により,
比較的短い解析においても,高速化が期待できる
Intelligent Systems Design Laboratory, Doshisha University
Intelligent Systems Design Laboratory, Doshisha University
最適化問題
• 目的関数の最大値・最小値を求める問題
• 最適化問題の例
– 構造物の最適設計
– たんぱく質の立体構造予測
• 特徴
– 膨大な計算時間と計算量
Intelligent Systems Design Laboratory, Doshisha University
最適化システム
各最適化計算を実装
最適化計算
解析計算を行う
膨大な計算時間を要する
• OptimizerとAnalyzerの分離
– Analyzerの差異をWrapperによって吸収
– 独立した開発による,システムの高性能化
Grid環境における最適化システムの提案
Intelligent Systems Design Laboratory, Doshisha University
Grid RPC
• RPC (Remote Procedure Call)
– リモートシステム上のライブラリを
ネットワーク経由で呼び出す機能
• Grid RPC
–
–
–
–
代表的なアプリケーション・プログラミングモデルの一つ
ユーザビリティに優れる
NetSolve,Ninf などの代表的なミドルウェア
APIの標準化への取り組み
将来,更に発展する可能性
Intelligent Systems Design Laboratory, Doshisha University
提案システムの概要
• 最適化システムの入出力
– 各サーバの入出力は全てファイルで行う
(1) サーバの検索機能
(2) Analyzerのサービス
(3) Optimizerのサービス
Intelligent Systems Design Laboratory, Doshisha University
サーバの検索
• サーバの検索機能
– ユーザ,開発者が利用できるOptimizer,Analyzerを検索
– 各Optimizer,Analyzer,Wrapperの入出力ファイルの
詳細情報を表示
• Calling Sequence の定義
– opt_analyzers
– opt_optimizers
– opt_analyzers show Name_of_Analyzer
– opt_optimizer show Name_of_Optimizer
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
• サーバの検索
– 利用するAnalyzerとOptimizerを選択する
opt_analyzers , opt_optimizers
Analyzerとして,FEM,OptimizerとしてGAを選択
• 入出力ファイルの用意
– Analyzer(FEM)の設定ファイル
– Optimizer(GA)の入出力ファイル
opt_analyzers show FEM で入出力ファイルの詳細表示
opt_optimizers show GA で入出力ファイルの詳細表示
Intelligent Systems Design Laboratory, Doshisha University
Analyzerのサービス
• Analyzerのサービス
– Optimizerが利用できるRPCのAPIを定義
analyze(Arg1, Arg2, Arg3, Arg4);
Argument
1.
2.
3.
4.
Analyzerの指定
Tag
入力ファイル
出力ファイル
1. Initialize
- Analyzerの設定ファイルを送信
2. Config
- Wrapperの設定ファイルを送信
3. Solve
- 解析の実行
4. Result
- 全ての解析結果を返す
Intelligent Systems Design Laboratory, Doshisha University
Optimizerのサービス
• Optimizerのサービス
– ユーザが利用できるRPCのAPIを定義
optimize(Arg1, Arg2, Arg3, Arg4, Arg5);
Argument
1.
2.
3.
4.
5.
Optimizerの指定
Tag
Analyzerの指定
入力ファイル
出力ファイル
1. Analyze_Init
- Analyzerの設定ファイルを送信
2. Run
- 最適化計算の実行
3. Analyze_Config
- Wrapperの設定ファイルを送信
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
1. ユーザがAnalyzerを選択する.
opt_analyzers で利用できるAnalyzerの一覧表示
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
2. ユーザがOptimizerを選択する.
opt_optimizers で利用できるOptimizerの一覧表示
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
fem.in
3. 選択したAnalyzerの設定ファイルを用意する.
opt_analyzers show FEM で入出力ファイルの詳細表示
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
config.in
fem.in
config.out
4. 選択したAnalyzerの入出力Configファイルを用意する.
opt_analyzers show FEM で入出力ファイルの詳細表示
opt_optimizers show GA で入出力ファイルの詳細表示
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
fem.in
fem.in
config.in
fem.in
config.out
5. 選択したAnalyzerに設定ファイルを送信する.
optimize(GA, Analyze_Init, FEM, fem.in , dummy)
analyze(FEM, Initialize, fem.in , dummy)
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
fem.in
config.in
config.out
config.in
config.out
config.in
config.out
6. 選択したAnalyzerに入出力Configファイルを送信する.
optimize(GA, Analyze_Config, FEM, config.in , config.out)
analyze(FEM, config, config.in , config.out)
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
fem.in
config.in
config.out
input
output
7. 選択したOptimizerを実行する.
optimize(GA, Run, FEM, input , output)
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
fem.in
config.in
config.out
file.in
input
output
file.out
8. Optimizerは選択されたAnalyzerに解析を繰り返し依頼する.
analyze(FEM, Solve, file.in , file.out)
Intelligent Systems Design Laboratory, Doshisha University
提案システムの実行
fem.in
config.in
config.out
input
output
9. Optimizerはユーザに結果を返す.
Intelligent Systems Design Laboratory, Doshisha University
結論
• Grid RPC に基づく最適化システムを提案
– Grid RPC の一つであるNetSolveを用い実装
– OptimizerにGA,AnalyzerにFEMを用いたトラス構造解析
• 提案システムの利点
– 各種最適化サービスの統合
– ユーザビリティの高いシステム
• 最適計算の高速化
– Grid RPC として,NetSolveを使用することで
ある程度のオーバヘッド
– Analyzerへの複数のRPCの並列処理により,
高速化が期待できる
Intelligent Systems Design Laboratory, Doshisha University
Intelligent Systems Design Laboratory, Doshisha University