941::blog

たまに面白いことをいうブログです

まだ5回目だけど超有名になったパフォーマンスチューニングコンテスト ISUCON の運営を今年もやった話

今年もやりました!

ISUCONは「アプリケーションとサーバを用意したから18時までに早くしておいてね、シクヨロ」というやつでして、今回で5回目でした。年に1回ペースなので4年やってる計算ですね。最近だと、エンジニアの方が自分の会社で起こる問題の改善やパフォーマンスチューニングが必要な状況で作業することを「リアルISUCON」なんて言われるほどに名前が売れてきてますね。ありがとうございます。

歴代のISUCON本選で使ってるカード



そういえばどんなかんじで参加者とか増えたんだっけなーと思ってまとめてみたら年々参加者も増えてて凄いんですよ。この4年で知名度もかなりあがったのもあって、参加者数とか調べてみたらえらいことになってました。
e91fe6169213fd760bd95879476b6682



ISUCON1
2011年8月27日(土) 20チーム 47名

ISUCON2
2012年11月03日(土) 25チーム 68名

ISUCON3
予選 2013年10月5,6日 74チーム 210名
本選 2013年11月9日(土) 25チーム 73名

ISUCON4
予選 2014年9月27,28日 185チーム、507名
本選 2014年11月8日(土) 31チーム 88名

ISUCON5
予選 2015年9月26,27日 271チーム 761名
本選 2015年10月31日(土) 25チーム 74名

これもひとえに協賛いただいている各社様、運営お手伝いいただいてる方々、参加してくださる参加者の皆さんあってのことです。ありがとうございます。ISUCON3からは優勝賞金が100万円になったりしてますが、参加者の皆さんは単純に「100万ほしい!」ってことだけじゃないのがいいところですね。うむうむ。

というわけで運営は基本的にはわたしがやっていて、実務的なところは同僚にサポートしてもらってというスタイルのISUCON。過去に運営の話はしているので大きく違いはないので参照いただくとして、今回は予選と本選であった思い出深いこととか紹介していきたい。

過去のはこちら
エンジニアがやりたいというので 技術コンテスト #isucon の運営をしてみた - 941::blog
#isucon2 の運営担当をしたので準備とか企画とかの話 - 941::blog
ISUCON3 予選の企画と運営をしました - 941::blog
エンジニアが熱狂した 第三回 #isucon 運営の話 - 941::blog
ISUCON4 運営しました!の話 - 941::blog


