寓話
夜に一緒に磨き終えた穀物
村の入り口の製粉所は昼間、村民のために穀物を挽く。誰かが麦の袋を背負って来れば、製粉所は一度石臼を回し、挽き終わってから次の人を待つ。秋の収穫後、穀物の袋が庭に溢れた。どの袋も個別に臼を回し、石臼は回り始めたばかりでまた止まり、挽き手は疲れ、行列は長く、夜にはまだ庭の半分が挽き終わっていなかった。坊主はまず門番の挽き手を何人か増やし、村民に整列を促させた。人が増えても石臼は依然として繰り返し起動と停止を繰り返した。本当のボトルネックは掛け声ではなく、処理の仕方だった。夕食を急いで作る村民もいて、確かにすぐ挽く必要がある。しかし多くの穀物袋は明朝倉庫に納めるだけで、少し遅れても問題ない。坊主は二種類の需要を混ぜてしまい、誰も満足しなかった。
新しい帳場が、急ぎでない穀物袋を夜間バッチにまとめることを提案した。麦の種類、粗さ、納期、倉番号でグループ化し、夜に連続して製粉し、一バッチずつ処理する。
製粉所はさらに、米袋ごとに結果票を貼った。ある批次の石臼が過熱したり粗さが異常だった場合は批次ごと再検査でき、単なる一袋の破損であれば単独で再実行できた。
昼間の窓口は急ぎの注文を処理するために空き、夜には石臼の処理量が増え、磨工もコスト、時間、納品量を事前に見積もれるようになった。
その後、村ではレポート作成、悪い穀物の選別、倉庫へのラベル貼りなど、すべて夜間バッチ処理で行うようになった。即時応答は求めず、大量の入力を安定して処理することを追求する。
坊主は、すべての推論がカウンターの前でリアルタイムに完了すべきではないと理解した。オフラインで一括処理できる任務は、スループット優先の運用方式に切り替えるべきである。
夜批にもルールがある。各袋の糧は批に入る前に納期を明記し、急単を誤って夜に詰め込んではならない;同じ批に異なる粗さが混ざれば、挽いた粉はかえってすべて不合格になる。
経理係は後にこの方法で帳尻を合わせた。まず似たタスクをまとめ、各バッチに開始、終了、再確認点を設け、結果を各村民の名前に貼り戻す。粉ひき場は誰が先に来たかだけを競うのではなく、タスクの性質に応じて最も適した処理リズムを組むようになった。急ぎと急がざるを分けた後、石臼の価値はスループットに使われ、窓口の価値は応答に残された。バッチ処理は粉ひき場の空回りを減らし、村民にいつ糧を受け取るかを知らせた。