Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement various things for finals #355

Merged
merged 4 commits into from
Dec 26, 2017

Conversation

Janzert
Copy link
Contributor

@Janzert Janzert commented Dec 14, 2017

This adds a few things for the finals to start with a full leaderboard reset and run with a progressive rank cutoff.

Main changes implemented are:

  • Adds a script to do a leaderboard reset by storing a new bot history entry with the current rating information and then resetting the rank, rating and games played information. This allows the final open competition rank and rating to be checked as the last retired entry in the bot history.
  • Set tau to 0 for finals as the composition of entries will be fixed.
  • Implements a method to set a schedule for the rank cutoff to automatically change as games are played in the finals.

I put example schedules for around 4000 and 5000 players in config.py. At current rates it looks like it will probably be around 3200 to 4200 players in the finals. As they get closer and the actual number of players can be predicted more accurately the schedule can be set accordingly. It's also pretty flexible on how large a proportion to give the top bots and where to set that final cutoff. The examples set the last cutoff for silver tier and above to get a few thousand games more than the next step down.

The example schedules also use a somewhat conservative 3000 games per hour where the actual rate has averaged around 3200 and they will probably run somewhat more than 6 full days.

Still on the to do list is a finals status page showing the current cutoff, number of games played in finals, cutoff schedule, and anything else that might be of interest.

Copy link
Contributor

@lidavidm lidavidm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. So for deployment, we would stop all the workers, set LAST_OPEN_GAME and the schedule, run the reset script, then re-deploy the coordinators with the new config, and then restart all the workers?

@Janzert
Copy link
Contributor Author

Janzert commented Dec 18, 2017

I'll need to dig out the checklist from last year to make sure there wasn't more, but at the very least the above list needs to add a couple items to the beginning:

  • Set COMPETITION_OPEN = False in config.py and then restart the coordinator server(s).
  • Wait for all compilation jobs to finish
  • Then stop all workers and coordinator
  • set LAST_OPEN_GAME and so on

Basically closing the open competition is a two stage process of stopping submits and then allowing any compilation jobs to finish.

@harikmenon harikmenon merged commit 50de7e7 into HaliteChallenge:master Dec 26, 2017
@Janzert Janzert mentioned this pull request Jan 8, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants