Scoring Criteria
There were 5 input files used to test the code solution portion of the Radix Sort problem. The first had 94 keys that each started with a different printable character and contained text that made it easy to determine if the sorting was done correctly by visual inspection. This file was only used to determine if the executables could accept the file names from the command line and handle the range of characters to be found in keys. The other four input files contained 1 million, 10 million, 20 million, and 50 million keys. As long as the data was not altered in any way during input, the execution time for the sorting only was recorded and used to compute the execution time score for this problem. Output was checked via program due to the large size of the files.
A maximum of one minute was set for each input data file. For those runs that aborted or generated some other runtime error, this maximum runtime was entered. The total execution time of the four timed data sets was added together. This total was used to compute a score between 0 and 100 based on where the total fell between the minimum total and the maximum (240 seconds) in a linear fashion. (That is, if a total execution time was 60 seconds, the execution score would be around 75 points.)
There were 25 submissions of code solutions, 7 on Linux and 18 on Windows. There was one entry written in C#, one in Java, and the rest in C/C++. One entry using MPI was unable to be tested since we don’t have the facilities to handle this form of parallelism. The approaches used were split about 50-50 for using the MSD (Radix Exchange Sort) algorithm or the LSD (Straight Radix Sort) algorithm.
Point spread: 100 99 99 98 98 98 98 97 96 96 96 95 95 92 91 89 75 73 69 25 0 0 0 0 0
The write-up portion of each entry was read and scored by two judges. Each judge used the 10-30-10 breakdown of points for serial algorithm description, parallel algorithm description, and performance, respectively. One important component to the judging was to determine how close the submission was for publication on ISN. The assigned score was the average of the two judges scores.
Point spread: 49 47 46 45 44 41 38 37 36 33 32 32 31 29 27 27 18 11 2
Bonus points were given for contestant’s forum posts made before the problem entries were closed. Five points per post (maximum 25 points possible) were awarded.
The overall winner was denghui0815. The fastest code execution was submitted by emacswu; the highest scoring write-up submission was from calebe.
(Now that we have gotten through the first problem and worked through some of the bugs of the contest pages, we'll be able to execute the judging and scoring of future problems faster than we did for this one.)
--clay
|