I am using a local NTP server and two power-pc SBC as clients. when I use ntpdate -u command, it synchronizes the time with the server with some offset and this holds good for both the SBC.

Now the problem arises when I want to see how syncronized is the time between two clients. For this I am using an interrupt method. I am feeding both the SBC with the same pulsees. On the falling edge an interrupt is genrated and after the interrupt I am printing the time using struct timeval. Now the time between both the SBC differ by almost 150 to 80 ms. The OS image on both the SBC is same. Please can anybody suggest
1) why this problem can be?
2) how to minimize this time difference? I want it to be in some micro seconds.
3) What exacty is the meaning of offset in ntpdate ?