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."
-Truth
I had a steady B+ in my AI class until I failed the Turing test...
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
who said they are going to reinvent the wheel?, porting kernel space stuff is not simple, and the common base between the *BSD is not that common anymore.
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.
FWIW: OpenBSD has its roots as a splice from NetBSD; both it and NetBSD very similar, but in some respects NetBSD has "modernised" itself more than OpenBSD, yet OpenBSD has focused on security (and spawned the OpenXYZ series
Compared to FreeBSD, they're different beasts: NetBSD and OpenBSD fit the niche of embedded products, AP's, firewalls, home gateways, etc - all very good nice (NetBSD's portability and OpenBSD's security). FreeBSD is enterprise class, you don't typically see it used for embedded products / etc, but more in hosting and server.
Compared to Linux: Linux strength is that does all of the above across the board (it fits everything) and has a better user/desktop experience, but it doesn't do as well as any in any of the individual niches above.
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..."
The test was biased. Discussion was held at http://www.deadly.org/article.php3?sid=20031019083 707 and (also on slashdot, but it didnt talk much about openbsd more about the whole test in general)
which is something i don't understand. why haven't they been able to incorporate other BSD code for SMP? i understand the GPL limitations, but BSD code doesn't have the same burden (forced gpl'ing, etc.). isn't that the whole point of open source?
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
SMP is so old a technique that almost all of it is so old that any patents have expired twenty years or more ago. The one exception in the Linux case is RCU, which is a scaling technique patented by IBM for which GPL use rights were granted but not I believe BSD use rights.
Bad SMP can be done in a couple of weeks by anyone, good SMP is a little harder and its nice to see OpenBSD joining in the game as SMP is now at the on processor level so it is becoming important.
While OpenBSD is rather public when it comes to dissention outside of their camp (licensing changes and so on), dissention within the OpenBSD camp is quite the opposite.
m mon/014_scarg.patch) which was a security patch. There's not much beyond that publically.
What can be seen publically is Niels' last commit (ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.1/co
Through the grapevine you might hear a little more, but that means probably knowing someone who is a developer or friend of one. Even then, my guess is not much was posted to hackers@ (the private developer mailing list) or icb. Obviously, something about the handling of this errata caused tension. Like any argument, points of contention were not resolved adequately on either side, and there was a rift.
From my perspecitve, it's a real loss for OpenBSD. Just look at most of the technical papers presented by OpenBSD developers, and you'll see that Niels was almost always a key contributor. Encrypted swap, great help with openssh, the first privsep work which is now practically OpenBSD religion, and much more were thanks to his contributions. Efforts of his such as systrace which came close to the rift, have subsequently suffered from atrophy in the OpenBSD tree since he's not there working on them and it's a real shame given the potential there.
Someone else mentioned Niels contributing some to NetBSD afterwards. I don't follow Net much, but from what I can gather, aside from some initial contributions, Niels didn't pursue that too heavily. It almost felt like more of a way to make some changes that would then get carried over by itojun or someone else over to OpenBSD.
2002 was quite a year for OpenBSD to be sure: openssh trojaning, allusions to breakins in the el8 zine, but I think Niels and a few others losing commit in August (some of whom got it back later) is probably the most profound and underreported drama. The vacancies left by the likes of provos no longer actively committing might not draw immediate attention, but there are long term consequences to a project which rose to notoriety on the shoulders of such prominent hackers, and which has such a small repository of developers as it is. Niels certainly isn't the only widely recognized person who helped garner OpenBSD street credit at one time or another but no longer commits (e.g. dugsong, obecian, joewee), but he was probably one the most public of such people in his promotion of OpenBSD in number of commits, technical achievements, and academic/conference papers and presentations.
One would hope that just as Theo changed his mind with respect to non-exec stack protections, and now seems to be garnering interest in SMP more aggressively - that he comes around with how it comes to treating his own developers. Or, that at least in this case, if such a thing were to occur - that Niels and other slighted like him would also be receptive to making amends.
"Without mistakes, there can be no forgiving. Without forgiving, there can be no love."
I think it's pretty fast, given that it's doing much more than most other systems. All that crypto and random goodness doesn't come for free. From "Practical Cryptography": "There are already enough fast, insecure systems. The world doesn't need another one."
Even on UP systems, it's still slower than almost everything else in key areas (disk performance being the big one).
Have you tested that with softupdates enabled? OpenBSD's default disk performance reminds me of FreeBSD's old performances before softupdates became a standard setting. It's another security-vs.-performance tradeoff: the BSDs mount their filesystems in synchronous mode and highly discourage using async, while most Linux systems use async by default.
Dewey, what part of this looks like authorities should be involved?
He had funding by darpa (US GOV) about a year ago, but due to his comments on the US Government(war on iraq bla bla us sucks bla bla) he lost it. I like Theo I really do, and maybe when he calms down and doesn't treat people like shit he'll get his funding.
Believe me, if I started murdering people, there would be none of you left.
It's tedious to recompile an entire operating system. That's why I don't like that "make world" is just about the only way to upgrade.
/etc, then you have the best reasons that say, a Debian box is easier to maintain.
:-P) But a BSD box is a little bit more annoying to keep up to date. (Yeah, it's probably worth it.)
If I hacked on the source tree of a BSD distribution, I'd find the build system very nice, the way it's organized. I'm a programmer too, so when I look at how the BSD systems are put together, I do appreciate that. But since I don't hack on the OS, and most of the time I'm just using it in a rather mundane fashion, the build system usually doesn't matter much to me, and I just want something that'll let me upgrade fast (binary packages), not something that will recompile the whole tree (make)
Add to that the fact that a BSD system will not automatically upgrade your
I like BSD a lot. I do. I think that pieces of it are worlds ahead of Linux. (No "make world" pun intended.
As I understand it, OpenBSD diverged from NetBSD before SMP was available for any nonproprietary BSD. The divergence in the codebases that has taken place since then makes it impossible to simply import much of another strain's implementation.
Maybe there will be some re-use of code (and ideas), but I suspect the OpenBSD team will be building this thing from the ground up.
GRsecurity is good stuff, but it won't necessarily prevent exploitation of a kernel bug (depending on the nature of the bug). Sometimes it'll help, but sometimes it won't. Unless somehow they manage to get Linus to approve grsec as the kernel security mechanism, but from what I understand, he wants to use something else instead (LIDS).