Really efficient Unix multi-client idea

Seth D. Schoen (sigma@ishmael.nmh.northfield.ma.us)
Mon, 16 Jun 1997 23:27:58 -0400


Here's an idea which just came to me:

A certain "server" starts a large number of clients at once when a machine
is connected to the Internet. All of them but one receive a SIGSTOP. When
that one finishes, it receives a SIGSTOP and another client (previously
stopped) receives a SIGCONT. As each client finishes, it is stopped and
another (previously stopped) client is started and allowed to process its
block.

When the machine connects to the Internet again, all clients receive
a SIGCONT.

After a certain measured amount of time (to allow all clients to submit
their packets), all but one are stopped again, and the process continues.
Or, in a variation, all of them are killed, and we start back at the
very beginning by spawning a lot of clients.

For a user who can only dial up periodically (as once a day), this would
be very efficient, because as many clients as there was time for would each
process full-time and then save their results to submit later. Therefore,
almost the entire CPU idle time is utilized in between connections.

>From the keyserver's point of view, though, this might be very bad, because
the server would be asked to assign a large number of small blocks and
it would be axiomatic that some of them would certainly be wasted, since
superfluous clients would be maintained intentionally, and, if they never
got any CPU time, would be killed or else useless anyway since their blocks
would expire on the keyserver.

So this is an elaboration on my multiple-servers question earlier: is this
a bad thing to do? Does the load it places on the server rule it out as
a beneficial project, or is the server capable of taking on some more load,
even in deliberately wasteful assignments with the effect of keeping
intermittently connected people at 100% CPU utilization all the time?

-- 
Nothing is more dangerous for man's private morality than the habit of
commanding.  The best man, the most intelligent, disinterested, generous,
pure, will infallibly and always be spoiled at this trade.
            -- Mikhail A. Bakunin (thanks to Rabbi Albert Axelrad)