ISUCON10 予選において発生していた、競技開始の遅延をはじめ、ベンチマーカーの不具合、ポータルの 50x エラー等、度重なるトラブルについて詳細を説明させていただきます。
運営チーム一同として、様々な要因から複合的なトラブルに発展させてしまったという認識です。これらの反省点を踏まえ、同種のトラブルを起こさぬよう、次の運営チームへ反省点やデータを引き継いでいきたいと考えています。その観点において、以下に ISUCON10 予選で発生していた各種トラブルの背景・原因について振り返ります。
これは、競技環境のサーバーの展開作業 (全台作成/デプロイ) が想定を大幅に超える時間を要した事が直接的な原因です。VM (仮想マシン) のディスクイメージ完成の遅延が根本原因と言えますが、下記で順を追って解説します。
展開作業までの流れとしては、以下の通りです:
1. 一般的な VM (仮想マシン) のイメージである qcow2 ファイルを作問チームが作成 (必要なソフトウェアやソースコードはこの時点でセットアップ)
2. インフラチームへ引き渡し
3. インフラチームが作問チームのリクエストしたスペック・台数で VM を展開
4. 展開された VM は cloud-init を利用して選手の SSH 公開鍵を ~isucon/.ssh/authorized_keys に登録する等、チームごとの初期化処理を自動で行う
また、マスターイメージを利用しての検証作業も、競技前日の完成となってしまっていたため不十分でした (後述します)。
運営チーム一同として、様々な要因から複合的なトラブルに発展させてしまったという認識です。これらの反省点を踏まえ、同種のトラブルを起こさぬよう、次の運営チームへ反省点やデータを引き継いでいきたいと考えています。その観点において、以下に ISUCON10 予選で発生していた各種トラブルの背景・原因について振り返ります。
競技時間の延期について
まずは ISUCON10 予選の競技時間が、当初予定の 10:00 開始から 12:00 、さらに延期して 12:20 となった件について説明します。これは、競技環境のサーバーの展開作業 (全台作成/デプロイ) が想定を大幅に超える時間を要した事が直接的な原因です。VM (仮想マシン) のディスクイメージ完成の遅延が根本原因と言えますが、下記で順を追って解説します。
インフラ環境および作業の流れ
ISUCON10 では、サイバーエージェントさまのインフラを利用して予選・本選ともに競技を実施しました。サイバーエージェントさま ("インフラチーム") よりストレージ・サーバーといった物理的資源に加え、今回の ISUCON10 向けの仮想環境基盤 ("クラウド基盤") の提供があり、その上に競技環境を構築、選手へ提供されました。展開作業までの流れとしては、以下の通りです:
1. 一般的な VM (仮想マシン) のイメージである qcow2 ファイルを作問チームが作成 (必要なソフトウェアやソースコードはこの時点でセットアップ)
2. インフラチームへ引き渡し
3. インフラチームが作問チームのリクエストしたスペック・台数で VM を展開
4. 展開された VM は cloud-init を利用して選手の SSH 公開鍵を ~isucon/.ssh/authorized_keys に登録する等、チームごとの初期化処理を自動で行う
VMイメージ完成の遅延
予選に際しては、まず予選作問チーム側の要因として、最終版となるマスターイメージの完成が競技前日の 23 時となっていました。本来であれば早期に確定できるはずでしたが、言語移植作業の遅延等で、完成が遅れていました。また、マスターイメージを利用しての検証作業も、競技前日の完成となってしまっていたため不十分でした (後述します)。
