Have you considered some sort of yield-management incentive, such as offering a higher grade to students who submit during less-busy periods? :P
Although I don't know anything about the handin server, or very much about load-balancing, just riffing: A simple round-robin HTTP proxy probably won't maximize processor utilization. Maybe that doesn't matter. If it matters, I might start with a single HTTP server that puts jobs in a queue, and let dedicated racket-process-per-cpu processes pull them out one by one. I might try just using the filesystem for the queue. Something like: Handin jobs are saved to files under a "to-do" dir. Workers claim jobs by renaming a files into an "underway" dir, one"), and later clean delete that and plop a result file into a "done" dir. The HTTP server watches that, sends the response. (You could instead use a "real" database, or even a whole messaging system. But this might be one of those cases where the filesystem is the least-worst choice.) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

