Entry

今日買った本 - 『The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで』

2011年03月01日

この頃は小粒の本ばかり読んでいたもんで,ここでもあまり紹介していなかったんですけれど,少し大部を読みたくなったので購入。ここでは買ったよ,というだけ。

The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで
Maurice Herlihy Nir Shavit
アスキー・メディアワークス
売り上げランキング: 365832

並行プログラミングの基本的な理屈をまとめた本です。ここしばらく ACM の月刊誌でマルチプロセッシングの特集を読んでいたんですけれど,ちとまとまった本として押さえておきたかったので買うことにしました。

先日も書いたけれども,今後主流になるコンピューティング環境は,間違いなく64bitのマルチコア/マルチプロセッサな環境です(とゆか,もうなってる)。サーバ環境も分散環境が一般化する(とゆか,もうしてる)。そして,こうしたプログラミング環境の変化は,一般に思われているほどたやすいものではなく,旧世代と新世代をきれいに分割してしまうほどの分水嶺だと思っています。汎用機系(メインフレーム系)からオープン系に移行できたかできなかったかの話にとてもよく似ている……といっても,若い子は分からないですね(あたしも詳しくは知らないくらいだし)。ともあれ,ACM で盛んにマルチプロセッシング特集を組むのも,そういう経緯がある。

分水嶺にいるということは,プログラミングスタイルやプログラマの人生を容赦なく変更させられることになるわけで,プログラミングスタイルを変更する場合,従来のプログラミングにおける発想のほとんどを捨てる必要が出てきます。はじめからやり直すつもりで取り組むべき課題。本書はそゆ意味で,マルチプロセッサを扱うためのプログラミングスタイルを「はじめから」取り組みなおすための書籍だといっていいと思います。

本書で採用している言語は Java で,この言語を採用した理由は書かれていないけれども,想像するに,これはプラットフォームの依存性が高い C/C++ 向け API を避けつつ,静的な型付けで厳密な議論を行うことを目指したからだと思います。C/C++ にも無理すれば Pthread ライブラリや Intel TBB それに OpenMP なんかがマルチプロセッシング環境を抽象化しているわけだけれども,少しローカルな話題に偏りすぎる感は否めません。抽象的なマルチプロセッシング環境を説明する上で,Java は適切な選択だったんじゃないかと思います。

それにしても,Amazon の書評では,例によって「訳が悪い」とかいってる人がいるんだけれども,謎すぎる。この人は1章しか読めなかったくせになんでここまで書けるんだろう。

第一章だけ読んで読むのをやめてしまったので、全体としての評価にはなっていません。ご注意を。

(snip)

実際 p.8 でこの点について「納得がいくまで考えてみる価値がある」と言われて、結局原文までたどることになった。(それはそれで勉強になったが)

1章だけ読んで,けど原文は当たったという……なんだそれ?本書の第1章は「はじめに」なわけで,まったく本題に達していない。「訳が悪い」とか言う資格があるのか。巷の「訳が悪い」と言っている連中は,大抵こんなんばっか(自分が理解できないのは自分のおつむがかわいそうだからではなく,訳が悪いからだと思い込んでいる人)なので,良い子は惑わされちゃいけない。

しばらくはおかずに困らなそうな感じ。C++ に移植しながら読んでみます。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN