Hardware

Hi there

Is there any way we can get some indication of the hardware at our disposal? Specifically:

(1) Can we assume more than 1 core?

(2) What is the minimum amount of memory we can assume? Can we assume at least 1GB?

Thanks!

Hey @sparky

This year we are using Azure container groups to help handle the environments for each bot.
Currently each container group is given a maximum of 4 processors which is split between the game runner and each contestant’s bot.

The game runner is given 1 processor and 1 GB of RAM, the rest of the available resources are divided equally among the bots.

The minimum specs will be as follows :

  1. Processors : 1.5 cores
  2. RAM : 4GB

Each bot will be executed in its own docker container, giving it full access to the processors and memory allocated to it.

We will be aiming to increase this in the future.

2 Likes

Great answer and good news. This means that effort into multi-threading and decent memory usage will be worth while. Thank you.

Hi Privolin,

Are cores actually set aside for each bot, or do the 2 bots just share the 3 processors?
Could one bot hog the available resources and interfere with his opponent in that way?

Hi @japes

No, it is not possible to hog other bots resources each bot gets a dedicated amount of resources within the container group.

We have configured the containers for these bots to not exceed the allocated amount of resources given to the containers which in this case as @Privolin mentioned is 1.5 CPUs and 4GB of Ram

What is 0.5 of a CPU?

Hi Everyone,

Just want to help clarify things a bit. We will be ensuring that you have dedicated access to 1.5 vCPU’s boosting up to a max 2 vCPU’s provided the resourcces are available. What this means is that if two bots are consuming all of their resources to the max then they will be contesting over 1 shared CPU. In this scenario each bot will be allowed exactly half the processing time on the shared CPU.

If there is a scenario where bot A for instance is not using all of the resources available then bot B can access the full quota of both vCPU’s giving bot B an advantage in terms of processing power.

We decided to do this to encourage contestants to make use of multithreading in their bots. You will be putting your opponent in an advantageous position if you do not use the shared resources allocated to your bot and this is by design, we are looking for the best of the best after all :wink:.

Azure Container Instances run on Kubernetes if I am not mistaken and you are welcome to read up a bit more on the details of how CPU resources allocation works here.

Please let us know if things still aren’t clear.

6 Likes

Or… startup a random number generator which you never use, that just runs when it’s your opponents turn.

That can also work yes :joy:

Hi, would it be possible to share details about which VM type the container instances will be running? I’d like to benchmark ahead of time how fast my bot will take to initialise on the competition hardware since I’m pretty sure that’s why my validation match failed last round.
I’m guessing something like F4 or F4s v2 instances?

1 Like

Hi @marcin_k,

We are utilizing Azure Container Instances to run the matches and not specific virtual machines so it is a bit difficult to give you hardware specifications. We are in discussion however of granting a few seconds startup/warm up time before we start the match. We will update this post once we have made a decision which will be in the next few days.

4 Likes