traP の部内 ISUCON と
それを支えるポータル

@ikura-hamu / ISUCON14 公式反省会

自己紹介

いくら・はむ (@ikura-hamu)

東京科学大学 (旧 東京工業大学) 学士3年
東京科学大学デジタル創作同好会 traP

ISUCON14 はtraPのメンバーと「リアクティブ二子玉川~♪」で出場(2年目)して32位


@pikachu0310

+


@H1rono

+


@ikura-hamu

=

@reactive-futakotamagawa
ISUCON14 公式反省会 LT

traP とは

東京科学大学で活動するデジタル創作・プログラミング系サークル

今年作問の ポケットサイン にも @sekai さんが初代代表など関係者が多く所属

ISUCON14 には 44 人12 チーム(部員のみのチーム) が参加

ISUCON14 公式反省会 LT

traP 部員の ISUCON 参加

部員は入れ替わっているにも関わらず、増加している
ISUCON に取り組み、後輩を育成する文化が定着

ISUCON14 公式反省会 LT

traP の部内 ISUCON 「PISCON」

traP ISUCONPISCON
過去問に取り組む

  • 講習会がくっついている
  • 参加者は AWS アカウントなどの準備がいらない

初心者でも参加しやすい環境

ISUCON に取り組む人の増加に貢献している

ISUCON14 公式反省会 LT

PISCON の流れ

  1. PISCON 担当者が過去問を選ぶ
    • 今年は ISUCONDITION と ISUPORTS の2回開催
  2. PISCON 担当者がポータルの設定などの準備をする
  3. ISUCON 講習会をする → 初心者でもスコアが出せるように
  4. 3日ぐらいポータルを立てておく → 8時間やることもできる
  5. 感想戦をする → 知見の共有
    • お互いの解法を見せあったりする
  6. 延長戦をしたい人はする
ISUCON14 公式反省会 LT

そんな PISCON のポータル

  • matsuu/aws-isucon の AMI を使う (ありがとうございます!)
  • 競技者が自由に問題のインスタンスを建てたり削除したりできる
  • チームを組んで参加できる

競技に集中できる環境を提供

ISUCON14 公式反省会 LT

そんな PISCON のポータル

  • 得点推移のグラフが見れます

    • あれ?
ISUCON14 公式反省会 LT

そんな PISCON のポータル

  • 得点推移のグラフが見れます
  • 部内 SNS と連携してログインできます

    • あれ?
ISUCON14 公式反省会 LT

そんな PISCON のポータル

  • バグっています
  • 1年で数回しか使われないので放置
ISUCON14 公式反省会 LT

夢のポータル(PISCON Portal v2)を作ろう

  • バグってない
  • 複数台のベンチマーカーに対応したい
    • 1台だと講習会のときにキューが詰まる
  • 過去問ごとの切り替えを楽にやりたい
  • もっと盛り上げたい
    • 最高点を更新したらUI上で花火が上がる
    • 順位が入れ替わったら部内SNSにメッセージ
  • プロビジョニングのためのansibleやterraform
  • 部内SNS以外にも、SlackやGitHubの認証を使えるようにすれば
    いろんな人に使ってもらえる?
ISUCON14 公式反省会 LT

でき...

ISUCON14 公式反省会 LT

なかった

ISUCON14 公式反省会 LT

ISUCON14 公式反省会 LT

ISUCON14 公式反省会 LT

今後の traP と PISCON に
ご期待ください

ISUCON14 公式反省会 LT

初めに自己紹介をします。いくら・はむといいます。東京科学大学学士3年で、東京科学大学デジタル創作同好会traPというサークルに所属しています。ISUCON14ではtraPのメンバーと「リアクティブ二子玉川~♪」で出場して32位でした。

今日はtraPでのISUCONについてのお話をさせていただくのですが、traPについても説明します。 traPは東京科学大学で活動するデジタル創作・プログラミング系サークルです。今年作問のポケットサインの@sekaiさんが初代代表だったり、今年の作問陣にもNaruseJunのメンバーをはじめ多くの関係者が含まれています。 ISUCON14にはtraPから44人、チーム数で言うとtraP部員だけのチームは12チームが参加しました。

このグラフはtraPからのISUCON参加者数の推移です。左がチーム数、右が参加者数のグラフです。大学のサークルなので当然部員は毎年入れ替わっているのですが、それでも増加していることがわかります。実際、ISUCONに取り組み、出場する後輩を育成することがtraPの文化として定着しています。

その育成に大きな影響を与えているものとして、traPの部内ISUCON「PISCON」があります。traP ISUCON で PISCON です。Uが抜けてるじゃないかというご指摘はごもっともなんですが、見逃してください。PISCONにはISUCONの講習会がくっついていたり、参加者はAWSアカウントの用意がいらなかったりと、初心者でも参加しやすい環境が整っており、ISUCONに取り組む人の増加に貢献しています。 AWSアカウントは1年生などは持っていないことが多く、実際僕も3年生になってからアカウントを作ったので、非常に助かりました。

PISCONはこのような流れで行います。 まず、PISCON担当者が過去問を選びます。今年はISUCON11予選のISUCONDITIONと、ISUCON12決勝のISUPORTSを選び、2回開催しました。 次に、PISCON担当者がポータルの設定やデプロイの準備をします。 その後、初日にISUCON講習会を行います。はじめてISUCONに取り組むとスコアを少し上げるだけでも大変ですが、ここを手取り足取り教えることで初心者でも改善を入れられるようにします。わかりやすくスコアがあがることでモチベにもつながります。 そのあとは3日ぐらいポータルを立てておきます。チームによっては本番と8時間やることもできるようにします。 終わった後には感想戦を行い、お互いの解法を見せあったりして知見を共有します。 そして1週間ぐらいはポータルを立てておき、延長戦をしたい人は延長戦をします。 このプロセスを通して、traPではISUCONに取り組み強くなろうとする人が増えています。

そんなPISCONのポータルは、matsuu/aws-isuconのAMIを使っています。いつも本当にありがとうございます。競技者が自由にインスタンスを建てたり削除したりできるようになっており、また、チームを組んで参加することができます。ポータルによって競技に集中できる環境を提供しています。

ということで、PISCON Portalのv2を作ることになりました。 まず、バグっていないことが前提です。 その上で、複数台のベンチマーカーに対応したいです。1台だと講習会のときにキューが詰まることがあるので、複数台にできると嬉しいなという感じです。 また、過去問ごとの切り替えを楽にやりたいです。今は問題特有の処理を書き換えてデプロイみたいなことをやっているので、ここを手軽にできたらいいなと思っています。 さらに、もっと盛り上げたいです。最高点を更新したらUI上で花火が上がるとか、順位が入れ替わったら部内SNSにメッセージが行くとか、そういうのをやってもっと楽しくPISCONに取り組む人が増えてほしいです。 これは管理者むけですが、プロビジョニングのためのansibleやterraformを用意したいです。今はポータルを立てるのがすごい面倒なので、これを簡単にしてもっと気軽にPISCONを開催できるようにしたいです。 また、部内SNS以外のSlackやGitHubの認証を使えるようにすれば、traP以外のいろんな人に使ってもらえるかなと思っています。