TopSE並行システム はじめに

Similar documents
CSPの紹介

CONPASU-tool

形式手法に基づく CONPASU 並行処理可視化ツールの紹介 ~CSP モデルベース開発のすすめ ~ 磯部祥尚 * 1, 大岩寛 * 1, 高橋孝一 * 1, 田中純 * 2 産業技術総合研究所 * 1 セキュアシステム研究部門, * 2 イノベーション推進本部 ET2012 展示会場内 IPA 出

CSP Kick-Off 6th/Mar/2009 CSP -(1) Kazuto MATSUI

背景 並行システム : 協調する複数の処理 ( プロセス ) から構成されるシステム 並行システムの例 ( 昇降舵のフライバイワイヤ ) 操縦桿 x2 角度 x3x2 ジャイロ x3 重量計 x4 フラップ LVDT IRU WOW FSACE PB 優先ボタン x2 MON モニタ COM コマン

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

はじめに : ご提案のポイント

about MPI

Microsoft PowerPoint - erlang-parallel100216

高合格率目標達成のためのノウハウを満載! 情報処理試験合格へのパスポートシリーズ ポイント 1 他社テキストにはない重要用語の穴埋め方式 流れ図の穴埋めを採用している他社テキストはあるが, シリーズとして重要用語の穴埋めの採 用 ( 問題集は除く ) はパスポートシリーズだけです なぜ, 重要用語の

計算機アーキテクチャ

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

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

fukunagaCSP14th.pptx

スライド 1

ジョブ管理ソフトウェア LoadStar Scheduler ご紹介資料 ~ システム運用品質の向上とコスト削減を実現 ~

POSIXスレッド

7 ソフトウェア工学 Software Engineering モデル検査 MODEL CHECKING 1 モデル検査の概要 並行システム : 相互排他, デッドロック, スタベーションなどの現象 入出力関係に着目した 停止性 + 部分正当性 のみでは正当性を言えない 振る舞い ( 途中の状態遷移

cmpsys15w07_os.ppt

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

PowerPoint Presentation

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

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015

Microsoft Word - Si Multi Digitalカード.docx

スライド 1

<4D F736F F D208AC888D B836A F C91808DEC837D836A B81698AC7979D8ED A E646F6

OS

大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った

課題情報シート テーマ名 : 動画中継ラジコンカーの製作 担当指導員名 : 土山博剛実施年度 : 25 年度施設名 : 四国職業能力開発大学校課程名 : 専門課程訓練科名 : 電子情報技術科課題の区分 : 総合制作実習課題学生数 : 1 時間 : 12 単位 (216h) 課題制作 開発のポイント

並列計算導入.pptx

はじめに Web アプリケーションの発展と普及の勢いは弱まる兆しがありません 弱まるどころか 加速し続けています これは これまでの ERP CRM Web 2.0 などの Web ベースアプリケーションが提供してきたメリットを考えると 不思議なことではありません Web アプリケーションの爆発的拡

並列計算

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

Linkexpress トラブル初期調査資料 採取コマンド使用手引書

スクールCOBOL2002

Microsoft PowerPoint - OpenMP入門.pptx

Using VectorCAST/C++ with Test Driven Development

Microsoft PowerPoint - 07.ppt [互換モード]

Microsoft PowerPoint - sakurada3.pptx

ビッグデータやクラウドのシステム基盤向けに処理性能を強化した「BladeSymphony」および「HA8000シリーズ」の新製品を販売開始

斎藤参郎 データサイエンス A 2018 年度水曜日 2 限目 (10:40-12:10) 0. イントロダクション 講義の進め方 担当昨年度より 講義の方針 1) 自宅でも学習できる 2) 様々なデータ分析手法を自分でインストールし 実験できる 環境の紹

はじめに : ご提案のポイント

ic3_cf_p1-70_1018.indd

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

Microsoft PowerPoint pptx

040402.ユニットテスト

Developer Camp

KSforWindowsServerのご紹介

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

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

IBM Cloud Social Visual Guidelines

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

Code_Aster / Salome-Meca 中級者への道 2015年5月31日

機能検証トレーニング コース一覧

PowerPoint プレゼンテーション

第3部:プログラミング実習

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

