Most synchronization applications involve using a signal from another device. For example, when performing Sample Clock synchronization, a device or set of devices use the Sample Clock from another device. Even for Reference Clock synchronization, where devices lock their onboard oscillators to a shared clock rather than use that clock directly, the synchronized devices use the Start Trigger from one of the devices.
The device that provides the signal is called the master device, and all other devices in the application that use that signal are called slave devices. Because the master device provides all the signals, it begins acquiring or generating samples immediately when the task starts. The slave devices, however, cannot acquire or generate data until receiving the signals from the master. Therefore, you must start any tasks on slave devices before starting the task on the master device. When you start the tasks on the slave devices, they wait for the signals from the master device. Then, when the task starts on the master device, that device emits the synchronized signals, ensuring all devices start acquiring or generating samples simultaneously. If you start the task on the master device before starting the tasks on slave devices, the master device will acquire or generate data for a non-deterministic amount of time before the tasks start on the slave devices. The application is not truly synchronized in such cases, and can result in errors.