synchronizing sound cards in a cluster

Jim Lux James.P.Lux at
Thu Mar 13 13:32:56 PST 2003

At 03:41 PM 3/13/2003 -0500, alvin wrote:
>Jim Lux wrote:
>>Anybody have any good ideas on how to synchronize the sampling from 
>>multiple sound cards in a cluster using Ethernet as the interconnect. The 
>>application would grab data from the sound card (notionally at 100 
>>ksamples/second total, for two channels) and do a ton of signal 
>>processing.  At some point in the processing, the streams of data need to 
>>be shared between processors (i.e. to do beamforming), and so, needs to 
>>be time registered.
>>The bandwidth isn't a real challenge here (with, say, 16 processors, 
>>that's only about 32 Mbps total), nor is latency, but synchronization is.
>>One can fairly easily synchronize to a millisecond over Ethernet, but 
>>this application needs sync to, at worst, 1 sample time (20 microseconds) 
>>although order of a microsecond would be nice.
>>James Lux, P.E.
>>Spacecraft Telecommunications Section
>>Jet Propulsion Laboratory, Mail Stop 161-213
>>4800 Oak Grove Drive
>>Pasadena CA 91109
>>tel: (818)354-2075
>>fax: (818)393-6875
>>Beowulf mailing list, Beowulf at
>>To change your subscription (digest mode or unsubscribe) visit 
>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...

James Lux, P.E.
Spacecraft Telecommunications Section
Jet Propulsion Laboratory, Mail Stop 161-213
4800 Oak Grove Drive
Pasadena CA 91109
tel: (818)354-2075
fax: (818)393-6875

More information about the Beowulf mailing list