Synchronization issues

Hi all,

I am currently trying to synchronize 3 beagleboard XMs. Basically one
of them (B1) is supposed to know the clock offsets to the other two.
The beagleboards exchange timestamps and after 2 broadcasts and one
additional message B1 has enough information to calculate the offsets
(RBS algorithm). My problem is the accuracy. Not only is the
synchronization error much larger then in the paper describing the
algorithm (however, the authors used the Imote2 nodes and not the
beagleboards), which I could live with, but it also seems to be
random, which is a problem. The sync error always comes as a multiple
of 30us - 0(perfect), 30(very good), 60(borderline ok), 90 and so on
up to more than 1000us. Hereby the majority(over 80%) of the values is
<60us. The problem are the outliers. This step behavior
(0,30,60,90,...) looks like some kind of time slot mechanism to me -
basically sometimes the packet gets processed right away sometimes I
have to wait for the next time slot and sometimes even longer. This
delay could be resulting from the nature of the USB ethernet port.
Since this is my first time working with the beagleboard and my
hardware knowledge is very limited I wanted to ask whether someone has
encountered the same problems. Does anyone have a better explanation
of the problem or maybe even a suggestion on how to solve it?