開催前
ISUCONの運営のキモは出題なので、出題者探しがかなり大変。
過去の出題でいうと
ISUCON1 LINE(当時のlivedoor
ISUCON2 LINE(当時のNHN Japan)
ISUCON3 面白法人カヤックさん
ISUCON4 クックパッドさん
という形で行われていて、ISUCON5はLINEの人であったtagomorisさんが「ISUCON3と4優勝したことやし、よっしゃワイが出題したるわ(意訳)」ということになってお願いすることになり、ISUCON5やるで!と告知したはいいものの色々あってというかtagomorisさんが退職されてこりゃ参ったなどうしようと思っていたら転職先であるトレジャーデータ様のご厚意により出題していただけることになりました。感謝感謝でございます。

出題は問題作るだけじゃなくて、各参考実装の写経とかデバッグとかバランス調整とか果てしなく大変なのですけど、自分は出題にはまったくタッチしておりませんで「がんばって!」「問題作る以外のことはどうにかしますよ!」みたいな賑やかしでなんとか応援しているというスタイル。ありがたい。


夏期講習
予選の前に開催している学生向けのイベント、ISUCON夏期講習。学生の皆さんに、出題者から直接色々とアドバイスしてもらえるということもあって人気です。ここらへんですね。
ISUCON 夏期講習 2015 を開催しました : LINE HR Blog




夏期講習前にはヒカリエの飲食店で「先生方なにとぞ宜しくおたのもうします」とランチしたり



懇親会の後の二次会では、最近のエンジニア界隈の階層化(若手勉強会とかなんだそれみたいな話とか)や、日本の優秀な学生は全てあの会社がかっさらっていってしまって何とかせにゃいかんみたいな話とかあまりインターネットに書けない話をしていたような気がするけど覚えていない。これはフィッシュアンドチップス、美味い。




予選前
運営には昨年と同じくidobataを使用させてもらうことに。運営、予選日ごと、本選とチャンネルをわけて使う運用。slackでもよかったんだけど、URLで参加者がすぐに参加出来ることが大事だったので今回は使わず。

予選で使わせてもらえるクラウドコンピューティングサービスをどうしようかなと思う隙もなく「今年はGoogleCloudPlatformを使わせてもらえることになりました」とtagomorisさんが事前に話をつけてきてくれていたので準備。それまでチャット上やメールで色々と話せていたけど、YAPC::Asiaの懇親会で担当の佐藤さんと直接お会いする機会があってよかった。

告知のエントリで書いているけれど、去年の185チームは超えてほしいなーと思いつつ準備をしていた。ただ、やる以上は沢山の方に参加してほしいのでインタビューをしたりYAPC宣伝LTしたりと細かく活動。結果的には271チームもの方にご参加いただけて感謝感謝。


予選
予選開催の数日前、運営チャットでは問題作成が難航している様子。当日は予選会場としてLINEのカフェを提供することが決まっていたので自分はその準備をするばかり。。

予選当日、運営陣は8時半に集合。10時開始予定だったけれど色々あって開始を1時間延長するのと、参考実装を減らすことに。参加者の皆さんには申し訳ないです。すいません。

今回は予選日ごとに「最初に3000点に達したチームが本選出場」というのがあり、1日目は開始から2時間45分で、2日目は2時間で該当チームが選出。

会場提供したカフェ



運営部屋、満身創痍の出題のお二人



2日目はわりと余裕のある運営部屋



イベントのランチは美味しいものを用意するべきだ




運営部屋にはこんな風にTODOリストっぽいものを書き出している



本選
25チームが参加するということで、会場準備などを進める。準備万端だ!と思っていたけど、手配は終わっているけど電源タップ受け取りと当日使用するWi-fiの動作確認をしていないことに気付いて顔面蒼白。この2つが無いとコンテストの開催が出来ないに等しいから、心配で心配で3時半に起床。

その後は眠れずに出社。「電源タップは最悪買わないといけないな」と思い、オフィス周辺の電源タップ売ってそうな店の営業時間を調べながら始発に乗っていた。オフィスに着くと電源タップもあったしWi-fiもOKだったしで一安心。8時くらいの段階で準備は完了。とにかく眠かった。。

当日は同僚の皆に協力してもらってノベルティなどを配布できた、ありがたや。



本選中はTweetをまとめたり、フォトレポート用に撮影したり。こちらを参照
ISUCON5 本選リアルタイムフォトレポート【更新終了】 : ISUCON公式Blog

懇親会は無事に進行したけど、ハロウィンの影響でケータリングが1時間遅れで届いたりしたので次回はハロウィンとぶつけないようにと固く心に誓う。参加者の皆さんには、ここまで影響あると思っていなくて申し訳ないです、という他ない。ほんとすいません。

とりあえずビールがあればいいやん!と思うけど、その肝心のビールも遅れてしまって、到着したときは「みんな!カクヤスさんが大渋滞の中ビールを届けてくださったぞー!拍手で出迎えましょうー!!」と割れんばかりの拍手で登場したカクヤスさんには本当に感謝しております。

ケータリングでいうと、今回お願いしたお寿司屋さんはシャリが微妙でせつない気持ちになりました。お寿司って難しいですね。クオリティにばらつきのないピザとかケンタッキーとかメインでやろうと思ったのでした。




というわけで、今年もISUCONありがとうございました。出題のtagomorisさん、kamipoさんは本業が思いがけず超忙しくなってしまった中、本当に死力を尽くしてという表現がピッタリだと思いますが頑張っていただいて本当にありがとうございます。出題をお手伝いいただいたhydrakecatさん、najeiraさん、makingさん、taroleoさん、hokacchaさんも夜遅くまで作業していただいて本当にありがとうございます。他にも運営を毎年手伝ってくださっているNHNテコラスの皆さん、LINEの同僚のみんな、ありがとうございました!

次回、ISUCON6については出題者の負担を減らせるような形を既に考えているのと、今回の課題を解決できるよう色々と準備していきたいなと思ってます。早ければ12月には何かしら発表出来ると思うので、もうちょっとお待ちいただければ!

最後は運営チームで。 




=================================
LINE@ で更新情報お届け中→友だち追加数
フィードの登録はこちら→follow us in feedly Subscribe with Live Dwango Reader
ついでにフォローしちゃう→