デッドロック
| 分野 | 計算機科学・組織論(比喩) |
|---|---|
| 分類 | 待機依存・資源競合・合意不全 |
| 発生要因 | 相互待ち(循環待ち) |
| 代表的な対策 | 順序付け・タイムアウト・監査 |
| 語源(説) | 停滞を指す英語圏の比喩表現 |
| 関係する機構 | ロック(排他制御)・スケジューリング |
(deadlock)は、複数の主体が互いの都合を待ち続けることで、処理や進行が停止した状態を指す用語である[1]。本来は計算機分野で使われることが多いとされるが、研究の途中から社会制度や組織運営にも比喩的に拡張された経緯がある[2]。
概要[編集]
は、ある主体が必要とする条件が別の主体によって満たされず、その結果として両者(あるいは複数)が互いの条件を待つことで、進行不能に陥った状態とされる[1]。
一見すると技術的な問題に見えるが、実務では「会議が終わらない」「署名が進まない」といった組織的な停滞と結び付けて語られることも多い。たとえばの一部自治体では、審査会の運用マニュアルに「循環待ちの点検」条項が挿入され、技術用語が行政文章に混ぜ込まれた時期があったとされる[3]。
なお、用語の普及過程には、軍事研究施設と民間監査会社が共同で配布した冊子が関わったとする説もある。ただし、その冊子が実際に存在したかについては、資料の所在が判然としないと指摘されている[4]。
歴史[編集]
起源:回覧板通信局と「鎖状待機」の実験[編集]
デッドロックが「計算機の現象」としてまとめられる以前、頃の通信行政では、電信局の回線が逼迫した際に申請書を回覧し、審査側が次の回覧待ちを要求する運用が問題視されていたとされる[5]。
この運用が、英語圏の研究者の目に「鎖状待機(chain waiting)」として映り込み、のちに研究へ比喩的に持ち込まれたとする説がある。具体的には、の印刷会社と、の一部技官が「待つことのコスト」を測定するために、同じ印章を押し続ける試験紙を月当たり枚消費する計画を立てたと記録されている[6]。
ただし、この「印章実験」の当初目的は、会議室の空調が停止する時間帯を特定するためだったとも報じられている。空調が止まると議事が止まるため、偶然の相関が強調され、後年の編集者が「デッドロックの原風景」として書き換えたのではないか、という見方もある[7]。
発展:ロック監査局と「四段階解除法」の流行[編集]
デッドロックという語が技術文献で定着した背景には、の(Lock Auditing Bureau)と呼ばれる機関が、企業システムの監査で使用した点検表があるとされる[8]。
同機関の監査員は、プログラムの実行手順を人間の業務フローに見立て、(1)取得、(2)保持、(3)待機、(4)解除、の四段階に分類して報告書を作成したとされる。特に「保持段階での待機」は、監査員の用語では「三層目の沈黙」と呼ばれ、違反例がのある流通センターで発見されたため、指導が全国に波及したという[9]。
また、対策として「解除は順序で行う」「タイムアウトは罰ではなく休暇」といった語り口が広まり、研修資料には、タイムアウト設定の推奨値として「目標完了時間の」が記載されたとされる。ただしこのという係数は、当時の編集局の気分で変動していたとする証言もあり、根拠の精査が求められている[10]。
社会への波及:署名停滞と「待機税」の創設案[編集]
デッドロックはやがて技術用語から比喩へ拡張され、やの手続きにも「相互待ち」が存在するという議論が広まったとされる[11]。
の行政改革委員会では、契約手続きが滞留すると、当事者が互いの書類不備を指摘し続ける現象が「制度デッドロック」と呼ばれ、改善策として「待機税(waiting levy)」の導入案が検討された[12]。提案では、署名待ちの期間がを超えるごとに、担当課に対し暫定的な予算枠の縮小が行われる仕組みが想定されていたという。
この案は最終的に採用されなかったが、以後の運用で「循環チェックの監査会議」が設置され、会議ではホワイトボードに「誰が何を待っているか」を円で囲む方式が採用されたとされる[13]。この円の書き方が、英語圏の講演で“deadlock diagram”として紹介され、翌年には日本でも図解が普及したとされる[14]。
仕組み(技術というより物語として)[編集]
デッドロックはしばしば「循環待ち」の形で説明される。すなわち、主体Aが主体Bの資源を待ち、主体Bが主体Cの資源を待ち、主体Cが主体Aの資源を待つ、といった閉路が形成されるとされる[1]。
この閉路を社会に置き換えると、「誰も悪くないが、誰も前に進めない」という感覚が可視化される。とくに組織では、担当者が“正しさ”を守るために確認を要求し、その確認が別の担当者の確認待ちに連鎖するため、循環が生まれやすいと指摘されている[15]。
一方で、実務では「デッドロックは必ず発生するわけではない」とされ、監査表では再現頻度をと見積もった事例もある。もっとも、その頻度は計測方法が会議の録音時間から逆算されたものであり、録音機器の故障が多かった時期の補正が不十分だった可能性があるとされる[16]。
対策とその文化化[編集]
デッドロックの対策としては、資源の取得順序を固定する方法、タイムアウトで待機を中断する方法、また監査によって循環の芽を見つける方法などが挙げられる[8]。
特に「順序付け」は、単なる技術ではなく文化として定着したとされる。たとえばの中小企業では、システム更新の際に「ロックは上から順、書類は左から順」という掲示が出され、従業員が半ば習慣的に手順を守るようになったという[17]。
さらに、タイムアウトは「逃げ」ではなく「休む権利」として語られ、待機が長いほど“良い回答”が来るという神話を壊す装置として機能したとされる。ただし、研修資料の改訂履歴には「タイムアウト値は原則として不定(社員の希望優先)」と書かれていた痕跡があり、現場の裁量が暴走した時期もあったと報告されている[18]。
批判と論争[編集]
デッドロック概念の拡張が、現場の責任追及に直結しすぎる点が批判されている。つまり「循環待ちが起きた=運用が悪い」という単純化がなされると、根本原因が環境要因(回線品質、審査員の欠員、会計締めの休日ずれなど)にある場合でも、人のせいになりやすいとされる[19]。
また、行政への比喩導入には“用語の魔術”という反発があったとされる。実際にの前身組織で、待機税の代替として「遅延の物語化(narrativization of delay)」が提案されたが、議事録が感情表現だらけになり、監査結果が判読不能になったという[20]。この件は、技術用語を公共文書へ持ち込む際の翻訳責任を問う議論を呼び起こしたとされる。
さらに、デッドロックの典型例として語られる“必ず閉路ができる”という説明は、統計的には過剰単純化であるとの見解もある。データの再集計により「閉路が観測される確率」はにすぎないとする報告もあるが、同報告はサンプルがに偏っていると反論され、論争が続いた[21]。
脚注[編集]
関連項目[編集]
脚注
- ^ Eleanor Vance, “The Origin of Chain Waiting Diagrams,” Journal of Operational Semantics, Vol. 12, No. 3, pp. 41-67, 1962.
- ^ 渡辺精一郎『ロック監査の実務資料—四段階解除法の手引き』ロック監査局出版局, 1965.
- ^ Margaret A. Thornton, “Deadlock as Organizational Metaphor: A Case Study,” Proceedings of the International Symposium on Systems, Vol. 7, pp. 101-132, 1971.
- ^ 田中千鶴『行政文書における循環待ち表現の変遷』行政技術研究所紀要, 第24巻第1号, pp. 9-28, 1982.
- ^ Klaus Richter, “Timeouts are Not Punishments: Human Factors in Lock Arbitration,” Computing & Society, Vol. 5, No. 2, pp. 55-80, 1988.
- ^ 山本達雄『待機税案の検討過程(非採用理由を含む)』横浜政策研究叢書, 1990.
- ^ Sofia Lindgren, “The Signet Paper Trial: A Misread Correlation,” Transactions on Historical Computing, Vol. 3, No. 4, pp. 1-19, 1994.
- ^ 中村涼介『日本の図解文化とデッドロック—円で囲う手法の流行』情報管理学会誌, 第18巻第6号, pp. 233-251, 2001.
- ^ R. Patel, “Deadlock Frequency Estimates from Audio-Only Logs,” International Journal of Queueing Practices, Vol. 22, No. 1, pp. 70-94, 2010.
- ^ 編集部『現場に効くデッドロック対策大全(第3版)』出版社ナール, 2016.
外部リンク
- Lock Auditing Bureau Digital Archive
- 円環図解研究会サイト
- 待機税案アーカイブ
- 都市行政ロック監査フォーラム
- The Deadlock Diagram Gallery