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.

Reply via email to