This page is intended to help Site Directors for the PacNW and Rocky Mountain Regional Contests understand how the overall contest management process works in a PC2-managed contest, as well as what is expected of each contest site.
The overall architecture of the Regional Contest consists primarily of two sets of machines: AWS machines and local site team machines. Local site team machines reside in laboratories (or similar facilities) at each contest site. Every team machine is expected to run the exact same Contest OS image (see "Team Machines", below), although the Contest Director has the authority to alter this decision. The remainder of this document is written from the point of view of assuming that team machines are running the Contest OS image.
The second set of machines comprising the contest architecture is a collection of various servers and client machines running in the Amazon Cloud (AWS). These machines include the PC2 server, judge machines, and additional machines providing scoreboards, presentations, and other contest support functions. Teams use a browser to connect to AWS machines in order to send submissions to judges and to view the contest scoreboard. Site Directors may need to provide teams with the URL for the appropriate AWS machine(s), although this information is also baked into the Contest OS image in the form of menu items containing the appropriate links. Neither teams nor Site Directors normally need to interact directly with the contest AWS machines in any way.
Some sites may also provide other local site machines (aside from team machines) for supporting other contest functions. For example, it is frequently desirable to provide a machine for handling site-specific balloon distribution operations. Also, sites sometimes use additional machines to support required services such as printing. These and other operations are discussed further below.
The environment provided by the Contest OS image which is expected to run on team machines is described here. Instructions for building a machine containing the Contest OS image are provided here. Useful additional information regarding setting up multiple lab machines can be found here.
Some sites do not have the ability (read: "permission") to install the Contest OS image directly onto the hard drives of team machines. In this case, a possible alternative is to install the Contest OS on USB chips (one for each team machine) and then to boot the machines from the USB chips (thus avoiding altering the machine hard drives in any way). The image installation instructions include a description of how to install the Contest image on USB chips as well as how to boot team machines from such chips. This procedure has been used successfully at a number of past Regional Contest sites.
In order to participate in the contest, teams must have two sets of credentials: a login/password for the Contest OS (Linux/Ubuntu), and a login/password for the PC2 system.
The Contest OS created by the
image installation instructions
includes creation of a single user account with login id team
and password contest
.
[1]
Most sites deem this single account sufficient for providing teams with the ability to log into the Contest OS.
That is, most sites are fine with all team machines having the same account/password,
since teams are normally monitored by staff during the contest and are not allowed to access
another team's machine (and access over the network is prohibited by the installation).
However, your site may feel it is important to provide additional security by creating different login accounts for each team.
If so, you will need to create these accounts as part of your setup (they won't exist by default).
These accounts can be local to each machine or you can use NIS. If you use NIS, you'll have to manually
copy all files from /etc/skel
into each team's home directory
(note that the copy must be recursive;
also, be sure that you copy the .mozilla
directory and its contents).
If you use "adduser" on each machine it will recursively copy the files for you.
Team accounts should be created as part of Group 3000 (for example, if you use "adduser",
include the command argument --gid 3000
).
Additional note: the default shell for Linux accounts should be set to /bin/bash
(this is to insure "level playing field";
teams can use any shell that's installed in the image, but all should start with bash as the default).
Also, be sure to create "home directories" for the team accounts.
Finally, note that if you do decide to create your own individual OS login accounts (instead of having team used the default login/password combination of "team"/"contest"), you will need to arrange a procedure for letting teams know what their login credentials are.
Once a team has logged into the Contest OS and created a solution to a contest problem, the team must login to the PC2 system to submit their solution to the judges. PC2 is accessed via the Firefox web browser; there is a menu item on the Contest OS desktop which will open Firefox and connect to the URL for the PC2 system.
Once connected to PC2 the team must enter their PC2 login and password.
PC2 login ids are always of the form teamXXX
,
where XXX
is a 3-digit team number.
Prior to the scheduled start of the (week-long) Regional Contest Practice,
the Regional Contest Systems Group will download team registration information
from the ICPC Contest Management System (CMS) for all teams
registered in the Regional Contest and will email each team member (and their coach) their
PC2 team number and password.
Any teams that register late (i.e. after the start of the week-long Practice Contest) will need to
have their coach contact the PC2 team directly, at pc2@ecs.csus.edu
, to obtain credentials.
The general rules related to firewalls and ports on machines used for the Regional Contests are as follows.
44.231.50.129
on ports
443/tcp
,
80/tcp
, and
8080/tcp
,
and get the response to those outbound connections.
The Contest OS image includes a set of firewall rules embedded in the Ubuntu iptables system. These rules are set up to allow team machines to access necessary external addresses (for example, the PC2 team server) while prohibiting access to other Internet locations. If you need to update the firewall rules (for example, to support network printing - see below), we recommend using the Ubuntu Uncomplicated Firewall manager.
Each site needs to provide support for printing from team machines. How you choose to do that is up to you, provided there are security measures in place to ensure that teams can't obtain printouts intended for a different team. In addition, note the following:
Additional information related to printing is discussed here.
Most sites follow the ICPC tradition of sending balloons to teams for each problem they solve. One way for your site to determine who gets a new balloon is to have someone monitor the scoreboard for newly-solved problems. While this process is a bit cumbersome, it will work.
A much more practical way to manage balloons is to take advantage of the ICPC Tools Balloon Utility. This is a tool that runs on a machine at your site and connects via a URL to the contest system (most sites simply use a laptop or other available machine for this; the only requirement is that the machine has at least Java 1.8 installed and that it has Internet access). The Balloon Utility keeps track of what balloons need to be delivered, and supports the ability to filter information by individual sites so that your runners don't have to sift through irrelevant information from other contest sites. It also supports the ability to print hard-copy balloon notification sheets, which allows runners to maintain physical records of balloon deliveries.
Installing the Balloon Utility is easy: simply download it from the ICPCTools link (above) and unzip it to any convenient folder. There is also a Balloon Utility User's Guide which provides instructions on how to use the tool.
Note that in order to connect the Balloon Utility to the contest system you will need to know the appropriate connection
URL; this can be obtained from the Regional Contest Systems Group, or by sending an email to
pc2@ecs.csus.edu
.
In order to provide teams with the opportunity to become familiar with the Contest OS environment, as well as provide the Regional Contest Staff with the opportunity to test the system, two "practice contests" will be held. The first will start at 3:00pm PST / 4:00pm MST on Friday, February 17th and will end at 3:00pm PST / 4:00pm MST on Friday, February 24th. The second practice contest will start at 6:00pm PST / 7:00pm MST on Friday, February 24th, and will be two hours long, ending at 8:00pm PST / 9:00pm MST that same evening.
The purpose of this contest is to provide teams with an opportunity to become familiar with the contest environment. This practice will be totally online. Teams will receive login credentials via email prior to the start of the practice contest, and may use any machine they wish to participate in the contest. Teams that wish to have a practice experience that is as close as possible to that which will be used in the actual Regional Contest(s) should examine the Contest Environment page, and then should follow the image build instructions to create a contest machine which they can then use for the practice. (However, creating a contest image machine is not necessary to participate in the Practice Contest #1.)
The purpose of Practice Contest #2 is to verify the operation of team machines in the laboratories where they will be running for the Regional Contest on Saturday (February 25th). No connections into this contest from outside the actual Regional Contest team labs will be supported.
The current plan calls for sites in the two Regional Contest groups (Pacific Northwest and Rocky Mountain) to handle Practice Contest #2 in different ways.
Teams participating in the Rocky Mountain Practice Contest #2 will be physically on-site (that is, at the actual team workstations which they will use the next day for the Regional Contest. They will use the same PC2 credentials which they received earlier in the week by email. Login credentials for the OS on the team machines depends on the setup provided by each site.
Teams at PacNW sites are not to be given access to team machines on Friday. Instead, one staff person at each site must login (on a team machine) to a PC2 team account in each Site Division (D1 and D2) and submit a program on behalf of that team. These submissions must be submitted between 6:00pm and 8:00pm on Friday evening February 24th.
Once Practice Contest #2 has ended, staff at all sites are responsible for resetting the contents of all team machines. In the case of the Pacific NW, this simply requires the staff to delete anything they put on the team machines which they tested.
Resetting team machines for the Rocky Mountain contest is more complicated. In order to insure that teams cannot create code or data files during the Practice Contest which they can subsequently access during the Real Contest, it will be necessary for each Rocky Mountain site to reset ("clear" and then in some cases also "restore") a number of directories after Practice Contest #2 ends. All of the following actions will need to be taken between the Practice and Real Contests:
The mechanism which each site uses to accomplish resetting team machines is up to the site.
Teams will have access to the contest standings on their machine, via two different mechanisms:
Scoreboard
menu item.
http://contest.icpc-vcss.org/scoreboard
;
teams can access this URL from the web browser on their machine.
There is also a link to this URL on the team machine Contest OS desktop.
In addition to these basic scoreboards, the Regional Contest Systems Staff provides support for a more comprehensive set of scoreboard displays which many sites prefer to provide for viewing by coaches, spectators, and sponsors. This alternative scoreboard is implemented by using the ICPCTools Presentation system. In order to display the ICPCTools scoreboard presentations, the Site Director must go to the ICPCTools website and download and run the ICPCTools Presentation Client.
The Presentation Client should be run on a Windows machine (this is because of the detailed graphics used; Linux
graphics drivers do not work properly in many cases). The Windows machine must have at least Java 1.8 or higher
installed. When the Presentation Client is started, it needs to be given the URL for the Regional Contest Presentation
System; Site Directors can obtain this URL from the Regional Contest Systems team, or by sending email to
pc2@ecs.csus.edu
.
Also, be sure to note that it is the Presentation Client that needs to be installed at each site; not
the Presentation Admin.
pc2@ecs.csus.edu
for assistance.