BSD as a Desktop
Brett Taylor
Many times over the past few years I've heard a version of the following
comment.
"If you want a great server use BSD - if you want a desktop
machine, use Linux."
I believe this statement has a flaw. The BSDs certainly make excellent
servers, but I also believe that they make excellent desktop platforms.
I'd like to take a look at a specific part of the desktop market this
month because I'm a graduate student in physics and I have immediate
familiarity it: using one of the BSDs as a desktop machine in a scientific
area.
Here in my department there are at present two of us using FreeBSD as our
primary, and in my case, only desktop OS. The solar research group here
uses NetBSD as an OS for a number of machines in their cluster (they run a
variety of platforms in addition to NetBSD, using everything from Sun to
SGI machines). I will soon be setting up a set of older 486 machines as
X-terminals which will be served via NIS off of the department server,
which is also running FreeBSD. Clearly, the use of one of the BSDs,
either as a server or in a desktop environment, is seen as a good thing in
our department.
Let me start with myself as a case study. The majority of the research
for my PhD has been concerned with investigating quantum mechanical
effects on black holes. Due to the complexities of these effects, most of
this work is done numerically or analytically with the help of Mathematica
and the MathTensor package. In general, when working with the Einstein
equations in the spacetimes I work on, you typically end up with four
coupled second-order differential equations that have no closed analytic
solution. With the help of symmetries you can often get rid of two of
them, but you are still left with two nasty coupled differential
equations. This leaves numerical integration as your last hope for a
solution. My advisor has an older HP workstation from which I run
Mathematica (and due to the funding situation in general relativity, he
won't be getting a new one anytime soon). Mathematica can, of course, be
run on a FreeBSD machine by utilizing Linux emulation. Unfortunately, in
order to do the work I am doing, I would need the MathTensor package,
which has the incredibly "low" student price of approximately $600 US for
students; consequently, for these cases I am stuck with using the HP
workstation.
All of my numerical integration however is done on my personal machine.
I've found that my machine (a Pentium Pro 200) outperforms my advisor's
workstation on my numerical code by anywhere from 25 to 50 percent,
depending on the load conditions on each machine and the particular
routine I use. The time I save is a huge plus, especially because of the
large number of runs I perform with different initial conditions.
In addition to the numerical work I do, I also have to write research
papers, my thesis, and talks. In the relativity research community, the
use of LaTeX is commonly accepted. In fact, Physical Review D, the
journal in which a large portion of the relativity papers are published,
will waive page charges if a paper is submitted in LaTeX. The ability to
easily generate Postscript figures using tools such as gnuplot, xmgr, xfig
and the Gimp also greatly eases the difficulty in combining many disparate
pieces into one seamless presentation, whether that be for papers, talks,
or my soon-to-be thesis.
At this point, many of you are probably thinking, "But couldn't you do all
that with Linux, MacOS, or Windows?" The answer is "yes, of course."
However, the ease with which I can install software packages using the
ports/package system greatly increases the ease of setting up my machine
with the tools I need to work effectively. The ports/package system is
far easier for me than trying to use RPMs or other Linux packages that
I've tried. A former student here used MacOS primarily and was constantly
having to restart his computer after lockups or look for patches to make
his version of LaTeX work. Another former student used a Windows machine
as his desktop and was constantly having to restart it after getting one
of the ubiquitous Windows lockups or crashes. My machine only reboots if
we have a power outage or I have recompiled the entire operating system
and force a reboot. Clearly, the same great stability of the BSDs that
makes them great servers also makes them nice desktops. For me, using
FreeBSD to do my research is a clear advantage. Apparently my advisor is
starting to agree as he is seriously thinking about getting rid of the HP
and buying a very fast x86 machine to put FreeBSD on.
As I said earlier, the solar group here uses NetBSD (and FreeBSD on one
desktop and two laptops) to do their research. There are a number of
research areas in the group, but primarily they are looking at structures
in the corona of the Sun. To do this they use data taken from a number of
satellites. The satellites collect a huge amount of data, mostly in the
form of images, which the group analyzes using a package called IDL. As
with Mathematica, IDL is not natively available for any of the BSDs, but
it is available for Linux. With the ability to emulate Linux it is
possible to use IDL on the BSDs. Brian Handy found that, after his
initial installation of IDL, the IDL benchmark ran faster under emulation
on his FreeBSD machine than under Linux natively. The solar group also
finds BSD handy because, as in relativity research, the use of LaTeX with
Postscript figures is common in research publications.
For those of us in the scientific community the worst thing is having a
desktop system which is unreliable, difficult to use and maintain, or just
doesn't work as you expect. For these reasons the solar group and I have
found that using any one of the BSDs as a desktop machine is an excellent
choice.