「夫の通院日を娘が知らない朝」の背後には、計算機システムの問題がある。複数の場所にデータのコピーがあるとき、それらを常に同期させることは難しい。更新が一箇所に伝わって、別の場所にまだ伝わっていない状態を、キャッシュコヒーレンス問題と呼ぶ。
マルチコアCPUやマルチプロセッサシステムで、各コアがそれぞれキャッシュを持つ。あるコアが値を更新した時、他のコアのキャッシュにある古い値をどう扱うかが問題になる。MESIプロトコル、ディレクトリベース、スヌーピング——コヒーレンスを維持する複雑なプロトコルが設計されてきた。
コヒーレンスの維持は高コストである。全ての更新を全てのコピーに即座に反映するには、頻繁な通信が必要だ。そのため、現実のシステムは「弱いコヒーレンス」(一時的なズレを許容)で動くことが多い。
本作で、ワタナベ家には情報の場所が複数ある。妻の頭、夫の頭、東京の長女、別の場所にいる次女。夫の通院日という情報は、妻と次女には更新されていたが、長女には更新されていなかった。
長女が朝、電話してきて、「えっ、何かあったの?」と驚く。妻は「いつもの定期検診」と説明する。長女は「言ってよ、そういうのは」と怒る。妻は「あなたが毎月聞いてくれれば伝えるけど」と答える。ここで起きているのは、コヒーレンスの維持コストを、家族のあいだで誰が払うかという問題である。
家族のあいだの情報同期は、明示的なプロトコルがない。誰が誰に何を伝えるか、いつ伝えるか、聞かれたら答えるか、聞かれなくても伝えるか——全て暗黙の合意で動いている。
本作で、長女と次女のあいだに非対称性が生まれているのは、妻が次女には先月伝え、長女には伝えていなかったという、小さな更新パターンの違いの結果である。誰も悪意はない。コヒーレンスは難しい問題だ。
計算機システムでさえ、完全なコヒーレンスは諦めて、弱いコヒーレンスで動いている。家族のあいだではなおさらだ。妻と長女の小さな口論は、家族のコヒーレンス・プロトコルの設計コストを、誰かが払わなければならないことを示している。
シリーズ「裏の糸」は、専門家には当たり前の概念を、暮らしの言葉で語り直す試み。本作はそれらに続く一本である。シリーズ全作(28本)のリストは カテゴリM から。