Occam言語による マルチプリエンプティブシステムの 実装と検証

Slides:



Advertisements
Similar presentations
並列プログラミング言語による Dining Philosophers Problem の検証 大井 謙 数理科学コース 4 年 福永研究室 2010 年 3 月 4 日 ( 木 ) 1.
Advertisements

OWL-Sを用いたWebアプリケーションの検査と生成
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング.
オペレーティングシステム 第3回 プロセスの管理とスケジューリング
Chapter11-4(前半) 加藤健.
最新ファイルの提供を保証する代理FTPサーバの開発
LZ圧縮回路の設計とハード・ソフト 最適分割の検討 電子情報デザイン学科 高性能計算研究室 4回生 中山 和也 2009/2/27.
過負荷時のWebアプリケーションの性能劣化を改善する Session-level Queue Scheduling
On the Enumeration of Colored Trees
オペレーティングシステムJ/K 2004年10月7日
神奈川大学大学院工学研究科 電気電子情報工学専攻
Handel-Cによる       エアホッケー.
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
Ibaraki Univ. Dept of Electrical & Electronic Eng.
複数CPU間のための共有メモリ 小島 隆史(中央大学大学院理工学研究科 國井研究室)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
CSP記述によるモデル設計と ツールによる検証
画像処理ボード上での 高速テンプレートマッチングの 実装と検証
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
 データベースによる並列処理 情報論理工学研究室  三宅健太.
トキのカタチ2016 電子工作(Arduino)講習
大規模アドホックネットワークにおける 階層的な名前解決法
サーバ負荷分散におけるOpenFlowを用いた省電力法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
マルチTPcoreによる並列コンピュータ
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
静的情報と動的情報を用いた プログラムスライス計算法
MPIによるwavからmp3圧縮の検証 情報論理工学研究室 04‐1‐47‐200 木村 惇一.
RT-Linuxを用いた 多入力パルス波高分析システムの開発
高速剰余算アルゴリズムとそのハードウェア実装についての研究
MPIを用いた最適な分散処理 情報論理工学研究室 角 仁志
「iQUAVIS」 によるハード・ソフトの 横断的な構想検討
Webサービスによる 加工工程決定支援システム
Ibaraki Univ. Dept of Electrical & Electronic Eng.
雑音環境下における 非負値行列因子分解を用いた声質変換
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
社会シミュレーションのための モデル作成環境
オペレーティングシステム 第3回 プロセスの管理とスケジューリング
加工工程決定支援システム 電子情報通信学会 2010年総合大会 2010年3月18日 松江工業高等専門学校  情報工学科 越田 高志.
通信機構合わせた最適化をおこなう並列化ンパイラ
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
ネットワークプログラミング (5回目) 05A1302 円田 優輝.
東京工業大学 情報理工学研究科 数理・計算科学専攻 千葉研究室 栗田 亮
言語XBRLで記述された 財務諸表の分析支援ツールの試作
非対称リンクにおける ジャンボフレームの性能評価
PIC実習 ~PICを用いた電子工作~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステムJ/K 2004年11月15日2時限目
組込みシステムとは コンピュータ制御システム?
並列処理プロセッサTPCOREの 組み込みシステムへの応用 理工学研究科数理情報科学専攻 福永 力,岩波智史,情報システム研究室.
オペレーティングシステム (プロセススケジューリング)
Handel-Cを用いた パックマンの設計
「マイグレーションを支援する分散集合オブジェクト」
卒業研究 JCSPを用いたプログラム開発  池部理奈.
理工学部情報学科 情報論理工学研究室 延山 周平
オペレーティングシステムJ/K (並行プロセスと並行プログラミング)
ゲームのタスクシステム 導入編 レベル2くまー By keychan.
プロセッサ設計支援ツールを用いた 独自プロセッサの設計
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
オペレーティングシステム (プロセススケジューリング)
BSPモデルを用いた 最小スパニング木 情報論理工学研究室 02-1-47-134 小林洋亮.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
並列処理プロセッサへの 実数演算機構の開発
P2Pによる協調学習システム 唐澤 信介   北海道工業大学 電気工学専攻.
Presentation transcript:

Occam言語による マルチプリエンプティブシステムの 実装と検証 首都大学東京 理工学研究科 数理情報科学 福永研究室 田中 和人

目次 本研究の背景 開発環境 研究テーマ 検証とまとめ、今後の課題 並列プロセッサTPCORE 並列プログラミング言語Occam リアルタイムシステムとは TPCOREの問題点 マルチプリエンプティブシステム 検証とまとめ、今後の課題 2008/1/28 首都大学東京 修士論文発表会

本研究の背景(1) 当研究室では、並列プロセッサTPCOREを用いて 研究を行っている。 並列処理においては、処理する順番と処理を 切り替えるタイミングが重要であり、 このアルゴリズムをスケジューリングという。 このTPCOREで並列処理を実行する際、その処理に時間的制限が加わると、スケジューリングの問題 からその制限を満たせない場合がある。 2008/1/28 首都大学東京 修士論文発表会

本研究の背景(2) これを解決するためのアルゴリズムがいくつか 提案されている。 本研究は、これらのアルゴリズムをTPCORE上で実行させると共に、性能の検証を行ったものである。 2008/1/28 首都大学東京 修士論文発表会

並列プロセッサTPCORE 当研究室の過去の研究で開発した並列プロセッサである。 英Inmos社の並列プロセッサTransputerをモデルにして開発されており、互換性を持っている。 2008/1/28 首都大学東京 修士論文発表会

並列プログラミング言語Occam(1) Transputerのために 開発された言語であり、TPCORE上でも動作可能 逐次プロセスと並列プロセスの記述が可能 チャンネルを用いてプロセス間の同期通信の記述が可能。 CHAN OF INT ch1; PAR   SEQ ‥‥‥‥ a := b+c ch1 ! a ch1 ? x y := x 並 列 プ ロ セ ス 逐 次 プ ロ セ ス 逐 次 プ ロ セ ス 例1 2008/1/28 首都大学東京 修士論文発表会

並列プログラミング言語Occam(2) プロセスには優先度を与えることができ、重要なプロセスは優先的に処理される。 優先度は二種類であり、 例2のように高優先度プロセスを指定する事ができる。 TPCORE、Transputerでは 複数プロセスの並列処理を 1台で行うことができる。 PRI PAR p0 p1 p2 高 低 低 例2 2008/1/28 首都大学東京 修士論文発表会

リアルタイムシステム システム : 入力に対して、いくつかのプロセス(処理)を経て出力する主体 リアルタイムシステム: プロセスの完了に制限時間が加えられたシステム 2008/1/28 首都大学東京 修士論文発表会

TPCOREのスケジューリング プロセス実行順序 実行するプロセスの切り替え 優先度順 (但し、同優先度の場合は起動要求順) 優先度順 (但し、同優先度の場合は起動要求順) 実行するプロセスの切り替え 実行プロセスが待機状態になったとき 低優先度プロセス実行時に高優先度プロセスが起動した p1 p2 高優先度待ち行列 p0 p3 p4 低優先度待ち行列 2008/1/28 首都大学東京 修士論文発表会

TPCORE上でリアルタイムシステム 構築時の問題点 例) 同優先度のプロセス1、プロセス2が並列処理 プロセス2の 制限時刻超過 プロセス1: 起動時刻= 0[μs] 実行時間= 400[μs] 制限時刻=1000[μs] プロセス2: 起動時刻= 100[μs] 実行時間= 200[μs] 制限時刻= 500[μs] プロセス1実行中 プロセス1 プロセス2 100 200 300 400 500 600 時間 [μs] プロセス2起動要求 プロセス2制限時刻 2008/1/28 首都大学東京 修士論文発表会

マルチプリエンプティブシステム 全プロセスに異なる優先度を付加させる → 高優先度プロセスによる多重割り込み (マルチプリエンプト)が可能である Occam環境において提案されている アルゴリズムが3つあり、それらを使用した。 2008/1/28 首都大学東京 修士論文発表会

