マラソン大会のエイドステーションから学ぶ同期・非同期処理
マラソン大会のシーズンとなりました。
マラソン大会では、一定距離ごとに給水エリアが用意されています。
特に、たくさんのランナーが参加する都市型マラソン大会では、ボリュームゾーンでも給水不足とならないような高スループットの効率のよい給水システムが求められます。
そこで大事なのが、 同期・非同期処理 という考え方です。
非同期処理
多くのマラソン大会の給水エリアでは、飲み物の入ったコップがテーブルにあらかじめ用意されており、ランナーはコップを掴んで水分補給します。
このように、コップの提供(producer)とコップの消費(consumer)が独立して行われるものを 非同期処理 と呼びます。
ランナー数に対して、十分な数の給水スタッフを確保すれば、コップが不足することはありません。
多くの都市型マラソンでは、ボリュームゾーンでもコップの提供が滞ることがないよう、大量の給水スタッフがコップを配膳しています。
同期処理
一方で、ランナー自身が給水タンクから自分で蛇口をひねって給水する大会もあります。
このような方式を 同期処理 といいます。
同期方式 は小規模大会では一般的ですが、大規模大会では、スループットを上げるために、給水タンクの数を増やして、並列度を上げる必要があります。
湘南国際マラソンはマイカップ・マイボトル前提で行われ、多くの給水システムを用意して並列度を上げています。
※ 引用元 https://www.shonan-kokusai.jp/mybottle/
コップの処分も同期・非同期処理がある
コップの処分方法も同期・非同期処理で説明できます。
ランナーが飲み終わった紙コップをゴミ箱に捨てるのは 同期処理 です。ゴミ箱をたくさん用意しないと、ゴミ捨ての順番待ちが発生します。
一方で、ランナーは消費したコップを地面に投げ捨て、エイドスタッフが後でコップを回収するのが主流のマラソン大会もあります。
この方式では、コップの破棄と回収が 非同期 に行われ、エイドステーションはほとんど至る所、使い終わったコップです。
寒い時期のマラソン大会では、スタート直前まで着古したスウェットを着て暖を取り、スタートのタイミングで脱ぎ捨てることもあります。
このごみ処分方式も 非同期処理 です。
re:Invent 5K Raceには給水ステーションがない
2022年のre:InventではWerner Vogelsは "The world is asynchronous" という洞察に溢れたキーノートを行いました。
re:Inventの5kmレースに給水ってあったかなぁと思いながら、Wernerのキーノート前日の早朝に走っていると、エイドステーションと遭遇しないままゴールしてしまいました。
完歩予定の人は1時間程度かかるため、ペットボトルを持参しましょう。
最後に
久しぶりにマラソン大会に参加し、ランナーが几帳面に紙コップをゴミ箱に捨てる、ゴミの少ないきれいなエイドステーションが新鮮に映りました。
考えてみると、これはランナーが使い終わった紙コップを 同期的に 処分しているからだと納得しました。
クラスメソッド福岡オフィスでは、一緒に九州のマラソン大会に参加してくれるメンバーを募集中です。次回は5人体制で熊本マラソンに参加します。
少しでもご興味あれば、クラスメソッド株式会社採用イトをご覧ください。