Script for recomputing task time limits.

Review Request #177 - Created Sept. 21, 2011 and updated

Bogdan-Cristian Tătăroiu
What it does is for each task, divide the submitted jobs into buckets based on how many TLEs each job has received and try to select the most representative 5 jobs for each bucket (configurable JOBS_PER_TASK and BUCKETS constants). The jobs are selected in decresing order of score and increasing order of total execution time and are chosen such that no bucket will contain 2 jobs from the same user (this prevents rejudging a number of basically identical jobs with minor changes between them).

After the jobs are selected, they are rejudged with a big time limit to determine the new execution times for each test. A new time limit is then computed that yields as close results to the original as possible.

This script should NOT be run on a live database as it changes scores for some jobs. The script is supposed to be run on a full copy of the database hosted somewhere else, and then the recomputed time limits should be imported into the live database.


  • 0
  • 4
  • 2
  • 6
Description From Last Updated
Savin  Tiberiu