CFS(Central Fixed Scheduling) P0,P1,P2・・・の順に高優先度 制限時間の短い順に高優先度を与える セントラル方式 Kernel : 制御プロセス 各Pに優先度を付加 優先度付加機構 kernel P : システムに与えられた処理(タスク) を実際に行うプロセス P0 P1 P2 ・・・ Pn-1 2008/1/28 首都大学東京 修士論文発表会

CFS~P1が起動し実行される様子~ Kernel 1.「P1が起動」 → 「Kernelにシグナル送信」(起動を知らせる) 同期通信のため、 シグナルを送信できないので 待機する Kernel P0 P1 P2 ・・・ Pn-1 実行 実行 実行 実行 実行 2008/1/28 首都大学東京 修士論文発表会

CFS~P0による割り込み時の様子~ Kernel 1.「P1が実行中、上位のP0が起動」 2.「P0より下位Pのシグナル受信を拒否」 シグナル送信ができるようになる P1は実行の際の シグナル送信が できないので待機する。 Kernel P0 P1 P2 ・・・ Pn-1 実行 実行 実行 実行 実行 実行 実行 実行 2008/1/28 首都大学東京 修士論文発表会

PFS (Pararell Fixed Scheduling) CFSを改良したもの 優先度の付加をKernelでなく各Pで行う パラレル方式 kernel Kernel : 制御プロセス P : システムに与えられた処理(タスク) を実際に行うプロセス。 P0 P1 P2 ・・・ Pn-1 優先度付加機構 2008/1/28 首都大学東京 修士論文発表会

PFS~ P1が起動し実行される様子~ Kernel 1.「P1が起動」→「下位Pへシグナル送信」 ・・・ Pn-1 Pn-1 Pn-1 実行 実行 実行 実行 実行 2008/1/28 首都大学東京 修士論文発表会

PFS~上位Pによる割り込み時の様子~ Kernel 1.「P1が実行中、P0が起動」→「P0から下位Pへシグナル送信」 ・・・ Pn-1 Pn-1 Pn-1 実行 2008/1/28 首都大学東京 修士論文発表会

CDS(Central Deadline Scheduling) プロセスの構成はCFSと同様 Kernelに優先度を変更するための プログラムを追加している あるPが実行を完了した際、制限時間の近い順に 優先度を並べ替える 2008/1/28 首都大学東京 修士論文発表会

CDS~P0が起動し実行後、P1が起動~ Kernel 1.「P0が起動」 → 「Kernelにシグナル送信」(起動を知らせる) 2 1 1 2 n-1 P0 P1 P2 Pn-1 実行 実行 実行 実行 実行 実行 実行 2008/1/28 首都大学東京 修士論文発表会

CFS,CDS,PFSの検証 これらのシステムは3つとも問題点を解決できるが、 この中でより優れたシステムを検証する。 検証方法 負荷 : その処理がプロセッサを使用する割合 2008/1/28 首都大学東京 修士論文発表会

検証結果(1) X軸はプロセスPの個数 Y軸はプロセッサにかける負荷 このグラフはそれぞれのシステムにおいて 並列処理プロセスPを変えたとき(1~6個)の スケジューリングによる負荷の変化を計測したものである。 2008/1/28 首都大学東京 修士論文発表会

検証結果(2) PFSが最もスケジューリング処理による 負荷が少なく、優れたシステムであった。 → PFSではKernelを介さず、P同士のやりとりだけで どのPが起動しているかを知ることができる。 これにより、Kernel部分の負担が減ったと考えられる。 2008/1/28 首都大学東京 修士論文発表会

まとめ TPCOREへのリアルタイムシステム実装において、優先度が足りなくなり、制限時間内に完了できないプロセスが出てくるという問題を解決できる システムをいくつか実装した それらのシステムの中でプロセッサ負荷の観点から最適なシステムがPFSであるという検証を 行い、ハードウェア実装の指針を提案した。 2008/1/28 首都大学東京 修士論文発表会

今後の課題 1. PFSよりもさらに最適なシステムの設計 2. 最適なシステム(のアルゴリズム)を ハードウェア的に実現 2008/1/28 2. 最適なシステム(のアルゴリズム)を ハードウェア的に実現 2008/1/28 首都大学東京 修士論文発表会