Hello organizing team,
To add to the list of issues participants are bringing up (and we are at day 4 of the contest when folks can't even see their scores and where they stand in the overall leaderboard!!), while you're working on ironing out the technical glitches, please ensure you test (functional/load - both) the portal on the following (these are the obvious ones that come to my end, I am sure there are more). Please treat these as constructive feedback - I know you all have been/are working hard on resolving the glitches to provide a streamlined experience to everyone and make the contest a fun filled learning experience:
Point # 1. Besides the functional aspects (that files, if there has been atleast one submission from a participant are indeed picked up for execution, in case there are failed executions, would suggest that error message are little bit descriptive - these will reduce so many support queries constantly raised on this forum when the participants themselves know for a fact that there is a mistake at their end). It would have been a much better user experience if the participants, once they have uploaded their code, could see the status on the portal right then and there (with the last upload timestamp, when was the last time the latest code was executed etc etc.), but I presume that's something that cannot be built in the near term when the contest is underway.
Point # 2. Please ensure that the latest code (if submitted before the prescribed timelines - a few hours before that match begins) and NOT any previous version of the code) is picked up for execution because I have a hunch (will be glad if proven wrong) that this can be the next broad category of system issues participants will begin reporting (issues such as "the portal shows 15 as the absolute error of the last match wherein if I run the same code on my local machine with my latest code (which ,by the way, has also been uploaded in time to the portal shows 25 as the absolute error").
Point # 3. The 20 second execution limit can be a problem going forward - how are you distinguising between these two very different cases?
Case a: The code was indeed executed for a full 20 second and it goes on and on and just do not finish within the allocated 20 seconds. The training step will be the longest (for sure). Then yes, there is a point in flagging those executions as genuine "time out" cases.
-versus-
Case b: The execution environment itself slows down (for whatever reasons - resource contentions/locks etc.) and could not finish in the allocated time even in the case, which otherwise, should have taken a mere 5 seconds (for example) had there been no issues in the execution environment.
Can the portal distinguish between the two? If no, then there will be a significant amount of time out cases which will have to be looked at on a case to case basis. If yes, then for case (b), (I'd say) there should be some automated retry built in. Another option (and I am just thinking out loud here) - can't the serialized version of the models be run (say, pickle files or other options that's available within the list of software versions that's allowed in the contest) - this should reduce the running time (significantly) on the portal side. As far as the actual training code goes (feature engineering plus training), that could be another method in the Model class (which is kept aside for manual review purposes) and not actually executed by the runtime? I know this is far from being an ideal option (you need to have the full code for a later review, not just the serialized model), but if that's the case, then system should have the ability to distiguish between a genuine time out (caused by the program) versus a 'false positive" timeout (caused not due to the code, but due to (intermittant) issues in the execution environment.