コンピュータの構成と設計第6版下巻前編 #drc44

 締切に追われながら積読を消化する読書会:デッドライン読書会の第44回のテーマ書は、引き続き、パターソン&ヘネシーの「コンピュータの構成と設計」です。

コンピュータの構成と設計 MIPS Editoin 第6版 下
「パタ&へネ」の名で親しまれる古典的名著の第6版。コンピュータ技術の初歩からモバイル/クラウド時代の最新のテーマまで深く解説。第6版での主な改訂内容は下記のとおり。 ■「高速化」に関する節をすべての章に含めるようにした。第1章で、行列の乗算プログラムをPython 言語で組む。これは性能が低いので、2章ではC言語を学習...

今回もだいぶ読むのが骨です。締切がなければたぶん放置されていたでしょう。下巻前編の範囲は以下のとおりです。

  • 第5章:容量と速度の両立:記憶階層の利用
  • 第6章:クライアントからクラウドまでの並列プロセス

読む前から「記憶階層」だけで1章分もあるのか―――という気持ちでしたが、無事に読み切りました。

感想

 感想に入る前に、改めてパタヘネのような難しそうな書籍をどのように読んでいるのかを書いておきます。次の通り合計すると3度ページをめくる作戦を取っています。

  • 1回め:とにかく全ページをめくる。
    • 章と節のタイトル、太字、図表、面白そうなところをピックアップする。
  • 2回め:ポイントを絞って読む。
    • 興味を持ったところ。
    • どうにか読めそうなところ。
    • 章の「はじめに」と「おわりに」。
  • 3回め:2回目に読まなかったところを時間の限り読む。

こういった読み方です。木材をカンナで削るような読み方。「難しそうな書籍」というのを自分なりに言語化できていないですが、例えば、翻訳本の技術書、専門外の専門書をこうやって読んでいるように思います。読み始めて、「あ…これは読み切れないな」ってときに発動。もちろん小説やノンフィクションは普通に先頭から一読します。

第5章:容量と速度の両立:記憶階層の利用

 第5章はとにかくキャッシュの話でした。メモリのテクノロジーの話からスタートし、記憶階層、キャッシュ、キャッシュミスに対する戦略、仮想記憶、などなど。仮想記憶のところが難しくてまったく頭に入らなかった…。

第6章:クライアントからクラウドまでの並列プロセッサ

 ドメイン固有アーキテクチャ(DSA)のGoogle TPUの解説が面白かった。DSAとはCPUやGPUのように汎用的な用途を諦めて、用途を固定することにより、性能とエネルギー効率をあげるという設計戦略です。例としてGoogle TSUがあげられていました。2013年頃、「人々が今後音声認識を使って1日あたり3分の音声検索をした場合にデータセンターがいまの2倍以上必要になる」ことが分かったらしい。汎用的なCPUやGPUでは立ち行かなることが見えてきたことで、その後Googleはわずか15ヶ月でTensor Prosessing Unit(TPU v1)を開発したとのこと。もともとは10倍のコスト効率を目指していたが、電力消費量から推定されるTSUの効果は83倍にもなったらしい。なおGoogle TPUは現在v3で、v1からの改善の歴史については下記の記事が参考になった。記事中にYoutubeの講義動画(90分ほど)があるが、ひょっとしたらこれを見たらもう少し知識は増えるのかもしれない。

性能/消費電力比が優秀なGoogle TPU AIプロセッサーの昨今 (1/4)
2016年5月に開催されたGoogle I/Oの基調講演で、GoogleはGoogle TPUを発表。絶対性能はともかくとして、性能/消費電力比が競合と比べて10倍優れていると説明した。

もうちょい追加で調べたところ、TPU v4が2021年に発表されていた。v3の性能比2倍だとか。こういったDSAの素早い進化がいまのAIの流行を牽引しているんだろうなぁ。

Cloud TPU v4 が MLPerf 2.0 ベンチマーク 5 項目で最速のトレーニング時間を記録 | Google Cloud Blog
Cloud TPU v4 ML スーパーコンピュータは、MLPerf 2.0 ベンチマーク 5 項目で最速記録を打ち出しました。

 もう一つ言及しておきたいのはNVIDIAのGPUアーキテクチャ。GPUの用語って馴染みがないからよく分からんわ…と昔から思っていたんですが、CPUとGPUは起源が異なるため使われる用語も異なるとのこと。双方でアーキテクチャを理解するために、用語のマッピングが本書にも掲載されていました。自分が利用しているパソコンのGPUはNVIDIA GeForce RTX 2070。NVIDIAのサイトを見てみると「Turingアーキテクチャ」を採用しているらしい。Turingってなんだ?そういえば本書ではTeslaとかVoltaなんて言葉も出てきたなということで調べてみたら、NVIDIAはだいたい2年おきにアーキテクチャをアップデートしていて、それに名前をつけているらしい。直近をあげてみると、Pascal→Volta→Turing→Ampere→Hopperなんて進化している。どうやら名前の由来は著名な科学者をつかっているようですね。

次回で完走

 デッドライン読書会でパタヘネを扱うのが次回で四回目になります。これでやっと完走。ゴールが見えてきました。次回は、下巻の後編です。章としては付録ですね。付録A「アセンブラ、リンカ、SPIMシミュレータ」、付録B「論理設計の基礎」。SPIMってなんだろう。何かはわからないけど、気合で乗り切る予定です。がんばる。

コメント

タイトルとURLをコピーしました