世界を動かす技術を、日本語で。

マルチプロセッサプログラミングの技法 第2版 ブッククラブ

概要

  • Software Internals Email Book Club の次回課題図書は The Art of Multiprocessor Programming 2nd Edition (2020)
  • 第2版 (ISBN: 9780124159501)を必ず入手し、 第1版(2008年)と間違えない こと
  • 読書会はGoogle Group で実施、 テキストメールのみ で進行
  • 毎週指定章を事前に読了 し、 指定日にディスカッション開始
  • サインアップとフィードバック 方法も案内

Software Internals Email Book Club:次回読書会案内

  • 次回の課題図書は The Art of Multiprocessor Programming 2nd Edition (2020, Herlihy, Shavit, Luchangco, Spear著)
  • ISBNは9780124159501、第2版(2020年) を必ず使用
    • Google検索で出てくる無料PDFは第1版(2008年) が多いため注意
  • Google Group を利用した メールベースのディスカッション形式
  • ZoomやGoogle Hangoutは使用せず、テキストメールのみ
  • Googleアカウントが必要、投稿時のみメールアドレスが公開
  • 各章の読了とディスカッション日程
    • 8月16日:Introduction(担当:Phil)
    • 8月23日:Mutual exclusion
    • 8月30日:Concurrent objects
    • 9月6日:Foundations of shared memory
    • 9月13日:The relative power of primitive synchronization operations
    • 9月20日:Universality of consensus
    • 9月27日:Spin locks and contention
    • 10月4日:Monitors and blocking synchronization
    • 10月11日:Linked lists: The role of locking
    • 10月18日:Queues, memory management, and the ABA problem
    • 10月25日:Stacks and elimination
    • 11月1日:Counting, sorting, and distributed coordination
    • 11月8日:Concurrent hashing and natural parallelism
    • 11月15日:Skiplists and balanced search
    • 11月22日:Priority queues
    • 11月29日:Scheduling and work distribution
    • 12月6日:Data parallelism
    • 12月13日:Barriers

ディスカッションの進め方

  • 各週末、担当者がメールでディスカッションを開始
    • 内容は 章の要約ではなく、担当者自身の経験や感想、疑問点 などを中心に記載
  • 他の参加者も自由に返信し議論に参加
  • 実体験や現場での関連経験 との結びつきが議論を盛り上げるポイント

参加方法・フィードバック

  • 参加希望者は指定のフォームからサインアップ
  • 質問・修正・アイデアは主催者へメールまたはTwitterで連絡
  • Google Group参加時のみメールアドレスが公開 される仕様

注意事項

  • 必ず第2版(2020年)の書籍を入手
  • ディスカッションはメールのみで進行、他のコミュニケーションツールは使用しない
  • 各章の読了を指定日までに完了 することが前提条件
  • サインアップ必須、Googleアカウント推奨

Hackerたちの意見

みんな、こんにちは!これは私がGoogleグループで運営している読書会の7冊目の本だよ。グループには約1800人いて、毎回300〜800人が参加してる。データベースの内部についての本をよく読むけど、これはスケールするシステムに関わる開発者にはすごく関連性があると思う。ぜひグループに参加してね!それに、この特定の読書会に参加したくなくても、全体のブッククラブのメーリングリストには参加してね(/bookclub.htmlにあるよ)。冬に出る『Designing Data Intensive Applications 2nd Edition』をみんなで一緒に読もうと思ってるから。

この取り組みは知らなかったけど、面白そうだし、振り返ってみるとすごくいいアイデアだね!技術書を最後まで読むための熱意やエネルギーを保つのに役立ちそう!

この読書クラブのことを聞いてすごく驚いてる!どうやって進めるのかはわからないけど、参加してみて、みんなと一緒に本を読み進めてみるよ。

すごくいいアイデアだね!時間が合えば参加するよ。これをやってくれてありがとう。

すみません、クラブの運営についてもう少し詳しく教えてもらえますか?興味がある人がたくさんいると思います。ありがとう。

面白いアイデアだね!これは同時処理や並列処理について学ぶのにすごく良い本だよ。時間があれば参加するよ。ちなみに、第二版には「楽観主義と手動メモリ管理」と「トランザクショナルプログラミング」の2つの追加章が含まれてるんだけど、わざとそれを省いたの? :)

こんにちは、フィル!グループに参加したいんだけど、フォームに「章のディスカッションスタートメール」ってあるけど、どういう意味?

ページに説明があるよ。:) 毎週誰かがディスカッションを始めるんだ。そのフォームは各章のボランティアを見つけるのに役立ってる。これがあるからこそ、グループを続けられるんだよ。

これ、すごくいいね!参加したいけど、『The Art of Multiprocessor Programming』の2008年版と2012年版のPDFしか無料で見つからないんだ。2020年版のリンクはある?

それは無料の本じゃないよね。あのコメントは、実際に購入して著者をサポートする必要があるってことを優しく教えてくれてるんだと思う。

素晴らしいアイデアだね!楽しみにしてるよ!

サインアップしたよ。並行処理は基本を超えるとちょっと苦手だったから、アプローチをしっかり評価して内部を理解できるのが楽しみ!

こんにちは!今サインアップしたばかりなんだけど、過去の本のディスカッションを見る方法ってある?

面白そうだね。なんでフォーラムやディスコードじゃなくて、メールでやることになったの?

Googleグループはフォーラムだけど、ディスコードは過去の記録が残りにくいからね。

参加者が多いと、ディスコードはこういうのには向かないよね。ハングアウトやズームを避ける理由も似てる。同期を強制されるから、ディスカッション中にオンラインじゃないと、実質参加できない感じになる。追いつくのも難しいし、特定の話題に返事するのも大変。ディスコードは基本的に単一スレッドだから、特定のコメントに返信できるけど、複数の話題が同時に進行してると追跡が難しくなる。話が軽いときは問題ないけど、300〜800人(eatonphilのコメントによると)だと、軽くは済まないだろうね。

ありがとう!サインアップしたよ。グループへの招待はもらえるのかな?

過去のやつはNYCで対面だったみたいだけど、今も対面でやってるの?それとも全部バーチャルになっちゃったの?

最初にやったのはNYCでの対面だったよ。20人がサインアップしたけど、実際に来たのは5〜7人くらいだったかな。だから、誰でもどこからでも参加しやすいように、完全に非同期のオンラインに移行することにしたんだ。今もNYCで他のミートアップはやってるけど、テックブッククラブはやってないよ。

2020年版を探すように書いてあるけど、O'Reillyで見えるのは2012年の改訂版だけなんだよね。それと、サインアップしたらこの本のディスカッションだけになるの?

ページにISBNを載せておいたよ。:) 9780124159501 そう、このディスカッションはこの本だけのものだよ。もっと広いメーリングリストは/bookclub.htmlにあるから、そっちで今後の読書や投票についての情報を得られるよ。