2.1 比赛硬件
DOMjudge 区分以下主机:
队伍电脑
队伍使用的工作站,队员通过它编写答案并向评测系统提交答案。在此电脑上唯一运行的 DOMjudge 程序是命令行提交客户端,所有其他的队伍交互都在浏览器上通过 web 界面完成。
DOMjudge服务器
一个用于接收提交,运行数据库并提供 web 服务的主机。这台主机将运行Apache服务器和MySQL数据库,简称为DOMserver。
评测机
一台或多台主机,用于从 DOMjudge 服务器取回提交的程序,并编译、运行以及将结果返回给 DOMjudge 服务器。他们将运行 DOMjudge 服务器的评测守护进程。
裁判/管理员工作站
想要监视比赛的裁判只需要一台有web浏览器的电脑即可访问裁判 web 界面而不需要安装任何其他程序。
一台(虚拟)电脑应用于运行 DOMserver 。评测机至少要有一台,但建议使用多台:考虑到不同的限时,评测一道题目可能要占用一台评测机几分钟的时间;并且如果有一台评测机出现故障,在维修时别的评测机也可以代替他的工作。
根据经验,我们建议每二十支队伍配一台评测机。
然而,过度配置并没什么不好。DOMjudge 可以灵活分配评测机的数目,因此硬件条件允许的话,就多用几台。但是比赛时少用几台也无妨,但是参赛队伍在接收结果时将会多等待一段时间。
每台评测机都应该是一台没有运行其他程序的专用(虚拟)电脑。尽管将运行 DOMserver 的电脑同时作为评测机是可行的,但是我们并不推荐这样做,除非是以测试为目的。评测机也不能同时作为裁判的工作站。统一评测机的硬件配置有助于建立合理的,可复制的评测系统,更理想的情况是他们用与选手机相同的配置。
DOMjudge 支持在一台评测机上运行多个评测守护进程,这可能对多核CPU很有用。注意:尽管每个评测守护进程可以被单独绑定在一个核心上(通过 Linux cgroups),但是像硬盘 I/O 等共享的其他资源仍然可能对性能造成一些影响。查阅 3.18 来获取与此有关的更多信息。