こんにちは、ISUCON10 の本選出題を担当した白金動物園の mirakui です。最近はパン作りにハマっています。この記事では、本選問題であるアプリケーションの「XSUCON」について、問題の概要と想定していた解き方について解説していきたいと思います。
というわけで ISUCON10 の本選問題は「XSUCON」という、 ISUCON を模した仮想的な競技のポータルサイトでした。XSUCON の世界観を表現するために動画まで作ってしまいました。せっかくなので見てください。
詳しい仕様は下記のマニュアルやソースコードを参照いただければと思います。
ISUCON10 本選当日マニュアル
XSUCON アプリケーションマニュアル
ソースコード (GitHub: isucon/isucon10-final)
簡単に概要を説明すると、
XSUCON とは
近年の ISUCON にはとても多くの方が参加してくださり、スコアランキングを表示したりベンチマーカー実行を指示したりするいわゆる「ポータルサイト」の負荷対策には毎年の出題担当たちが苦労してきました。記念すべき 10 回目の開催である ISUCON10 ではぜひこの ISUCON ポータルサイト自体を問題にしたい、と私たち白金動物園が1年前から温めてきた構想を形にしました。というわけで ISUCON10 の本選問題は「XSUCON」という、 ISUCON を模した仮想的な競技のポータルサイトでした。XSUCON の世界観を表現するために動画まで作ってしまいました。せっかくなので見てください。
詳しい仕様は下記のマニュアルやソースコードを参照いただければと思います。
ISUCON10 本選当日マニュアル
XSUCON アプリケーションマニュアル
ソースコード (GitHub: isucon/isucon10-final)
簡単に概要を説明すると、
- 最初に仮想選手登録・仮想チーム登録リクエストが押し寄せる(初期状態では10チームで締め切り)
- 仮想選手たちが仮想負荷走行をエンキューしたり、仮想運営に質問を投げたりする
- 仮想運営は、質問が来たら返答を返す
- 仮想選手達は仮想負荷走行が終わったかどうかや、質問の回答が来たかどうかを知るために、通知のエンドポイントをひたすらポーリングしまくる


