Juggling with light — using real-time Linux in molecular physiology
Jun 7, 2005 — by LinuxDevices Staff — from the LinuxDevices Archive — viewsForeword — This article describes how researchers at the University of Vermont used a real-time Linux operating system from FSMLabs to build a “laser trap” that manipulates individual molecules with a computer-controlled laser beam. The project illustrates how RTLinux separates time-critical and non-time-critical tasks, according to FSMLabs CEO Victor Yodaiken. Enjoy . . . !
Juggling with Light — An application of FSMLabs RTLinux in Molecular Physiology
by Victor Yodaiken
FSMLabs RTLinux is widely used in scientific research. In this project, University of Vermont researchers Dave Warshaw and Joe Patlak make use of one of the most basic features of RTCore — an interrupt-driven data acquisition routine that performs feedback control, takes commands from applications running on Linux, and passes data back to the non-real-time programs in user space. What is remarkable about Warshaw and Patlak's experiments, though, is that they use RTLinux to make laser light manipulate individual molecules.
“Juggling with Light,” an illustration of a laser trap by Dr. Neil Kad
(Click to enlarge)
Partitioning the application
The original insight that inspired RTLinux was that most code in “real-time” applications has nothing to do with real-time response, and that such “applications code” would execute more efficiently in a non-real-time environment. The laser control application illustrates this principle beautifully.
Graphical user interfaces, mouse driven operator interfaces, and data storage are all “vanilla” Linux applications. The laser control program, by contrast, is a relatively straightforward piece of code that collects positioning data and adjusts the laser. The simplicity of the design is a direct result of “divide and conquer” — instead of a complex real-time application juggling priorities among critical and non-critical threads, the real-time tasks are addressed by real-time components concerned only with control, and non-real-time components don't have to worry about timing at all.
More about the Experiment
A laser trap is a device that can catch a microscopic glass ball, and hold it suspended at the focus of the laser beam. Although these glass balls are only about a micron (one millionth of a meter) across, and the laser beam is focused with a microscope, such laser traps can still be quite useful.
The University of Vermont team is studying the mechanics of single myosin molecules — the proteins that cause movement and generate force in our muscles. They study them as single molecules to understand better their internal workings. The researchers span a gossamer of actin filament between two beads, then use this to attach to a myosin molecule. Each bead is held in its own laser trap, and the researchers create two or more traps from the same laser by rapidly moving the beam back and forth between the desired locations (timesharing, like one does to juggle two balls with one hand).
RTLinuxPro is used to control the laser beam positions, as well as to sample the output of measuring devices. At the core of the software is a kernel-side module that interrupts every 50 microsecond, samples new data, and timeshares the laser beam position. “If the computer failed to respond, for even a millisecond, then we would 'drop' the balls,” explained Warshaw, “but RTLinuxPro is rock solid.”
In some experiments all the rig needs to do is set the laser positions, and then record bead movement. In other experiments, researchers use the laser beam to apply minute forces to the beads and to the connected myosin molecule. For these latter “constant-force” experiments, they use their kernel module to produce an active feedback between bead position and laser beam position. All such feedback calculations are performed in real-time threads running with RTLinux.
In the user-space environment, the University of Vermont team also maintains the GUI infrastructure for the experiments. The data are displayed, and researchers can use the mouse or the keyboard to control laser beam, microscope stage, and experimental protocols.
“These experiments are helping us understand the internal dynamics of the myosin molecule, and how these dynamics can change when the molecule is affected by mutations,” commented Patlak. “Ultimately, we hope to apply these results to build an understanding of how altered myosin can lead to several forms of heart failure.”
About the author — Victor Yodaiken, CEO and Co-Founder of FSMLabs, came up with the basic RTLinux technology. Yodaiken began his career in 1983 as one of the chief developers of Auragen's distributed fault-tolerant UNIX, and he had an active consulting business before starting FSMLabs. He has also worked in academia, as a professor and department chair at New Mexico Tech, and as a research professor and port-doctoral fellow at the University of Massachussetts in Amherst. Currently he is an adjunct faculty member at the University of New Mexico. Yodaiken is a technical advisor to EMBLIX Japan, and is on the board of the Embedded Linux Consortium.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.