本書は、コンピュータアーキテクチャを学ぶ大学学部生、院生や企業の技術者、研究者を対象として、並列コンピュ
ータを基礎から解説するものです。
ムーアの法則が頭打ちとなり回路の動作周波数に限界が見え始めたことから、コンピュータアーキテクチャは、従
来の微細化・集積化型の成長から、マルチコア・メニーコア化による並列化・分散化型の成長へ舵を切りました。その
結果、スマートフォンからスーパーコンピュータまで、現在あらゆるコンピュータが並列化されています。
本書では、この並列コンピュータについて体系的に整理し、基礎、歴史、アーキテクチャ、記述言語などをていねいに紹介します。現代のコンピュータにかかわるすべての方の座右の書です。
https://www.ohmsha.co.jp/book/9784274225710/
正誤表やDLデータ等がある場合はこちらに掲載しています
第1章 並列コンピュータとは
第2章 集中メモリ型並列コンピュータ
第3章 共有メモリを用いた並列プログラム
第4章 分散共有メモリ(NUMA)
第5章 クラスタ・NORA(NORMA)
第6章 相互結合網
第7章 アクセラレータ
第1章 並列コンピュータとは
1.1 並列コンピュータとは何か?
1.2 なぜ複数のプロセッサを持つのか?
1.2.1 みんなで働けば速くなる
1.2.2 エネルギー効率の改善
1.2.3 資源の共用
1.2.4 複数プロセッサがあればどれかが生き残る
1.3 並列コンピュータの分類
1.3.1 Flynnの分類
1.3.2 共有メモリに注目した分類
1.3.3 シストリックアレイ、データフロー、ベクトル型、CGRA
1.4 なぜ並列コンピュータは一般的にならなかったのか?
1.4.1 ユニプロセッサの黄金期
1.4.2 マルチコア革命
1.4.3 そして領域特化型計算機へ
第2章 集中メモリ型並列コンピュータ
2.1 ユニプロセッサからマルチコアへ
2.2 共有バス
2.2.1 共有バスの基本
2.2.2 アービトレーション
2.2.3 バストランザクション
2.3 クロスバスイッチ
2.4 スヌープキャッシュ
2.4.1 キャッシュの復習
2.4.2 スヌープキャッシュの元祖
2.4.3 ライトバック型スヌープキャッシュの基本プロトコル
2.4.4 Exclusive状態の導入
2.4.5 オーナーシップの導入
2.4.6 更新型プロトコル
2.4.7 MOESIプロトコルクラス
2.4.8 スヌープキャッシュの改良
第3章 共有メモリを用いた並列プログラム
3.1 並列プロセスのfork-join
3.2 不可分命令とクリティカルセクションの実行
3.2.1 最も単純な不可分命令Test&Set(x)
3.2.2 さまざまな不可分命令
3.2.3 セマフォ
3.2.4 不可分命令の実装
3.3 バリア同期
3.3.1 単純バリア
3.3.2 Fuzzy Barrier
3.4 OpenMPによる並列プログラム
3.4.1 OpenMPの指示文
3.4.2 OpenMPの実行
第4章 分散共有メモリ方式(NUMA)
4.1 ディレクトリ方式
4.1.1 基本的なディレクトリ方式
4.1.2 ディレクトリ方式の性能向上
4.1.3 ディレクトリのコスト削減
4.2 メモリコンシステンシィモデル
4.2.1 シーケンシャルコンシステンシィ
4.2.2 Total Store Ordering(TSO)とPartial Store Ordering(PSO)
4.2.3 ウィークコンシステンシィ(弱いコンシステンシィ)
4.2.4 リリースコンシステンシィ
4.3 さらなる大規模化
第5章 クラスタ・NORA(NORMA)
5.1 ベオウルフ型クラスタ(PCクラスタ)
5.2 ウェアハウススケールコンピュータ(WSC)
5.3 メッセージパッシングライブラリ
5.3.1 ブロッキング通信とノンブロッキング通信
5.3.2 MPI
5.4 RDMAと仮想共有メモリ
第6章 相互結合網
6.1 直接網
6.1.1 直接網の基本的な性質
6.1.2 ハイパーキューブ
6.1.3 _k_-ary _n_-cube
6.1.4 そのほかの直接網
6.2 間接網
6.2.1 等距離間接網
6.2.2 不等距離間接網
6.3 パケットの転送方式
6.3.1 サーキットスイッチングとパケットスイッチング
6.3.2 パケット蓄積法
6.3.3 フロー制御
6.3.4 仮想チャネル
6.3.5 デッドロックフリールーチング
6.3.6 ルータ(スイッチ)の構造
6.3.7 適応型ルーチング
第7章 アクセラレータ
7.1 アクセラレータとは何か?
7.2 GPU
7.2.1 GPUとは
7.2.2 GPUの構成
7.2.3 CUDAによるプログラム
7.2.4 GPUのメモリ
7.3 このほかの方式の科学計算向けアクセラレータ
7.3.1 NUMA型アクセラレータ:Intel Xeon Phi
7.3.2 ベクトル型アクセラレータ:NEC SX-Aurora TSUBASAアーキテクチャ
7.3.3 Pezy-SC1/2
7.3.4 Preferred Networks NM-3
7.4 クラウド(エンタープライズ用)AIアーキテクチャ
7.4.1 TPU
7.4.2 Intel Lake Crest/Spring Crest, Spring Hill
7.4.3 その他のクラウド用途のAIアーキテクチャ
7.5 エッジ用途のAIチップ
7.5.1 Intel Mobidius Neural Compute Stick 2 (NCS 2)
7.5.2 Google Edge TPU
7.5.3 Xilinx VERSAL
7.5.4 その他のエッジ向けAI用アクセラレータ
7.6 アクセラレータとしてのFPGA
7.6.1 FPGAとは?
7.6.2 リコンフィギャラブルシステム
7.6.3 マルチFPGAシステム
7.6.4 FPGAを用いたアクセラレータの特徴
7.6.5 CGRA
7.7 スーパーコンピュータ
7.7.1 基本知識
7.7.2 アーキテクチャ上の特徴
7.7.3 日本のフラグシップマシン
参考文献
索引