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 racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to