Android のための SMP 入門

目次

  • 導入
  • 理論
    • メモリ一貫性モデル
      • プロセッサ一貫性
      • CPU のキャッシュの動作
      • 可視性
      • ARM の弱い順序付け
    • データメモリバリア
      • 書き込み/書き込み と 読み込み/読み込み
      • 読み込み/書き込み と 書き込み/読み込み
      • バリア命令
      • アドレス依存と因果一貫性
      • メモリバリアの要約
    • アトミック操作
      • アトミックの基礎
      • アトミックとバリアをペアで使う
      • 取得と解放
  • 実践
    • C でしてはいけないこと
      • C/C++ と "volatile"
    • Java でしてはいけないこと
      • Java の "synchronized" と "volatile" キーワード
    • すべきこと
      • 一般的なアドバイス
      • 同期プリミティブの保証
      • C/C++ の来るべき改訂
  • 最後に
  • 付録
    • SMP の失敗例
    • 同期書き込みを実装する
    • 参考文献