第3回 並列計算機のアーキテクチャと 並列処理の実際

Slides:



Advertisements
Similar presentations
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
Advertisements

連続系アルゴリズム演習 第2回 OpenMPによる課題.
第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング.
キャッシュ付PRAM上の 並列クィックソートと 並列マージソート
情報検索概説II 第8回 パソコン組み立てと記憶装置 1999/11/25.
CPUについて HN:セシル.
クラスタの構成技術と クラスタによる並列処理
Chapter11-4(前半) 加藤健.
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
入 出 力 管 理 オペレーティングシステム 6/26/09.
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
北海道大学 理学院 宇宙理学専攻 惑星物理学研究室 M 2 齊藤 大晶
計算機システムⅡ 主記憶装置とALU,レジスタの制御
DNASシステム上のアプリケーション起動シーケンスのための基盤であるdsh部分の性能評価
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
コンピュータの主役はCPU(Central Processing Unit)
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
分散遺伝的アルゴリズムによる各種クラスタのベンチマーク
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
(original Takagi & Saito, 2007)
小型デバイスからのデータアクセス 情報処理系論 第5回.
「システム構成要素」 (C)Copyright,Toshiomi KOBAYASHI,
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
高性能コンピューティング論2 第1回 ガイダンス
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
計算機システムⅡ 入出力と周辺装置 和田俊和.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
専門演習Ⅰ 国際経済学部 国際産業情報学科 2年 石川 愛
オペレーティングシステムとは オペレーティングシステム 第3回.
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
第8回入出力制御 デバイスコントローラ ポーリングと割込み 入出力の方式 PIO DMA 入出力のためのソフトウェア技法.
Virtual Editionのご紹介 2012年7月26日.
SpectreとMeltdown ITソリューション塾・第28期 2018年5月30日 株式会社アプライド・マーケティング 大越 章司
オペレーティングシステム 第3回( ) デッドロックと排他制御.
CPUの仕組み 1E16M002-5 阿部知也 1E16M007-3 伊藤達哉 1E16M026-9 小島祥太郎 1E16M069-8 峰晴晃優 1E16M070-0 宮路暁久 1E14M070-5 南元喜.
大阪市立大学 学術情報総合センター 大西克実
MPIを用いた並列計算 情報論理工学研究室 清水周.
全体ミーティング 金田憲二.
序章 第2節 教育機器とコンピュータ 1 パーソナルコンピュータ
#6 性能向上、ブレイクスルー、集中と分散 Yutaka Yasuda.
梅澤威志 隣の芝は茶色いか 梅澤威志
オペレーティングシステム イントロダクション
Ibaraki Univ. Dept of Electrical & Electronic Eng.
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
通信機構合わせた最適化をおこなう並列化ンパイラ
コンピュータ概論B ー ソフトウェアを中心に ー #02 システムソフトウェアと アプリケーションソフトウェア
1.情報機器について知ろう(p.8-9) 第1章 第1節
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
複数ホストにまたがって動作する仮想マシンの障害対策
Ibaraki Univ. Dept of Electrical & Electronic Eng.
同志社大学工学研究科 知的システムデザイン研究室 修士2年 中尾昌広
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
組込みシステムとは コンピュータ制御システム?
Virtualizing a Multiprocessor Machine on a Network of Computers
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
Cell/B.E. のSPE上で動作する 安全なOS監視システム
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
理工学部情報学科 情報論理工学研究室 延山 周平
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
コンピュータアーキテクチャ 第 9 回.
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
Ibaraki Univ. Dept of Electrical & Electronic Eng.
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
Presentation transcript:

第3回 並列計算機のアーキテクチャと 並列処理の実際 情報処理系論 第3回 並列計算機のアーキテクチャと 並列処理の実際

今日の内容 「並列処理してみなぁい?いいねぇ!」 並列計算機のアーキテクチャ 並列処理してみなぁい?いいねぇ! 目的、分類 UMA、NUMA、NORMA 並列処理してみなぁい?いいねぇ! どんなときに? マルチプロセッサの話 PVM(Parallel Virtual Machine)のこと

並列計算機 プロセッサがいくつもあるコンピュータ それらを同時に使って処理するのが並列処理

(準備)プロセッサの話 コンピュータの頭脳、計算するところ クロックと呼ばれる周期で仕事をする 構成要素 Intel Pentium, Sun ○○SPARC, DEC Alpha クロックと呼ばれる周期で仕事をする 構成要素 命令デコーダ、算術演算ユニット、バスインタフェースユニット、レジスタ、分岐予測テーブルなどなど

(準備)クロックの話 仕事 仕事 コンピュータの中で過ぎていく時間の単位 人間:○○秒 ⇔ コンピュータ:○○クロック 人間:○○秒 ⇔ コンピュータ:○○クロック ○.○○クロック(小数点)っていうのはなし。 クロックは同期信号。 一定間隔 一定間隔 一定間隔 一定間隔 一定間隔 一定間隔 一定間隔 一定間隔 仕事 仕事 4クロックかかる仕事 クロックに同期してない

