SMP On OpenBSD, Coming Soon
Lord of the OpenBSD writes "At long last, SMP development on OpenBSD looks to be gearing up. One person is now doing full-time funded development on SMP. Project leader Theo de Raadt is now asking for funding for a second developer. Theo has announced that SMP support for i386 is planned for the OpenBSD 3.6 or 3.7 release, the first of which is due in 8 months."
I played around with obsd a few years ago, and I liked how small and tight the system is. At one point I even setup an obsd web server, but the thing kept crashing. Never did find out if it was softare or hardware related (it was located offshore and nobody in the vincinity could troubleshoot it effectively). Other than that, I really liked the OS. The man pages are absolutely top-notch, unlike some of the Linux man pages (in Debian, lots of man pages say stuff like: "this page is a placeholder; there is no documentation" or refer you to the GNU info docs). I also like the firewall more than iptables, which was really confusing at first. /etc, and having to figure out which files were added or deleted since the last version. Lots of room for error, there. Compared to Debian, which can be upgraded by only typing two commands, it's just no fun. Especially if you're trying to upgrade a server that's thousands of miles away, and can't afford to fuck up.
Anyway, the main thing that bugs me about obsd is that it uses the ports system. It does the job and all, but when it comes time to upgrade your OS, it's a real PITA. I remember having to manually edit files in
OpenBSD does not have a good track record of major architecture improvements. For example, in the wake of the PR FreeBSD got for John Dyson's VM work, OpenBSD adopted Chuck Cranor's UVM system, integrating it into the last of the 2.x releases. Cranor is a very smart guy, but OpenBSD's stewardship of Cranor's code has been pretty awful --- lockups, panics, and various other problems remain in evidence, each answered with de Raadt's "UVM was just a research project from Cranor, it's not our fault" excuse.
FreeBSD has years worth of head-start on OpenBSD in SMP right now, and a much larger (and more experienced) core team. In addition, FreeBSD has corporate sponsorship (from Juniper and Apple, to name two). Despite these major advantages, FreeBSD SMP remains a work in progress.
de Raadt has had a religious perspective on SMP ("most modern applications aren't compute-bound! SMP is not the way to scale large applications, lots of individual machines are!") for almost a decade. What evidence do we have that he has seriously changed his mind? This seems like more of a desperation move, trying to ensure that OpenBSD doesn't fall behind NetBSD to become the least-used open source operating system available.
I predict years of instability and excuses.
Unfortunately, not all ideas are created equal, or should be treated equally. Some are better than others. Some bad ideas repeat over and over and over again, over a course of years and it's not unknown for a project head to get testy about them after awhile.
Especially since it's actually pretty rare for someone outside to come up with an idea that the people who work with the code all the time haven't actually already thought of.
Some ideas aren't bad, they just have to wait their turn in line and their priority may be low within the parameters of the project.
For instance, in Racer, a project overtly aimed at providing the best physics engine for driving sims, there is fairly constant call from the modelers, who don't contribute any code, to impliment opening doors and working horns.
While the core physics is yet incomplete.
Opening doors and working horns will come in time, and has been stipulated, when they make it to the top of the priority list. Right now nailing the tire and drive train model is far more important.
As a project head it's all too easy to become a code monkey for everyone with an idea. That isn't the role of a project head. His role is to decide what does and does not belong in the code base, and when it's important for what does belong in the code base to get implimented.
I'd don't know OBSD or Theo, but I do know some of the problems encountered in open collaborative works, or works that are essentially the project of a few, but that take place in fairly public view so the public tends to the think of them as open collaborative works when they are not.
This isn't just a problem in software projects. As a physicist I have spent many, many hours trying to explain to people why their idea for a magnetic perpetual motion machine just won't work. I have to spend these hours because these people haven't taken the trouble to gain a simple high school understanding of physics.
Now, as it happens I make part of my living tutoring basic scientific philosophy and physics. If these people wish to enroll and learn, fine, that's my "job."
But if all they want to do is argue with you, ad infinitum, in swarms, sooner or later you start to reach for the fly swatter and just bat them all away.
Not because you have anything against them, per se. Because life is short.
KFG
I'm a long-time OpenBSDer (I'm even way up near the beginning on their donations page, which is as close as I'll get to being cool -- it's far more important than a low Slashdot UID, which I also have, as you can see), and I remember Theo mentioning a couple years ago that he was thinking (at the time, anyway) about having the second processor do nothing but crypto.
What's his plan now? Just typical SMP, I'd guess -- but I thought his other idea was cooler. On-the-fly encoding and decoding and hiding of jpegs from wives and whatnot. Very useful to... ahem... some of us. Not me of course.
Just wondering about the current prospects for something to keep my uh.. important financial documents... from, uh... the government? Yeah, the government, that's it.
I'm not normally an irrational zealous dickhead, but I figure "When in Rome..."