On Sep 30, 2008, at 11:37 AM, Robert G. Brown wrote:



However, I would think it would require a lot of work to get the
kernel(s) to respect a usec-synchronized clock, assuming that one could constrain the hardware so that it didn't generate too much random (e.g.
interrupt) noise on its own.

  rgb

--

I don 't think this is all that hard - once we got the cycle counters synchronized
here at SiCortex, the rest of Linux behaves fairly well.

The first trick is to get all the timer interrupts to happen at the same time. On our MIPS cores, this is easy by using an interrupt generated by a comparator against the cycle counter (architectural feature). I would hope there is something
similar in x86.

Once the timer interrupts are synchronized, pretty much all background tasks become syncronized. This even works for many device drivers that use the device interrupt to
schedule a tasklet or top half.

The next step is gang scheduling of kernel threads, so that all the, say, kswapd's system wide
chose the same timer tick to wake up.

The next step is gang scheduling of user threads, so that all the, say, cron daemons
wake up on the same timer tick.

Our experience is that just aligning the timer interrupts helps a lot.

-Larry


_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org
To change your subscription (digest mode or unsubscribe) visit 
http://www.beowulf.org/mailman/listinfo/beowulf

Reply via email to