Home > Imo Judge

Imo Judge

  • 2009-06-17 (水) 1:08

Imo Judge はこちらから!

Imo Judge

Imo Judgeはimos製作のジャッジシステムです.主にImos Contestsで利用されます.

  • サーバOS: Ubuntu
  • Apache 2, MySQL 5, PHP 5の上で動きます.
  • 仮想OS: Debian(business card)
  • 対応言語: gcc, g++, Java(Sun), C#(mono 2.0), VB.NET(mono 2.0)

メインサーバがユーザとのやり取りおよび管理を行い,VMware Player上で動く仮想OSにソースコードを投げます.そして仮想OSはソースコードのコンパイルおよび実行を行い,その結果をメインサーバに返します.この結果,クラックを受けた場合もメインサーバ側ではVMwareの権限までしか奪われません.やり取りとしてはClient⇔Main⇔Apache(main)⇔PHP(main)⇔RAM Disk(main)⇔VMware⇔Mounted Disk⇔Judge System(uid: root)⇔Runner(uid: contest)という感じになる予定です.

計算速度の決定法

以下のコードを10秒で実行できる速度をジャッジに使う時間とします.(小数点の速度やメモリへのアクセス速度は実行する環境によって違うかもしれません)

001: #include <stdio.h>
002:
003: int main() {
004:     __asm__ __volatile__(
005:         " push %eax\n"
006:         " push %ebx\n"
007:         " movl $0, %eax\n"
008:         "next:\n"
009:         " addl $1, %eax\n"
010:         " movl $0, %ebx\n"
011:         "next2:\n"
012:         " addl $1, %ebx\n"
013:         " cmpl $100000, %ebx\n"
014:         " jne next2\n"
015:         " cmpl $100000, %eax\n"
016:         " jne next\n"
017:         " pop %ebx\n"
018:         " pop %eax\n"
019:     );
020:     return 0;
021: }

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://imoz.jp/imo-judge/trackback/
Listed below are links to weblogs that reference
Imo Judge from 超現実いもす(imos)の日記

Home > Imo Judge

Search
Feeds
Meta

Return to page top