(準備)スケジューリング OSは1つのCPUを使いまわしする。 同時に処理できるプロセスの数はCPUの数と同じ! プロセスA, B, Cがあるとき 時分割処理 同時に処理できるプロセスの数はCPUの数と同じ! 55クロック OSの仕事 OSの仕事 OSの仕事 プロセスA のための仕事 プロセスB のための仕事 プロセスC のための仕事 プロセスA のための仕事

並列処理って何ですか。 複数のプロセッサを使って、複数の処理を同時に行なうこと。 複数のプロセッサを持つコンピュータを並列コンピュータと呼ぶ。(マルチプロセッサコンピュータはメモリ共有型の並列コンピュータを指す) 27クロック OSの仕事 OSの仕事 プロセスA のための仕事 プロセスC のための仕事 他のプロセスのための仕事 プロセスB のための仕事 プロセスA のための仕事 他のプロセスのための仕事 OSの仕事 OSの仕事

並列コンピュータの分類 プロセッサの数による分類 メモリ共有形式による分類(詳しくは後で) 8個以下 :最近のPCでも実現できる 64個以下 :一般的なサーバマシン 128個以上 :超並列(Massively Parallel) メモリ共有形式による分類(詳しくは後で) UMA :Uniform Memory Access NUMA :Non-Uniform Memory Access Hybrid NUMA

並列コンピュータとプロセッサ数 Origin2000 Cray SV1

プロセッサを増やす目的 高速化 高信頼性 高効率化 複数のプロセッサを同時に使うことにより、ジョブを高速に処理できる。 複数のプロセッサを持つことによって、幾つかが逝っちゃってもシステムは継続動作できる。 高効率化 複数のプロセッサが入出力デバイスを共有することにより、各デバイスの遊休時間を減らす。

メモリの共有形式 UMA NUMA Hybrid UMA NORMA 全CPUが一つのメモリを共有している。 上二つの混合型 NORMA メッセージングにより各CPUがお互いのメモリを共有(物理的な共有メモリは存在しない。) 次のページに図があるなり。

UMA NUMA メモリ CPU バス メモリ CPU CPU Hybrid NORMA LAN CPU CPU CPU CPU CPU クロスバー/ スイッチ メモリ CPU CPU CPU CPU CPU Hybrid NORMA CPU CPU CPU CPU CPU CPU メモリ メモリ CPU CPU CPU CPU LAN CPU CPU CPU CPU CPU CPU CPU メモリ メモリ CPU CPU CPU CPU

1台のコンピュータを使った 並列処理 UMA OSが一つのバスと複数のプロセッサを管理 プロセッサの使い方による分類 例えばデュアルPentiumIIIマシンとか OSが一つのバスと複数のプロセッサを管理 Windows NT, FreeBSD, Linuix, etc. プロセッサの使い方による分類 SMP :Symmetric Multi Processor ASMP :Asymmetric Multi Processor

SMPとASMP SMPとASMPの違い(銀行窓口の例) 窓口⇒CPU、客⇒処理と考えてみよう。 ASMP(非対称) SMP(対称) 預貯金窓口 公共料金窓口 なんでも窓口 なんでも窓口 列 列 列 窓口が目的別にわかれている 客の目的別に列を作る 窓口は1種類 客はどちらか空いた方の窓口へ。

複数台のコンピュータを使った 並列処理 NORMA ミドルウエアを使って複数のノードを管理 何を並列にする? ccz01 ~ ccz04とか、zz000 ~ zz149(150台!) ミドルウエアを使って複数のノードを管理 PVM(Parallel Virtual Machine) 何を並列にする? 制御並列 :異なる処理を各プロセッサで行なう 例: なんだろう? データ並列 :異なるデータで同じ処理を行なう] 例: 並列データ検索、レイトレーシング

並列化と性能向上のカンケイ プロセッサを増やしても性能は比例しない 並列化できない部分がある データ転送やノード間の同期が必要 共有している入出力デバイスの限界(UMAの時) 並列化効率 オーバーヘッド ノード数

並列処理してみなぁい? いいねぇ~! 「SFC中の端末を使って並列処理してみる。」 まずは実際にやってみよー! PVMを使う 目標 把握済み端末 zz??? 150台 ccz?? 4台 otwo?? 50台 ccsp-h?? 32ノード

PVMの使い方(超概要) ccz00~ccz03を使って並列処理するとき xpvmなどで各ノードの状態を管理 ccz00 ccz01 ccz02 ccz03 ログイン中

PVM上でプログラムを動かす 環境変数の設定 PVMデーモンの起動 プログラムの起動 PVM_ROOT ⇒ PVMパッケージのパス 詳細は配布資料でね! 環境変数の設定 PVM_ROOT ⇒ PVMパッケージのパス PVM_ARCH ⇒ ホストのアーキテクチャ (SUN4SOL2とか) PVMデーモンの起動 $PVM_ROOT/bin/pvmd [hosts_file] hosts_fileには、ログインホスト以外でデーモンを起動したいホスト名を並べておく。 プログラムの起動 PVMライブラリを使って記述されたプログラムを直接実行する。

課題 並列処理させると効果的なプログラムを考えてみよう! 円周率を計算するプログラムを実行して所要時間を計測してみよう! pai_master 4 100000 ← 4:プロセス数 プロセス数を10、20、30、40、50~100とどんどん増やして、所要時間をグラフにしてみよう! これでいい?おさむさん。