サークルでISUCONを開催した話

前置き

そろそろサークルの後輩くんたちにも強くなってもらいたいなーって思って開催した。

思えば、あれは何年前だろう(7年か8年か)、僕もサークルの先輩にサークル内ISUCONを開催してもらって、「へーこんな競技があるんだ」って知った。 そこから毎年参加していて、決勝にも行ったりして、競技中練習中通して様々な技術を学んだおかげで、今があると思ってる。

在学中にも開催したりしたが、何分自由なサークルなので、最近は開催されてなさそうだった。 ちょうどGWに空いた時間が取れそうだったので、完全初心者でもサポートできるだろうと踏んで、開催してみました。

開催前

サークルのDiscordにて、ISUCONを開催したら嬉しいか、参加してもらえるかを聞いてみたところ、参加してくれる人がいそうだったので、開催することにした。 サークルとは、信州大学公認サークルkstmのことで、信州大学学生によるものづくりサークルである。 なにかものを作ったり、こうやってコンテストをやったり、LT大会をやったりと、ITを中心として様々なことをやってるので、興味がある信大生は是非話を聞いてみてください。

(もしkstm関係者の人でDiscordに入ってない人がいたら、部員募集のメーリスまで)

問題セットはISHOCON1を使うことを決めた。 ISHOCONは一人で参加するのにちょうど良い難易度になっていて、本家ISUCONに比べて問題がシンプルである。 今回は初心者向けでもあったので、できるだけシンプルな問題が望ましかった。

がっつり改善できるように、また時間を区切ってやると参加できない人も出てきたりすることが考えられたため、今回は4/29~5/9という長期間開催することにした。 結果的には想定通りに進みよかったのだろうが、一方でもっとバチバチした戦いを見たさもあるので、短いほうがよかったのかもしれない。

運営には僕と、同じくサークルOBでISUCONチームメイトのあーちゃんに入ってもらった。

AWSを使用してリソースを用意することにしたので、terraformを書いた。 そのterraformは、今回運営してみて、安定して使用できることの確認が取れたので、PRにしたところ、マージしてもらえたので、今後主催する人には是非活用してもらいたい。

terraform -> ISHOCON1/terraform at master · showwin/ISHOCON1 · GitHub

開始

4/29 09:30 頃、開始した

やったことはterraform applyしてリソース作成、できたEC2のIPアドレスと問題のマニュアルを参加者に配布のみで、事前準備の成果もありとてもスムーズに始められた。

SSHログインできないなどのトラブルがあったりしたが、対応した。

f:id:Goryudyuma:20210508225356p:plain

少しずつベンチマークを回して点数が付き始めた。

f:id:Goryudyuma:20210508225546p:plain

一気に点数を伸ばし始める人が出てきたり。

この頃から運営も特にトラブルなどもなく、暇になったので、参加することにした。

f:id:Goryudyuma:20210508225733p:plain

時々質問が来たら答え、次にやるべきことをアドバイスしたりして過ごしていた。

あと、運営としてやったことといえば、 f:id:Goryudyuma:20210508230051p:plain

点数がインフレして、下の方でがんばりが見え辛いとの意見から、

f:id:Goryudyuma:20210508230158p:plain

対数表示にグラフを変えることで、点数をわかりやすくした。

結果発表

順位は以下のようになりました

f:id:Goryudyuma:20210628233608p:plain

  1. Goryudyuma
  2. bgpat
  3. Noiri
  4. kitoriaaa
  5. fono09
  6. kitakou0313
  7. ritsuxis
  8. togacoder
  9. arsley
  10. zipnofastener

(提出が一度でもあったアカウントのみの集計です。)

まとめ

AWSの料金

f:id:Goryudyuma:20210628234240p:plain f:id:Goryudyuma:20210628234255p:plain

計$201 でした。

開催期間中、c5.xlargeを参加者の人数分spotで立て続けたのが、値段の大半でした。

時間を絞ったり、インスタンスサイズを下げれば、もっと安く開催できると思います。

(数日にわたって開催するとか普通はしない)

終わりに

ISUCONは順位よりも、コンテストで何を学んだかが重要です。 参加した人は、是非学んだことを糧にして、将来強いエンジニアになってください!

参加してくださった方、問題を作問・公開をしてくださっている @showwin さん、運営を手伝ってくださった方、皆さんありがとうございました!

参加エントリ

Goryudyuma

goryudyuma.hatenablog.jp

Noiri

kadomachi.hatenablog.com

fono09

fono.jp

kitakou0313

docs.google.com

ritsuxis

seiritsu.hateblo.jp

スペシャルサンクス

問題

github.com

ポータル

github.com