By Вen Li
Linux has developed a very special niche in the research environment both because of its roots in research and because of its openness. For Computer Science Professor Jeff Boyd, Linux has become an essential part of his computer vision research.
“The important thing about Linux as a research tool is that it is essentially a Unix derivative,” says Boyd. “Unix has been available for some time, and a lot of tools have been developed over the years that researchers can use.”
In fact, thousands of research tools have been developed for the various Unix platforms over the past 20-odd years including everything from geological data storage and analysis systems to distributedprotein-folding simulators. But for many years, the computer hardware required to run Unix was out of reach for many researchers, often costing a small fortune.
“You can buy a common garden-variety computer like this one–a Pentium II–and put Linux on it. Then you’ve got a Unix operating system and for a very small investment, you’ve got these years of research available on your desktop.”
Unix and Linux are not drastically different in terms of their capabilities, but Linux has a clear advantage in its cost (free) and its ability to run on off-the-shelf hardware.
“Linux actually gives you more bang for the buck. If I had some grant money, and I had to buy a Sun workstation to do my research, I would have to spend $5,000-10,000, and I get one work-station. If I use Linux, I can buy five PCs and several times as much computing hardware for the same $10,000.”
Dr. Boyd uses his Linux machines to develop algorithms to track the motion of objects as a part of his research.
“The computer identifies and extracts oscillations,” says Boyd as he waves his arm repeatedly in front of his computer-controlled camera. The computer, he claims, can tell how his arm is moving. “In identifying the oscillations and what the phase relationships and timing patterns are, we can identify the motion. Our legs swing opposite in phase, our arms swing in a certain way, our legs are what makes our gait look like a gait as opposed to hopping or skipping. Those timing relations are absolutely critical.”
A potential benefit of Boyd’s research may be the ability of cars to identify potential obstacles.
“You can imagine the system could identify the oscillation in the pedaling of a bicycle. If the car driver is not paying attention this might save a cyclist’s life,” says Boyd.
For researchers like Boyd who use a variety of inexpensive, off-the-shelf computer peripherals including video cameras and signal-capture devices, Linux can also have disadvantages.
“The development of device drivers [programs which allow the computer to communicate with peripherals] is a bit further ahead for the Windows machines. When manufacturers come out with a piece of hardware, they always make sure they support Windows because that’s where they’re going to make their money, and maybe later on, they support Linux.”
At the same time, the drivers that do exist for Linux are generally of higher quality and crash less frequently than their Windows counterparts.
“The advantage, especially in the type of work we do with these real-time problems, is that device drivers in Linux are dynamically loadable and they’re much more stable. Linux is much more robust and you can recover from program crashes quite easily. You save probably days in the development cycle.”
For other researchers, moving to Linux from older, slower, more expensive machines is an easy choice. Computer Science PhD student Pavol Federl thinks Linux is almost a necessity.
“In computer graphics we need fast machines,” says Federl.
“Really, the only other well-known alternative is very expensive machines from Silicon Graphics. We found that for a lot less money, we can get the same or even better performance with PCs running Linux.”
Federl is more than enthusiastic about Linux in the Computer Science Department’s Graphic’s Lab since he suggested its use in the lab two years ago in lieu of purchasing more SGIs. Federl and other PhD students use the Linux boxes to conduct research and work on porting (rewriting) vlab, a virtual laboratory environment designed to run on Unix, to Linux.
“I was so in love with it that I ported the core of vlab to Linux,” says Federl. “The rest of it will take a longer time but Linux is where it needs to be.”
That’s because researchers from around the world who model natural phenomena using vlab are moving to Linux from Unix. Therefore, vlab needed to be ported as well, according to Federl.
“We’re not the only ones who are switching from IRIX (SGI’s version of Unix) to Linux machines. A lot of botanists have found the same thing as we did: For the same amount of money, they can get a lot better machine.”
Federl points to his own work when he touts the advantages of Linux, but cautions it is not the best.
“I would say some things seem to run a million times faster on our Linux boxes. If you have to wait for a compilation that takes five minutes on an IRIX machine, and it takes two seconds or even ten seconds on the Linux machine, there’s no comparison. Putting it into numbers doesn’t give it justice. But you’re comparing two completely different platforms.”
According to Federl, PCs running Linux outperform other systems in certain respects because of a faster processor, but are slower at other tasks like manipulating large amounts of data.
Despite the existence of faster and more expensive machines, Federl has “loved” Linux for years.
“I don’t even remember how I found out about it. Somebody told me that there is this free operating system that you can run on a home PC. I had an old 486 and in my first year at university one of my TAs said, ‘You can do the assignments at home if you download a Unix system for your PC’ but I never heard of anything like that.
“To be honest, I don’t remember how I got the first distribution. I remember I didn’t even have access to the Internet when I got my first Linux installed. I think my TA might have given me the installation disks himself.
“I was very surprised that it never crashed. I could do whatever I wanted and I could just keep working, whereas Windows will crash on you. I was very impressed and ever since, I’ve been in love with it.”
A part of what made Federl and many other researchers embrace Linux and the software associated with it are the concepts of sharing and transparency of source code embedded in the Open Source movement.
“I think the idea is an excellent idea. It’s very important to me that if I have a [compiled] binary [program], I should have access to the source code as well,” says Federl, who notes that ideas and algorithms are more easily shared as source code than as binaries.
Dr. Boyd also embraces the idea of Open Source, although for slightly different reasons. In addition to facilitating his research, the GNU Public License and Linux allow him to teach his fourth-year computer vision course in a more interactive manner. He uses Octave, a GPL implementation of the commercially available MATLAB program, to demonstrate and teach algorithms related to computer vision.
“A proper MATLAB license, it would cost us thousands of dollars annually, with a limited number of students who can use it. If I use octave, it costs me nothing. I can have as many students as I want to use it, and the students can use it on their home computers. They can run it on whatever computers they want; it’s free,” says Boyd.
According to Boyd, students can test their understanding of lecture material by tweaking algorithms in class and at home to look for expected outcomes, which is superior to static overhead transparencies or non-interactive demon-strations.