到達目標
バス結合型、ネットワーク結合型の並列コンピュータの構成を理解し、簡単なプログラムを作成できるようになる。
またクラウドコンピューティングの基礎概念を理解する。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
バス結合型並列コンピュータ | バス結合型並列アーキテクチャを理解し、OpenMPを用いた実際のプログラムを作成できる。 | バス結合型並列アーキテクチャとOpenMPによるプログラム作成の基本的な方法を理解できる。 | バス結合型並列アーキテクチャについて十分理解できない。 |
OpenMPを利用した並列プログラミング | OpenMPを利用した効率のよい並列プログラムを作成できる。 | OpenMPを利用した簡単な並列プログラムを作成できる。 | OpenMPを利用した簡単な並列プログラムを作成できない。 |
学科の到達目標項目との関係
教育方法等
概要:
並列コンピュータの概念とその上で動作するソフトウェアについて学習する
授業の進め方・方法:
講義および演習、実習を取り入れて授業を進める。
注意点:
変化の早い分野であるので、最新のニュース等に関心を持ち、みずから情報や知識の吸収に努めること。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
並列処理システムの概要(1) |
並列処理システムの概念と課題を理解する。
|
2週 |
並列処理システムの概要(2) |
並列処理システムの歴史を理解する。
|
3週 |
並列処理システムの概要(2) |
命令/データ流,メモリ共有に注目した並列処理の分類を理解する。
|
4週 |
共有メモリ型並列アーキテクチャ |
共有メモリ型並列コンピュータの構成と性能上の課題、スヌープキャッシュによる解決の概要を理解する。
|
5週 |
スヌープキャッシュ(1) |
ライトバックインバリデートの基本的なプロトコルである MSI プロトコルの動作を理解する。
|
6週 |
スヌープキャッシュ(2) |
MSI プロトコルの問題点を改善する MESI の動作を理解する。
|
7週 |
スヌープキャッシュ(3) |
MOSI プロトコルを理解し、MOSI と MESI を比較できる。
|
8週 |
フォルスシェアリング |
フォルスシェアリングのメカニズムと性能に与える影響、回避のための一般的な方法を理解する。
|
2ndQ |
9週 |
共有メモリシステムにおける同期機構 |
同期の必要性と実現方法を理解する。
|
10週 |
マルチスレッドセーフ |
マルチスレッドセーフの概念を理解し、同期機構が性能に与える影響を観測・理解する。
|
11週 |
OpenMPプログラミング(1) |
OpenMPを用いて簡単な並列プログラムを書けるようになる。
|
12週 |
OpenMPプログラミング(2) |
共有変数とプライベート変数、リダクションについて理解する。
|
13週 |
OpenMPプログラミング(3) |
OpenMP に用意されているスケジューリング方式を理解する。
|
14週 |
OpenMPプログラミング(4) |
OpenMPを用いてやや規模の大きな問題を解く並列プログラムを書けるようになる。
|
15週 |
OpenMPプログラミング(5) |
OpenMPを用いたプログラムのパフォーマンスチューニングの方法の基礎を理解する。
|
16週 |
|
|
評価割合
| 課題・小テスト | プログラミング課題 | 合計 |
総合評価割合 | 80 | 20 | 100 |
基礎的能力 | 60 | 5 | 65 |
専門的能力 | 20 | 15 | 35 |