一般技術用紙…

Similar documents
一般技術用紙…

RedHawk Real-Time Linux SIMulation Workbench

インテル(R) Visual Fortran コンパイラ 10.0

CANapeを用いたラピッドコントロールプロトタイピングのバイパス手法による制御モデル開発

SimulinkによるReal-Time Test環境の構築

appli_HPhi_install

VXPRO R1400® ご提案資料

IBM Internet Security Systems NTFS ファイルシステム必須 一覧の 以後にリリースされた Service Pack (Release 2 等は除く ) は特に記載の無い限りサポートいたします メモリ 最小要件 512MB 推奨要件 1GB 最小要件 9GB 推奨要件

並列計算導入.pptx

起動画面

はじめに このマニュアルは BACREX-R を実際に使用する前に知っておいて頂きたい内容として 使用する前の設定や 動作に関する注意事項を記述したものです 最初に必ずお読み頂き 各設定を行ってください 実際に表示される画面と マニュアルの画面とが異なる場合があります BACREX-R は お客様の

proventia_site_protector_sp8_sysreq

EnSightのご紹介

SimscapeプラントモデルのFPGAアクセラレーション

Total View Debugger 利用の手引 東京工業大学学術国際情報センター version 1.0

$ cmake --version $ make --version $ gcc --version 環境が無いあるいはバージョンが古い場合は yum などを用いて導入 最新化を行う 4. 圧縮ファイルを解凍する $ tar xzvf gromacs tar.gz 5. cmake を用

OS の bit 数の確認方法 - Windows0 及び Windows8. Windows のコントロールパネルを開きます Windows0 の場合 スタート から Windows システムツール の コントロールパネル をクリックします Windows8. の場合 スタート から PC 設定

ネットキーの操作手順について

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

Simulinkモデル開発における工夫事例

7-1 Digital IC のライブラリの準備について [ 目的 ] 実験では 74HC00 を使用するので SPICE モデルを入手する [ 方法 ] LTspice User site からライブラリとシンボルを Download します

本文ALL.indd

スライド 1

ディエンベディングとは冶具やケーブルによる観測信号の劣化を S パラメータデータを利用して計算により補正する TX 冶具ケーブル 被測定物の出力 De-Embedding 冶具 ケーブル等の影響を受けた波形 冶具 ケーブル等の S パラメータデータ TX 被測定物の出力 冶具 ケーブル等の影響のない

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

<4D F736F F D208E96914F8F8094F5837D836A B2E646F63>

IMUシュミレータインストール方法

分析のステップ Step 1: Y( 目的変数 ) に対する値の順序を確認 Step 2: モデルのあてはめ を実行 適切なモデルの指定 Step 3: オプションを指定し オッズ比とその信頼区間を表示 以下 このステップに沿って JMP の操作をご説明します Step 1: Y( 目的変数 ) の

鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル IC カードを利用しない応札者向け 第 1.7 版 平成 31 年 2 月鳥取県物品契約課 鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル Ver.01-07

在宅せりシステム導入マニュアル

計算機アーキテクチャ

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

Microsoft Word - PGI WorkstationServer事前準備 doc

PowerPoint Presentation

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード]

winras.pdf

Maser - User Operation Manual

Intel Integrated Performance Premitives 4.1 Linux

モータ HILS の概要 1 はじめに モータ HILS の需要 自動車の電子化及び 電気自動車やハイブリッド車の実用化に伴い モータの使用数が増大しています 従来行われていた駆動用モータ単体のシミュレーション レシプロエンジンとモータの駆動力分配制御シミュレーションの利用に加え パワーウインドやサ

IBIS

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

memcached 方式 (No Replication) 認証情報は ログインした tomcat と設定された各 memcached サーバーに認証情報を分割し振り分けて保管する memcached の方系がダウンした場合は ログインしたことのあるサーバーへのアクセスでは tomcat に認証情報

添付資料 ASSETBASE Ver.6.5 機能強化内容 A. クライアント機能強化 A-1 Windows 8 の PC スキャンに対応 Windows 8 の下記エディションの PC スキャンを正式にサポートしました Windows 8 Pro (64bit 版 ) Windows 8 Ent

1. はじめに Systemwalker Desktop Patrol V 以降でセキュリティ監査として BIOS パスワード設定の監査 を提供しています しかし Systemwalker Desktop Patrol メインメニュー のセキュリティ情報に表示される起動パスワード 設定パ

目次 ページ 1. 本マニュアルについて 3 2. 動作環境 4 3. ( 前準備 ) ライブラリの解凍と保存 5 4. モデルのインポート 6 5. インポートしたモデルのインピーダンス計算例 8 6. 補足 単シリーズ 単モデルのインポート お問い合わせ先 21 2

平成 30 年 5 月 国民健康保険中央会

Microsoft Word - site_protector_sp7_sysreq.doc

システム imac 21.5 インチディスプレイ 3.6GHz i5 Dual core / HT 2.8GHz i7 Quad core / HT ATI Radeon 4850 ATI Radeon HD はいいいえいいえはいいいえ ATI はいいいえ

PGRelief C/C++ 強化ポイント説明書

SIMATIC Selection Tool 操作ガイド

POWER EGG2.0 Ver2.8 スタートアップガイド ~Webデータベース 応用編~

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

BACREX-R クライアント利用者用ドキュメント

スクールCOBOL2002

GHS混合物分類判定システムインストールマニュアル

サーバ/クライアント オプション

apli_connection

Autodesk Maya 2009 グラフィックス ハードウェア動作環境

24th Embarcadero Developer Camp

t20s3-fn09.pdf

AN1609 GNUコンパイラ導入ガイド

Microsoft Word - XPC4ソフトマニュアル.doc

ポリシーマネージャ       Linux版                                 集中管理環境の新規構築

目次 1. 回答作成手順 2 2. ツールの起動 3 3. 一般情報の入力 6 4. 成分表の入力 9 5. 依頼者情報の入力 エラーチェック XMLファイルの作成 動作設定 ( 任意 ) ( ご参考 ) 各種シートのボタン機能 ( ご参

周波数特性解析

Microsoft Word - NISDAS7FAQ doc

JDK のインストール (2012 年 8 月時点でのバージョン ) Java の実行環境 開発環境は さまざまな企業 団体が開発 配布を行っているが 当テキストでは Java の生みの親である Sun MicroSystems 社 ( 現 Oracle 社 ) の実行環境 開発環境を使用する Ja

工程’S 9 ヘルプ Excelバーチャート

電子納品チェックシステム利用マニュアル

TopSE並行システム はじめに

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

インストールの前に

TIA in the Digital Enterprise

商標類 Microsoft は, 米国およびその他の国における米国 Microsoft Corp. の登録商標です Microsoft Office は, 米国 Microsoft Corp. の商品名称です Microsoft Excel は, 米国 Microsoft Corp. の商品名称です

PRONETA

uCosminexus EUR 08-20新機能のご紹介

アナログ回路 I 参考資料 版 LTspice を用いたアナログ回路 I の再現 第 2 回目の内容 電通大 先進理工 坂本克好 [ 目的と内容について ] この文章の目的は 電気通信大学 先進理工学科におけるアナログ回路 I の第二回目の実験内容について LTspice を用

Introduction to System Identification

JACi400のご紹介~RPGとHTMLで簡単Web化~

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~

ENI ファーマシー受信プログラム ユーザーズマニュアル Chapter1 受信プログラムのインストール方法 P.1-1 受信プログラムのシステム動作環境 P.1-2 受信プログラムをインストールする P.1-9 受信プログラムを起動してログインする P.1-11 ログインパスワードを変更する

1. はじめに 本書は スプリット演算器 MFS2 用コンフィギュレータソフトウェア の取扱方法 操作手順 注意事項などを説明したものです Windows の操作や用語を理解している方を前提にしています Windows の操作や用語については それぞれのマニュアルを参照してください 1.1. MFS

CLUSTERPRO SSS 動作環境編

Encoreソフトウェアの使用方法

Red Hat Enterprise Linux 6 Portable SUSE Linux Enterprise Server 9 Portable SUSE Linux Enterprise Server 10 Portable SUSE Linux Enterprise Server 11 P

Microsoft Word - XOOPS インストールマニュアルv12.doc

Welcome-Kit ~STM32L4-Nucleo~

PrimerArray® Analysis Tool Ver.2.2

DWR-S01D Updater 取扱説明書 発行日 :2011/2/28

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

TRAVENTY CG V 動作検証報告書

H-R041-2_j

Rational Roseモデルの移行 マニュアル

電子納品チェックシステム利用マニュアル

HP Z200 Intel i5 CPU 3.33GHz Low Profile 仕様 380 LP Assist 2.2 Instinct v3.0 以降 いいえいいえはいいいえ 4GB および 8GB DDR ECC (2 枚構成の DIMM) ISIS へ接続するにはオンボードの

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

ワークステーション推奨スペック Avid Avid Nitris Mojo SDI Fibre 及び Adrenaline MC ソフトウェア 3.5 以降のバージョンが必要です Dual 2.26 GHz Quad Core Intel 構成のに関しては Configuration Guideli

Microsoft Word - p2viewer_plus_jpn20.doc

Transcription:

<Optimize( 最適化 )> SIMulation Workbench 上での SimHydraulics モデル実行時間測定 E-Mail: Web: Wiki: info@ccur.co.jp http://www.ccur.co.jp/ http://wiki.simwb.com/wiki/main_ コンカレント日本株式会社東京都台東区柳橋 2-19-6 柳橋ファーストビル 4F TEL 03-3864-5713 UL http://www.ccur.co.jp 1

はじめに : コンカレント日本株式会社では 米国 oncurrent omputer orporation 社の提供するリアルタイム ソリューションを販売して居ります 弊社では ハードリアルタイム OS である edhawk eal-time Linux とリアルタイムシミュレーション プラットフォームである SIMulation Workbench を ドライビングシミュレータや HIL システム プラットフォームとしてご提供しております このレポートは 40 年余りに亘りリアルタイム OS およびリアルタイム ソリューションをご提供してまいりましたコンカレントが OS プログラミングおよびコンピュータ プラットフォームの専門家の立場から MathWorks 社の Simulink で製作されたプラントモデルの高速化の手法に関してご提案するものです Simulink モデルを 対象となる OS( ここでは edhawk Linux) 上でリアルタイムシミュレーションを行う場合 様々なコンピュータ プラットフォームがあります 弊社の edhawk eal-time Linux OS は x86 およびx86-64 アーキテクチャの PU 上で動作する Linux です 主に Intel 社の提供する PU を対象としており 近年では Nehalem Westmere Sandy-bridge そして Ivy-bridge とその内部のマイクロアーキテクチャの目覚ましい進歩が続いています PU の性 能は一概にその動作クロックのみによって決まるものではなく マイクロアーキテクチャの違いにより大きく演算速度に差が生じる場合もあります また 最近の PU ではマルチコア ( Multi-ore ) やメニーコア ( Many-ore ) Nehalem アーキテクチャ以降マルチ PU 構成がトレンドとなってきています MathWorks 社の SimHydraulics は Simscape 拡張ツールとして油圧および制御システムのモデリングやシミュレーション機能を Simulink に追加することができます そして SimHydraulics を使用したモデルも同社の eal-time Workshop ( Simulink バージョン 2011b 以降では Simulink oder ) でコード生成し その実モデルを SIMulation Workbench 上でリアルタイムに実行することが可能です 一般的には SimHydraulics モデルは演算処理に時間がかかるため リアルタイム処理には不向きとされてきましたが 今回は SIMulation Workbench Version4.1 上で 1msec のシミュレーションループに設定されたサイクル毎に SimHydraulics のサンプルモデルの演算に掛かる時間を計測した結果を報告します 測定環境 : コンピュータ :oncurrent ihawk HQT55 シリーズ (DELL Precision T5500 相当 ) PU : Intel Xeon PU X5667 @ 3.07GHz(2 quad core) IM : oncurrent IM-III eal-time lock & Interrupt Module (PIe) Memory : 6G OS (Kernel) : edhawk5.2.5 (2.6.26.8-edHawk-5.2.5-trace, 32bit) SIMulation Workbench : Version 4.1-5(32bit) 使用モデル : sh_hydraulic_closed_loop_actuator_fixed_step.mdl 今回使用した Simulink モデルは MTL /Simulink の開発パッケージにサンプルプログラムとして付属されているモデルを使用しました 2

S P S S P T S Hydraulic losed-loop ctuator with Fixed-Step Integration Motion Sensor Position od f(x)=0 Solver onfiguration1 Double-cting Hydraulic ylinder F Force Sensor1 SWForce Force ctuator TF SP IFS Pipe_ Pipe_ M SWPosition1 [Er_1] From [Er_1] Goto 0.35 0.01s+1 Transfer Fcn S PS SPS_1 4-Way Directional Valve Proportional Valve ctuator Motion Sensor1 eturn Power Outlet Power Unit [Er_2] From1 SWError Subtract SWDifference Signal 1 Position od ontrol Unit f(x)=0 Solver onfiguration Pipe_1 Double-cting Hydraulic ylinder (Simple) Pipe_1 F Force Sensor2 M1 SWForce1 TF1 Force ctuator1 SP1 IFS1 SWPosition2 [Er_2] Goto1 Hydraulic Fluid 4-Way Ideal Valve 0.35 0.01s+1 Transfer Fcn1 S PS SPS_2 Proportional Valve ctuator1 PS onstant? Double-click here for details 備考 コンカレント社の SIMulation Workbench では 複数の Simulink モデルが別々のプログラム ( スレッド ) として またアナログ / デジタル信号の入出力および N/Flexay/EtherT 等の通信バスへの入出力も各々別のプログラム ( スレッド ) として独立して動作します SIMulation Workbench は 独自の TD (eal-time Data ase) 変数テーブルを共有メモリ上に構築し 各信号やバスの入出力および複数のプラント / 制御モデル間で自由にこの変数テーブルを使用することでデータの受け渡しを行っています Simulink モデル上の Input および Output ( または Source/Sink) を SIMulation Workbench の管理する TD 変数テーブル上の変数として登録する必要があります Simulink モデル上の I/O 名を TD へ登録は モデルで使用される全ての Input および Output ( または Source/Sink) を自動的に登録する方法と 今回の測定で使用した モデル上の Scope 名称に SIMulation Workbench の TD 変数として認識させるための SW プリフィックスを追加する方法の二通りあります SW プリフィックスを追加した Scope は以下の通りです Position1 Position2 Force Force1 Error Difference なお Simulink モデルを eal-time Workshop および Simulink oder を使用してコード生成する際に 生成されるファイル名が長すぎると SIMulation Workbench の環境上でエラーが発生します このエラーを回避する為 本来のサンプルモデルのファイル名で有る sh_hydraulic_closed_loop_actuator_fixed_step. mdl を sh_hydraulic_pk.mdl に変更してあります 3

測定結果 : Simulink モデルを SIMulation Workbench 4.1 環境でリアルタイム実行した結果を以下に示します シミュレーションループサイクルは 1msec シミュレーション全体の実行時間は 10sec です モデル名 :sh_hydraulic_closed_loop_actuator_fixed_step.mdl(sh_hydraulic_pk.mdl) 最適化オプション vg. runtime(μ sec) Max runtime(μ sec) -O 555.09 14594.54 -O2 530.17 13766.33 -O3 430.51 12247.98 SIMulation Workbench 4.1 には ループサイクルのフレーム毎のモデル実行時間を記録する機能があります 次に示すグラフは 図 -1 が最適化オプション -O の時 図 -2 が最適化オ プション -O2 の場合の結果で それぞれ 10sec の実行時間中の モデルの計算時間を表しています 黄色 :Position1( モデル入力値に相当 ) 赤色 :Force( 出力制御値相当 ) 緑色 :runtime( モデル計算時間 ) 本モデルのシミュレーションでは Position1 の入力値の変化に応じて Force の結果も変動し 同時に runtime のモデル計算時間も大きく変動する様子が表れています 最適化オプション -O の場合 シミュレーション開始直後に 14.6msec の演算時間がかかり その後 Position1 の入力が変化するたびに 1ms を超える演算時間がかかっています 最適化オプション -O2 を付加した場合は モデル演算時間は開始直後の 13.8msec の演算時間以外は すべて 1msec 以内の演算時間に収まっている様子が観測されます シミュレーション開始直後に大きく演算時間がかかっているのは ソルバーモデルの初期化に時間を要している為です 備考 Simulink モデルをコンパイルする際は コンカレントの提供する Simulink Tools をお手持ちの Simulink 環境へインストールし Simulink のメニューバーへ追加された SIMulation Workbench Target メニューから呼ばれる SIMulation Workbench Target onfiguration Tool 画面上の Generate, Export, and MKE ボタンをクリックします 最適化は dditional ompiler Option 入力欄へ Optimize オプション (-o -o2 -o3) を記述するだけで 複雑な手順は必要ありません 4

図 -1 最適化オプション O の場合のフレームサイクル毎のモデル演算時間 vg.runtime: 555.09μ sec Max.runtime: 14594.54μ sec Position1 入力 Force 出力 runtime 図 -1 2 は SIMulation Workbench Version 4.0 から導入された Data Logger (DL) Viewer を使用して描画したグラフからの抜粋です SIMulation Workbench では TD 上へ変数登録された Simulink モデルの Input および Output( または Source/Sink) を シミュレーション周期毎にハードディスクへロギングすることが出来ます DL Viewer は格納したログデータを 図の様に同一時間上で重ねて表示することが出来ます 5

図 -2 最適化オプション O2 の場合のフレームサイクル毎のモデル演算時間 vg.runtime: 530.17μ sec Max.runtime: 13766.33μ sec Position1 入力 Force 出力 runtime DL Viewer は 縦軸 / 横軸のスケール値を自由に設定することが可能です 図 -2 は比較の為 図 -1 と同じスケールで runtime ( 演算時間 ) を描画しています 6

最適化オプション -O2 を付加した場合のモデル演算時間データに関して ソルバーモデルの初期化の影響を排する為に開始後 3 サイクル以降 のデータを Excel にてグラフ化し演算時間軸を拡大したものを 時間軸をそろえて表したものが下の図です Position1 入力 Force 出力 runtime 1 2 7

ソルバーモデルの初期化の影響を排したモデル演算時間データでは 図の様に Position1 の入力値が変化しない場合は 420 μ sec Position1 の入力値が変化する場合はその変化量に関わらず 450μsec 近辺の安定した演算時間を示しています しかし 開始から約 7.37sec である図の 1 印の部分では 430μsec 程度となっており 単調減少中の Position1 の入力値には変化は見られません また 図の 1 印の後に続く図の 2 印の部分では 405μsec 程度とこの部分も他では見ることの出来ない演算時間が観測されます この 1 印および 2 印の両区間内では 他で観測される ±15μsec 程度の演算時間のバラつきが観測されていないことが判ります なお ソルバーモデルの初期化の影響を排したモデル演算時間データの平均値および最大 最小値は以下の通りです vg.runtime Max.runtime Min.runtime :435.42μ sec( 標準偏差 11.24 μ sec) :467.81μ sec :404.22μ sec 結果考察 以上の結果から最適化オプションの有無による出力値の差が見られない本モデルの場合 最適化はモデル演算時間を短縮する為の強力な手段になり得るものと考えられます さらに 入力条件によるモデル演算時間の分散が改善されることから 最適化は単にモデル演算時間の短縮だけにとどまらず上記の図の 1 印および 2 印の観測に見られるように モデルの挙動に関し解析を実施する為のツールとして SIMulation Workbench を使用する可能性に 関しても示唆しています 今回使用した PU は 現在市場で入手できる Intel Xeon PU ではミドルクラスであり さらに高速な構成のコンピュータも手ごろな価格で入手することが可能です 比較的高速なアーキテクチャの PU を搭載したコンピュータを使用することにより Simulink モデルや TW の創出した コードに対してユーザが改良を加えること無く 更に数十パーセントかそれ以上速度を向上させることも可能で有ると考えられます 8

参考 : モデルのコンパイル時に最適化オプションを付加する以外にも 最適化 ( 高速化 ) の方法は 幾つかあります その方法を以下に紹介しましょう 1 Solver ブロックパラメータ変更 : 今回のモデルには Solver ブロックが含まれており このブロックパラメータを変更することで最適化をはかることができます 以下は 1 の方法による最適化の例と結果を示しています ( 表中には下側 3 行がその結果で 上側 3 行は比較のために先の結果をそのまま掲載しています ) モデル中の Solver ブロックパラメータの次の項目を変更します Use fixed-cost runtime consistency iterations: チェック nlinear iterations:3 モデル名 :sh_hydraulic_closed_loop_actuator_fixed_step.mdl(sh_hydraulic_pk.mdl) 最適化オプション vg. runtime(μ sec) Max runtime(μ sec) -O 555.09 14594.54 -O2 530.17 13766.33 -O3 430.51 12247.98 -O +nlineaitarations=3 440.52 13664.54 -O2 +nlineaitarations=3 416.13 12875.36 -O3 +nlineaitarations=3 338.72 11398.13 9

2 モデルの分散化 ( 並列化 ): 今回のモデルは上側と下側で分割して別のモデルとして計算することも可能です 2 つのモデルに分割した上で それぞれのモデルタスクを SIMulation Workbench /edhawk が動作 するコンピュータ上の任意の PU に割当てて実行すれば演算時間 ( 負荷 ) は分散され より短い時間での計算が可能となります 3 OS/SIMulation Workbench の 64bit 化 : コンカレントの提供する edhawk Linux と SIMulation Workbench はともに 32bit/64bit 何れの環境でも動作します 弊社のこれまでの経験上 32bit 環境で動作した Simulink モデ ルを 64bit 環境で再コンパイルして実行するだけで 20%~50% 程度の演算時間の短縮が確認されています 4 PU の高速化 : SIMulation Workbench と edhawk Linux は Intel /MD 系アーキテクチャの PU 上で動作します より高速な計算を必要とする場合 は より最新のアーキテクチャを使用した最速の PU を選択することで ソルバのモデルを高速に計算する事が可能となります 5 Linux コンパイラ : Linux 標準搭載コンパイラ gcc と Intel コンパイラ (icc) が使用可能であり 一般的に icc を使用してコンパイルを実行した場合が高速となるプログラムが多いことが報告されています プロ グラム中で使用する命令セット等の条件に依存する為に一概には規定できませんが インターネット上の情報等によると 20~40% の高速化が実現できるものもあります 10