synchronizing sound cards in a cluster

Robert G. Brown rgb at
Thu Mar 13 14:50:05 PST 2003

On Thu, 13 Mar 2003, Jim Lux wrote:

> >you could use ntp to synchronize the systems I believe that with a little 
> >effort you can get ntp to sync the clocks on systems to sub milisecond times.
> As RGB suggested..
> >A much better solution would be to inject a signal into all the input 
> >streams that you can extract and sychronize to.
> Yes, one could put a timecode of some sort, but then you are perturbing the 
> signal you are recording.  Some signal processing might be able to remove 
> the timecode (after all, you know what it is, it's presumably fairly 
> stable).  In fact, this is an approach I am going to try, using audio IRIG 
> time code, but I was looking for a "clean recorded signal" approach.
> >Another possibility would be to connect all the serial ports on all the 
> >systems and use one of the modem control lines to inject a square wave 
> >that you use for synchronization.
> NTP does this...

On other thing that I forgot to mention is to beware systems calls.
They will generally screw LOTS of things up within any timing problem.

Remember, linux is basically not a RTOS (AFAIK) and the kernel can cut
into the dance at any moment to handle network packets, timer interrupts
(always) and more.  These can produce random delays in any timer code
that is being processed in userspace with real code.

I would guess that this also applies to things like serial ports.  Using
them for high resolution timing at the kernel level I would think would
be difficult and might require a specialized device driver.


Robert G. Brown	             
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb at

More information about the Beowulf mailing list