Hosted DOMjudge

From ICPC
Revision as of 10:10, 12 May 2016 by Booth (Talk | contribs) (Created page with "Hosted DOMjudge The goal of this project is to make the technical administration of ICPC style contests as easy as possible. To that end we have created a new service that pr...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Hosted DOMjudge The goal of this project is to make the technical administration of ICPC style contests as easy as possible. To that end we have created a new service that provides online hosting of DOMjudge for use in programming competitions (e.g. ICPC Regionals). Running on Amazon Web Services this service is able to automatically scale up or down to the size of your contest. Running a contest online takes away the stress of installing and configuring DOMjudge, getting the right compilers and language support enabled, and setting up the Judgehosts. All you have to do is manage the contest specific information like problem sets and team information.

By using Amazon’s elastic load balancers, dynamic autoscaling, DynamoDB, and Cloudfront CDN our service should be able to scale up effortlessly to support contests involving thousands of teams located around the world. It has already been tested with a simulated contest of 500 teams actively making submissions without any noticeable slowdown. After a contest is over an archive of the public scoreboards will be made and kept online at the same url. A full copy of the database will be exported as well. There is also the option to download these files for safe keeping.

It is possible to load an image of the judgehosts onto a local contest machine rather than a virtual host, if desired. In this case the test cases are run on machines with known and controlled performance characteristics. The default judgehost configuration provides supports for more than 15 programming languages and others can easily be added upon request. Different versions of DOMjudge can be easily supported by this service. This takes advantage of the Open Source nature of DOMjudge and makes it easy to support custom patches or alternate branches of the codebase that provide various features such as alternate scoring or non-­ICPC style rules.