[Warning for the casual reader, this is way long and a little bit technical.]
Jack,
Apologies in advance if some of this is redundant for you but I need to do the whole thing in order to make sure I do it right.
Accuracy -- Two pieces to this and they are both answers to the question: Accurate relative to what?
Relative to some "absolute" time. We typically treat Universal Coordinated Time (UTC), or what was originally called Greenwich Mean Time (GMT) as sort of the "absolute" time. Or more specifically, an atomic clock in the Greenwich Observatory, is considered to be "Zero" time, or as the military refers to it "Zulu".
If you need to sync to UTC, you need a signal that is traceable directly back to that atomic clock and without too many hops (latency) between. We typically do that by using less expensive atomic clocks that are placed nearer our location but which are constantly synchronized back to the master clock for UTC.
So, we can sync our PCs over the network to, say, Boulder, CO, in the US by using a program that knows how to use the network time protocol (NTP) to connect to an NTP server and sync up with it. If the sync program is a really good one it will try to get a good guess at network latency and factor in an adjustment for it.
Relative to another computer but independent of UTC. This seems like it would apply to your situation. You need two computers to be synchronized with each other to a high degree of accuracy. But it's not really important that they have any significant accuray relative to UTC. A few seconds or even a minute or two away from UTC are huge in the data synchronization world but for most practical purposes aren't a big deal for other stuff.
Pulse Per Second (PPS) - If you have a high accuracy timing device, like a Stratum One atomic clock, it can output a pulse every second on, say, a serial connection to the computer. There are two ways the computer can deal with this. The simplest, but least accurate is to read the timestamp message that follows over the serial connection nearest after the pulse is detected. This can be used by software on the computer to determine whether, and by how much, the internal clock has to be adjusted. Or alternatively, the pulse detection itself can be used directly by kernel level software to drive the timebase synchronization.
Naturally the next question is, If the pulses are coming only one per second, how can you get subsecond accuracy? Easy, Grasshopper. The pulses themselves are the accuracy. That is, the pulses are generated with huge accuracy, so by using them as the timebase for synchronization you can keep the computer sync'ed very tightly with the source of the PPS signal.
Also, you don't need to worry about the stability (drift) of the computer's internal clock because you are getting a fresh pulse every second. Even the crappiest crystal in the PC's internal clock can't drift enough to be significant in one second.
Consumer GPS signals. Consumer GPS receivers that are used primarily for navigation or geolocation functions are not designed to provide time synchronization. However, they can be used as a crude substitute in the field if one has the necessary software and is aware of the limits.
The data that is sent from the GPS receiver is a series of standard "sentences" that contain defined data. The data in those sentences are defined by the NMEA 0183 (National Marine Electronics Association standard 0183) or NMEA 2000.
The NMEA 0183 standard sentences allow the GPS receiver to send information related to Time & Date, Geographic Position - Latitude/Longitude, and individual satellite information. It's the Time & Date information that matters here.
The GPS satellites each contain three Stratum One cesium atomic clocks in them. These are highly stable clocks that were originally calibrated with UTC, so the signals that originate from them can be considered a good sync link back to UTC, and therefore a good source of synchronization on their own.
However, there are a few minor hitches in this that need to be understood. Latency is always the killer when trying to sync two or more devices together. That is, essentially, the time it takes for the signal to travel from sender to receiver. In the case of the extremely weak GPS signals, there are many things that will affect this. These are mainly related to atmospheric conditions from high in the atmosphere to anything affecting only local conditions.
If two devices are close enough together to be connected to the same GPS receiver, say via Bluetooth, it really won't matter because they'll be getting the same signal and by using it will be sync'ed as accurately as that signal will allow.
If they are too far apart to use the same GPS receiver but close enough together that they are affected by the same local atmospheric conditions, say, within a few miles of each other, it still won't be an issue as long as they use the same make/model of receiver and the same software.
If they are so far apart that they are being affected by significantly different atmospheric conditions, all may not be lost. Most GPS receivers support a protocol called WAAS (Wide Area Augmentation System). This is, to keep it really simple, a system of satellites and ground stations that are used to provide GPS signal corrections. These corrections account for GPS satellite orbital drift and clock drift plus signal delays caused by conditions in the atmosphere and ionosphere.
So, if our two GPS receivers that are far apart both have WAAS enabled they will still be pretty close, accuracy-wise, after the corrections are done.
Finally, we get to the question of whether a couple of consumer-grade GPS receivers will work for your purposes.
I think so. Here's why...
Just like PPS, most consumer-grade GPS receivers are sending updated data to the computer as a group of NMEA sentences once per second (1Hz). Indeed, some GPS receivers will send them out even more frequently, as many as five per second (5Hz). So, like PPS, the computer gets a fresh bit of information to sync with every second. And if the GPS signals is good and corrected fairly well, it will be fairly accurate, relative to UTC, and fairly stable.
If you have two computers using the same make and model GPS receiver of good quality with WAAS enabled and using the same software for keeping their clocks in sync, I think you should be able to keep them close enough for 30 frames per second with little difficulty and even 115fps shouldn't be a real problem.
Indeed, if you trigger the shooting sequence manually on each computer, you will have more of a time delta (offset) caused by when you start the shooting sequence on each computer than from any differences between the clocks. That is, if you do not trigger the shooting sequences at precisely the same instant on both computers, there will immediately be a small offset that will need to be corrected for.
I expect you will need some way to correct for any slight offset caused by operating procedutes anyway. If you can do that, correcting for any tiny differences between the clocks in the two computers will be trivial.
If you can't correct for procedure-induced differences, the issue of how tightly the computer clocks are locked together isn't very relevant.
On the other hand, if you can trigger the shooting sequences from software so that they will start at identical times on each computer, it will be possible to determine how tightly the computers are tied together by simply examining the timestamps in the first few frames.
I hope that all makes sense. I've tried to keep it simple without being patronizing, in case others may be interested.
I hope it's helpful.
How far apart will the two computers be: feet, meters, miles, continents?
Will your editing software allow you to adjust for a minor offset as long as it's consistent?
Could you share what you're up to without getting into trouble? The possibilities are interesting.
...ken...