- Multicore processor 時代の到来
- Mooreの法則は繰り返されない
- ソフトウェア開発者は自分で並列化しないといけない
- この本はshared memoryで通信するmultiprocessorでのプログラミングについて語る(shared-memory multiprocessors)
- 1st part(principle)
- comutability
- concurrent program
- program corectness
- 2nd part(practice)
- performance
- shared objects and tools
- 1st part(principle)
- atomic性がないとだめだよねという話
- mutual exclusion
- deadlock free
- starvation free
- waiting
- Transient
- ちゃんと伝わるか
- 同時に通信に参加しなくても良いか
- Persistent
- 継続的にsignalを出し続けるか
- 缶を落とす方法はinterruptsで大量のbitが必要
- プロトコル
- Alice
- 缶がdownまで待つ
- ペットを放つ
- ペットが戻ってきたら餌がないかcheckし、缶をup
- Bob
- 缶がupまで待つ
- 庭に餌を置く
- 缶をdown
- Alice
- 満たすproperty
- mutual exclusion
- producer-consumer
- 満たさないproperty
- starvation free
- waiting
- readerが全文読み終わっていないのにwriterが書き換えてしまう問題
- mutual exclusionでもprocuder-consumerでもwatingが発生してしまう
- Amdahl's Law
- どこを並列化すればいいかはわからない