エンジニアリングトータルソリューション「ACROVA GMM」の2次元CADソフトウェアプロダクト3製品をバージョンアップ

Rmenuフレームワーク

Jude を DSL エディタとして使う -Jude API 活用法 年 11 月 14 日稚内北星学園大学東京サテライト校浅海智晴 本日のテーマ Why Jude API What Jude API How Jude API 1

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

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

untitled

平成 27 年度 ICT とくしま創造戦略 重点戦略の推進に向けた調査 研究事業 アクティブラーニングを支援する ユーザインターフェースシステムの開発 ( 報告書 ) 平成 28 年 1 月 国立高等専門学校機構阿南工業高等専門学校

JaSST'16 Tokai 特別講演

SAS_user_2015_fukiya02

組込みシステムにおける UMLモデルカタログの実践研究

EnSightのご紹介

目次 1 はじめに 登録商標 商標 注意事項 免債事項 SR-IOV の機能概要 性能検証事例 測定環境 測定結果 各方式による共有 NIC 性能比較 ( ポートあ

受付代行 設定マニュアル このマニュアルでは 恵比寿ボイスプロダクションが Google アシスタントアプリで公開している 受付代行 ( ) を使って Google

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

NUMAの構成

2014 年 11 月 20 日 ET2014 スペシャルセッション C-2 mruby プログラム言語 Ruby による組込みソト開発 九州工業大学田中和明 軽量 Ruby フォーラム Ruby アソシエーション

PowePoint Free Design Template

D5-2_S _003.pptx

(Microsoft PowerPoint - \221g\202\335\215\236\202\335\203\\\203t\203g\203E\203F\203A\215H\212w No03\201i\224z\225z\227p\201j.pptx)

PowerPoint プレゼンテーション

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1

Information Theory

Microsoft Word - 実験4_FPGA実験2_2015

<4D F736F F F696E74202D D4C82F08A B582BD A A F2E707074>

1

Managing and Sharing MATLAB Code

スライド 1

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

ITdumpsFree Get free valid exam dumps and pass your exam test with confidence

Insert your Title here

計算機システム概論

言語プロセッサ2005

TF Series with Tio1608-D System Setup Guide

研究室LANの設定方法

RTM セミナー RT ミドルウェアによる実時間ロボット 制御系の構築とソフトウェア教育 静岡大学大学院工学研究科機械工学専攻 清水昌幸

PowerPoint プレゼンテーション

スイッチ ファブリック

吉田坂本.pptx

Microsoft PowerPoint - 01_Vengineer.ppt

XMLとXSLT

PassSureExam Best Exam Questions & Valid Exam Torrent & Pass for Sure

Transcription:

はじめに 平成 23 年 9 月 1 日 トップエスイープロジェクト 磯部祥尚 ( 産業技術総合研究所 )

2 本講座の背景と目標 背景 : マルチコア CPU やクラウドコンピューティング等 並列 / 分散処理環境が身近なものになっている 複数のプロセス ( プログラム ) を同時に実行可能 通信等により複数のプロセスが協調可能 並行システムの構築 並行システム 通信 Proc2 プロセス ( プログラム ) 通信 並行システムの長所と短所 : 長所 : 協調動作による処理の高速化 分散化 Proc1 通信 Proc3 短所 : 協調動作による設計の複雑化 システムの信頼性の低下 ( デッドロック リソース競合等 ) 本講座の目標 : 並行システムの検証と実装方法を習得する ( 信頼性の高い並行システムを構築するため ) 例 : 6 コア CPU Core i7-980x ([1] より写真を転載 ) [1] http://journal.mycom.co.jp/special/2010/gulftown/index.html

3 はじめに 並行システムの概論 JCSP, FDR, CSP とは 本講座の特長

4 並行システムの特徴 ( 並行処理 ) 入力処理プロセスで常に入力を受け付けつつ 内部処理プロセスで入力操作に応じて内部処理を実行し 出力処理プロセスで内部処理中にその進捗状況を表示する プロセス 1 プロセス 3 プロセス 1 入力処理 時間軸 入力処理 出力処理 プロセス 2 start menu 内部処理 内部処理 時間軸 内部処理プロセス2 プロセス 3 data 出力処理 出力処理 時間軸

5 並行システムの特徴 ( 高速処理 ) A, B: 互いに依存関係があり 同時に実行する必要のない 2 つの処理 逐次処理 in in プロセス out プロセス 処理 A 処理 B 処理 A 処理 B out 時間軸 並列処理 in in 並列化による処理時間の短縮 プロセス1 fw bk プロセス 1 処理 A fw bk 処理 A fw fw 時間軸 プロセス2 out プロセス 2 処理 B 処理 B out 時間軸

6 並列処理 と 並行処理 の違い 並列処理 : 複数の処理を同時に実行すること 疑似並列処理 : 複数の処理を時分割で実行すること 並行処理 : 複数の処理を時間的重なりをもって実行すること 複数処理装置による並列処理 プロセッサ 1 入出力処理 計算中 :73% 計算 プロセッサ 2 計算 計算 ユーザインターフェース 1 つの処理装置による疑似並列処理 ( 時分割 ) プロセッサ 1 並行処理の意味は並列処理と疑似並列処理の両方を含む

7 2 つの通信方式 共有メモリ通信方式 : 共有メモリ上でメッセージを交換 処理が軽い ( 早い ) メッセージパッシング通信方式 : チャネルを通してメッセージを送受信 動作が分かりやすい 共有メモリ通信方式 共有リソース メッセージパッシング通信方式 チャネル プロセス 1 z プロセス 3 プロセス 1 ch31 プロセス 3 x 共有メモリ y ch12 ch21 ch23 プロセス 2 プロセス 2

8 メッセージパッシング通信方式 非同期型 : 送信と受信は別々に起きる 処理が軽い ( 早い ) 同期型 : 送信と受信は同時に起きる メッセージの取りこぼしがない 非同期型 同期型 ( ランデブー方式 ) 送信プロセス 受信プロセス 送信プロセス 受信プロセス 送信 1 1 受信 送信 1 受信 送信 送信 2 3 3 受信 取りこぼし 送信 送信 2 3 受信 受信

9 はじめに 並行システムの概論 JCSP, FDR, CSP とは 本講座の特長

10 Java ライブラリ : JCSP JCSP: Java で同期型メッセージパッシング通信を実装するためのライブラリ JCSP プログラミング 新しい言語を覚えなくてよい ( 敷居が低い ) Java Program ch31 Java Program 比較的その動作を予測しやすい ( 信頼性を高められる ) ch12 ch21 ch23 信頼性の高い並行システムを構築できる! Java Program

11 モデル検査器 : FDR FDR: JCSP の同期型メッセージパッシング通信を検証できるツール FDR による検証画面 並行動作の正しさを判定できる ( 期待通りに動作するか ) さらに信頼性の高い並行システムを構築できる!!

12 プロセス代数 : CSP なぜ JCSP の同期型メッセージパッシング通信を FDR で検証できるのか? JCSP FDR : プロセス代数 CSP のモデルを実装するための Java ライブラリ : プロセス代数 CSP のモデルを検査するためのモデル検査器 CSP: 同期型メッセージパッシング通信方式を採用しているプロセス代数 プロセス代数 : 並行システムを形式的に記述し 解析するための理論 プロセス代数 CSP でモデル化し モデル検査器 FDR で検証し Java ライブラリで実装することによって 理論的に検証された高信頼な並行システムを実装できる!!!

13 はじめに 並行システムの概論 JCSP, FDR, CSP とは 本講座の特長

14 本講座の 3 つのキーワード 理論 CSP 検証 FDR 実装 JCSP Communicating Sequential Processes, Hoare, 1985 プロセス代数 CSP: 並行システムを記述 解析するための理論 モデル検査器 FDR: CSP モデルの詳細化関係を検証するツール Oxford 大学 Formal Systems ( アカデミックライセンスは無料 ) Java ライブラリ JCSP: CSP モデルを Java で実装するためのライブラリ Kent 大学 (2006 年秋からオープンソース ) CSP モデルシステムの CSP 記述 ( 形式的な記述 ) FDR スクリプト FDR で読込み可能な記述 (FDR 入力言語 ) JCSP プログラム JCSP を利用している Java プログラム

15 本講座の構成 概要レベル1 第 1 章 CSP, FDR, JCSP 概論 CSP FDR JCSP 講義予定 1,2 入門 レベル 2 第 2 章 CSP 入門 第 3 章 FDR 入門 CSP FDR 3,4 5 第 4 章 JCSP 入門 JCSP 6,7 基礎レベル3 応用レベル4 第 5 章 CSP 理論 ( 動作表現 ) 第 6 章 CSP 理論 ( 動作解析 ) 第 7 章 FDR 検証第 8 章 JCSP 実装第 9 章 CSP, FDR, JCSP 応用第 10 章 CSP, FDR, JCSP 実践 CSP CSP FDR JCSP CSP FDR JCSP CSP FDR JCSP 8 9 10 11 12 13-15 グループ 実習

16 習得する知識 & 技術 プロセス代数 CSP の基礎知識 : CSP によるモデル化 FDR による検証 JCSP による実装の方法を正しく理解するために必要な基礎知識の学習 モデル検査器 FDR による検証技術 : オートマトン ( クリプキ構造 ) と時相論理に基づくモデル検査器 (SPIN, SMV 等 ) とは一味違った プロセス代数に基づくモデル検査器 FDR による検証方法の習得 ライブラリ JCSP による並行プログラミング技術 : CSP モデルに基づく並行プログラミング ( 分散プログラミングを含む ) 技術の習得 CSP 理論 FDR 検証 JCSP 実装 ( 実装を意識したモデル化が重要 検証には理論の基礎知識が必要 )

Java 以外にも有効 JCSP (Java) 以外にも CSP モデルを実装するためのライブラリがある 基本的な考え方は同じで 本講座で習得する実装技術は他のプログラミング言語にも有効である ライブラリ言語研究開発元 JCSP Java ケント大学 (QuickStone) C++CSP C++ ケント大学 CHP Haskell ケント大学 PyCSP Python トロムソ大学 & コペンハーゲン大学 Python-CSP Python ウォルバーハンプトン大学 Go 言語 : 2009 年秋にGoogleが発表したプログラミング言語 コンパイル言語のように速く スクリプト言語のように使い易い CSPに基づく並列処理記述が言語レベルで可能 Go 言語の公式マスコット Gordon http://golang.org/

ソフトウェア以外にも... Transputer (1981 年 ~1996 年 INMOS 社 ) 並列コンピューティングに特化した汎用マイクロプロセッサ CSPに基づく実装言語 Occamによるハードウェア実装 Transputer[1](Inmos 社 ) XMOS (2008 年 ~ XMOS 社 ) イベント駆動型マルチスレッドプロセッサ (XS1-G4, 4コア, 32スレッド ) CSPに基づくC 言語風の実装言語 XCによるハードウェア実装 CSP 理論 FDR 検証 XMOS 実装 XMOS[2](XMOS 社 ) [1] ウィキペディアの トランスピュータ (http://ja.wikipedia.org/wiki/ トランスピュータ ) の写真から引用 [2] XMOS 社のウェブサイト (https://www.xmos.com/products) の写真から引用

19 まとめ CSP の基本アイデアは C. A. R. Hoare によって 1978 年に発表された しかし過去の話ではなく CSP の理論研究は今も続けられている そして最近は CSP の実装関係の研究もより活発になっている マルチコア CPU の登場により並行システムの重要性が高まっている ( 誰でも簡単に並列プログラミング ) ネットワークの普及によって分散プログラミングのニーズも高まっている CSP の理論 検証 実装の基本的な流れを学習する意義は高い

20 補足 目標 : プロセス代数による検証と実装の 考え方 を習得すること (FDR や JCSP の 使い方 を習得することは目標ではない ) 考え方 を習得すれば他のツールも使いこなせる プロセス代数 CSP 用モデル検査器の例 ツール名 : FDR (Failures-Divergence Refinement) 講義で使用開発元 : オックスフォード大学 Formal Systems 特徴 : CSPの代表的なツール データ表現力が高い URL : http://www.fsel.com/ 備考 : アカデミック & 研究目的でのみ無料 ツール名 : PAT (Process Analysis Toolkit) FDRを使えれば 開発元 : シンガポール大学特徴 : 検証能力が高い CSPの変更 拡張あり URL : http://www.comp.nus.edu.sg/~pat/ 備考 : アカデミック & 研究目的でのみ利用可能