Skip to content

Latest commit

 

History

History
106 lines (68 loc) · 6.13 KB

REGULATION.md

File metadata and controls

106 lines (68 loc) · 6.13 KB

ISUCON8 予選レギュレーション で公開済み


ISUCON 8 予選レギュレーション

参加者

予選参加者(以下参加者)はチームで登録するものとし、チームは1名、2名、もしくは3名での登録とする。 予選参加者は予選の第1日目、第2日目のいずれかのみに参加することができる。参加者は「一般枠」「学生枠」のいずれかに登録すること。

  • 学生枠: チームメンバー全員が学生・生徒であること(年齢は問わないが社会人学生は対象外とする)
  • 一般枠: 学生枠に該当しない参加チーム

学生枠に該当するチームが一般枠に登録することはできる。

連絡手段

参加登録時に入力した代表者のメールアドレスを主催者からの連絡先として利用します。 返答が必要な連絡に対して返答が得られなかった場合、当日競技環境を提供できない可能性があります。 定期的なメールチェックをお願いいたします。

競技時間

予選第1日目: 2018年9月15日(土) 10:00〜18:00(JST) 予選第2日目: 2018年9月16日(日) 10:00〜18:00(JST)

禁止事項

以下の行為を特に禁止する。

  • 予選第2日目の競技終了時間までに、予選出題内容に関するあらゆる事項(問題内容・計測ツールの計測方法など)を公開・共有すること
    • ただし主催者が公開している情報は除く
  • 主催者が他チームへの妨害とみなす全ての行為

サーバー事項

サーバーは、主催者で用意する。 パスワード認証でsshできるように構成されており、サーバーのIPとログインに必要な情報は当日用意されるポータルサイトから確認できる。

サーバーは sudo reboot コマンドで再起動できるが、停止した場合は参加者側からの起動はできない。 (その場合は運営からの救済措置は保証しない。)

ソフトウェア事項

コンテストにあたり、参加者は与えられたソフトウェア、もしくは自分で競技時間内に実装したソフトウェアを用いる。 高速化対象のソフトウェアとして主催者から Perl, Ruby, Python, PHP, Node.js, Go によるWebアプリケーションが与えられる。 ただし各々の性能が一致することを主催者は保証しない。 どれをベースに用いてもよいし、独自で実装したものを用いてもよい。

競技における高速化対象のアプリケーションとして与えられたアプリケーションから、以下の部分は変更しないこと。

  • アクセス先のURI、ただしサーバー側で生成する部分(IDなど)は文字種([0-9] や [0-9a-zA-Z_] など)を変えない範囲で自由に生成しても良い
  • レスポンス(HTML)のDOM構造(表示に影響しない範囲での空白文字の増減は許可される)
  • JavaScript/CSSファイルの内容
  • 画像および動画等のメディアファイルの内容

各サーバにおけるソフトウェアの入れ替え、設定の変更、アプリケーションコードの変更および入れ替えなどは一切禁止しない。 ベンチマーク中に与えられたサーバー以外の外部リソースを利用する行為 (他のインスタンスに処理を委譲するなど) は禁止する。 ただしモニタリングやテスト、開発などは、PCや外部のサーバーを利用しても構わない。

許可される事項には、例として以下のような作業が含まれる。

  • 複数台あるサーバーの役割の変更
  • DBスキーマの変更やインデックスの作成・削除
  • データベースに利用するミドルウェアの変更
  • キャッシュ機構の追加、ジョブキュー機構の追加による遅延書き込み
  • 他の言語による再実装

ただし以下の事項に留意すること。

  • コンテスト進行用のメンテナンスコマンドが正常に動作するよう互換性を保つこと
  • サーバ再起動後にすべてのアプリケーションコードが正常動作する状態を維持すること
  • ベンチマーク実行時にアプリケーションに書き込まれたデータは再起動後にも取得できること

採点

採点は採点条件をクリアした参加者の間で、性能値の高さを競うものとする。 予選参加者に提供される性能計測ツールに参加者が実行リクエストを送り、その後ツール側から計測用の処理が実行される。

採点条件・性能値・性能計測ツールについての詳細は、予選当日のマニュアルに記載する。

本選出場チームの選出

競技時間中に計測され登録された計測値によって、本選出場チームが選出される。 基本的に、計測値としては時間内の最後に登録された値を用いる。 最後に提出したスコアがFailしていたチームは、失格となる。

  • 一般枠 (計18チーム)
    • 予選各日の終了時スコアにおける上位3チーム
    • 予選両日を通し、1の該当チームを除いた中での上位12チーム
  • 学生枠 (12チーム)
    • 予選両日を通し学生枠参加チーム内における上位12チーム
    • ただし、学生チームが一般枠の基準で通過した場合、学生枠はそのチームを含めずに12チームを選出する

備考

予選終了後、主催者はサーバーに対して再起動を含む追試をおこなう。 複数台のサーバーを使用していたとしても、サーバーを再起動する順序は保証しない。 ここで、アプリケーションが正常に動作しない、あるいは予選結果として登録されたスコアに近い結果が再現されない場合、ベンチマークの結果に捏造があると判断される場合には、判断基準の公開と共にそのチームは失格とする。 失格が発生した場合、適宜繰り上げをおこない、本選出場チームを選出する。