TimeStamps Out-of-Order and Data Loss Errors:
You May be the Unintentional Cause
Solutions for OS Deadlock during Recording Sessions
Microsoft Windows is NOT a real-time Operating System (OS)! And each new version since Windows NT (1998) becomes less real-time for various reasons, but primarily for security. A real-time OS will have deterministic response times to interrupts, system events and task scheduling.
Running your data acquisition and experiment control software while performing non-research computer activities creates a computing environment in which drivers and programs will not get service (CPU time) for an undetermined amount of time. “Behind the scenes” activities - from Internet security and virus detection, disk activity and display updates to Ethernet monitoring, and OS functions and maintenance - may “lock out” all other programs and drivers, even on a fast multiprocessor system. This is not a problem when you are performing “human-time” tasks such as web browsing, printing, Internet file transfers and email; if your word processor is “halted” for 50 milliseconds you won’t notice. However, in these same 50 milliseconds, Neuralynx’s Cheetah software will have processed 100,000 samples in a 64 channel configuration. So these “lock outs,” even for a duration of 50 milliseconds, will impact the integrity of your data acquisition.
Cheetah is designed for fast and efficient execution with large buffers to accommodate possible 50 millisecond “halt” situations like the above. However, in rare cases, even Cheetah can experience data delays and miss-ordering, or even losses in device driver data buffers if your non-acquisition programs are not segregated from your acquisition computer or turned off during recording and analysis sessions.
CPU usage for Cheetah is typically very low but it relies on smooth data flow. (Note: Video Tracking requires extra CPU usage because of the number of operations on all the pixels.) The computers recommended by Neuralynx to run Cheetah are fast enough in a normal Windows environment. How do you make sure the OS doesn’t become deadlocked waiting for non-acquisition programs? Minimize the number and activity of extra programs and services while Cheetah is running.
For the best, uninterrupted performance, avoid the following during experiment acquisition:
- Web browsing and all Internet-based activities, including email;
- Cloud Storage services such as Drop Box, Google Drive, Apple Cloud, etc;
- Word Processors, picture viewer and video players.
Also, if possible, reboot your computer before starting Cheetah, and unplug your system from the network during recording.
If Internet surfing or any of the above activities are necessary during your experiment, use your laptop or cell phone – that way you won’t block time critical acquisitions operations. If you want quality data, let Cheetah focus on acquisition and experiment control!