ISUCON公式Blog

ISUCONとはさくらインターネット株式会社が運営窓口となって開催している、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトルです

ISUCONの過去問に
チャレンジするための
シンプルな環境構築
商標「ISUCON」利用の
ガイドラインはこちら

ISUCON10 オンライン予選で発生したトラブルについて

ISUCON10 予選において発生していた、競技開始の遅延をはじめ、ベンチマーカーの不具合、ポータルの 50x エラー等、度重なるトラブルについて詳細を説明させていただきます。

運営チーム一同として、様々な要因から複合的なトラブルに発展させてしまったという認識です。これらの反省点を踏まえ、同種のトラブルを起こさぬよう、次の運営チームへ反省点やデータを引き継いでいきたいと考えています。その観点において、以下に 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 時となっていました。本来であれば早期に確定できるはずでしたが、言語移植作業の遅延等で、完成が遅れていました。

また、マスターイメージを利用しての検証作業も、競技前日の完成となってしまっていたため不十分でした (後述します)。
Read more...

本選スコアデータおよび順位の誤りについて

ISUCON10 本選の結果発表と全チームのスコアに選手の皆さまより指摘があり、誤りが確認されたため下記の通り発表いたします。

ISUCON10 本選当日マニュアルでは、最終スコアは競技終了後に運営が実施する 3 回の負荷走行のうち最も高いものと定義していました。その定義に従い、各チーム 3 回の負荷走行を追試として実施しましたが、その最大を計算する際に 1 回目の負荷走行のスコアについて計算に加えられておらず、誤って競技終了時点で最後に実施された負荷走行のスコアが、追試 1回目のスコアとして計算に加えられていました。

正しい順位について

誤りを訂正するため、改めて計算および複数人での検算をしたところ、下記のチームについて順位に誤りがあることがわかりました。
(当初発表していた順位 → 正しい順位)

  • 11位 → 8位: hidekiy (最終スコア: 24123 → 28244)
  • 8位 → 9位: shallowverse (最終スコア: 26249)
  • 9位 → 10位: ふんばり温泉チーム (最終スコア: 25080)
  • 10位 → 11位: 101010 (最終スコア: 24682 → 24870)
  • 16位 → 15位: SNE (最終スコア: 15706 → 14494)
  • 17位 → 16位: :innocent::innocent::innocent: (最終スコア: 14206)
  • 19位 → 17位: FCCPC_かみのやま温泉 (最終スコア: 12365 → 10751)
  • 20位 → 18位: いすこんがさき、しゅうろんはあと (最終スコア: 10177)
  • 15位 → 19位: curl gotti (最終スコア: 15909 → 7747)
  • 18位 → 20位: 牡蠣の鋭利な殻が指に突き刺さり利き手を負傷 (最終スコア: 12550 → 6805)
  • 22位 → 21位: へしこず (最終スコア: 4803 → 5707)
  • 21位 → 22位: SunPro (7633 → 2691)

  • なお、1 位~ 7 位に関して変動はありませんでした。

    スポンサー特別賞について

    今回の順位訂正に伴い、スポンサー各賞の対象チームに変化が生じることが分かりました。下記のように対応いたしますので、ご確認ください。
    • LegalForce 記念ラッキー賞 (株式会社 LegalForce 様)
      • 総合 10 位に対して贈られる賞です。
      • 当初発表していたチームは「101010」でしたが、順位の変動により、「ふんばり温泉チーム」が受賞者となります。
      • チーム「101010」については同等の特典を主催である LINE 株式会社より手配いたします。
    Read more...

    ISUCON10 オンライン本選の利用言語比率

    ISUCON10 オンライン本選の利用言語比率を公開します。オンライン本選は33チームの参加がありました。

    オンライン本選 利用言語比率

    利用率の全体ランキングは以下の通りです。

    Go     28組 84.8%
    Nodejs   3組  9.1%
    Ruby     1組  3.0%
    Rust     1組  3.0%

    優勝したtakonomuraチームの利用言語はGoでした。

    昨年の言語比率はこちら

    ↑このページのトップヘ