judge-server
judge-server copied to clipboard
Judges should provide system info to site
Things like distro version, CPU brand / clock speed, total RAM, etc. are valuable datapoints for instance administrators. The motivation behind this is to facilitate quick detection of mismatched specifications, which is a not-infrequent occurrence with dynamically provisioned judges on cloud providers.
The suggested implementation is platform for distro, psutil for memory / other goodies, and py-cpuinfo for CPU info. We already have a field for judge info site-side which we could repurpose for this functionality, or just introduce a new field.
This requires minimal changes to the handshake packet.
I don't think storing this as a JSON blob in the description field is exactly an awesome idea. We might need to put stuff like distro, memory, cpu count and other basic information in separate fields, and put extra information, like CPU extension lists and vulnerabilities in either description or a separate JSON field.