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."
It is official; Netcraft confirms: *BSD: it's (a)live!
One more crippling bombshell hit the already beleaguered *BSD is dying community when Slashdot confirmed that *BSD death trolls have dropped yet again, now down to less than a fraction of 1 percent of all troll posts. Coming on the heels of a recent troll survey which plainly states that trolls are running out of *BSD ammo, this news serves to reinforce what we've known all along. Slashdot trolls are trolling with new and better methods because trolling about BSD's falsely prophetic death is as obsolete and useless as GNU HURD.
You don't need to be Jesus to predict the Slashdot troll phenomena's future. The hand writing is on the wall: *BSD trolls face a bleak future. In fact there won't be any future at all for *BSD trolls because *BSD trolls are dying. Things are looking very bad for *BSD trolls. As many of us are already aware, *BSD has recently acquired several Live CDs. Red devil Live CDs multiply like fucking rabbits.
The reasons for the death of the *BSD troll are obvious. The creators of the *BSD troll post have lost 93% of their core developers due to casulties from the sudden and unpleasant battles between Trollcore and GNAA. There can no longer be any doubt: FreeBSD trolls are dying.
Let's keep to the facts and look at the numbers.
GNAA leader Anonymous Coward states that there are 700 active trolls on Slashdot. How many BSD death trolls are there? Let's see. The number of troll posts vs BSD death troll posts on Slashdot is roughly in ratio of 5 to 1. Therefore there are about 700/5 = 140 BSD death trolls. But half of those are just cheezy karma-whore spinoffs of the original troll. Therefore there are about 70 users of the real BSD death troll. These statistics, of course, reflect Slashdot before the war between Trollcore and GNAA. So we must assume that there are less than 70 people who actually believe that *BSD is still dying!
All major surveys show that *BSD trolls have steadily declined in humor level. *BSD trolls are very sick and their long term survival prospects are very dim. If *BSD trolls are to survive at all, they will be nothing but workers toiling in Slashdot trolling phenomena obscurity. *BSD death trolls continue to decay. Nothing short of a miracle could save them at this point in time. For all practical purposes, *BSD death trolls are dead.
Fact: *BSD: it's (a)live!
Let's hope IBM doesn't offer their developer time... ;0)
Yours Sincerely, Michael.
No, even the trolls are tired of "BSD is dying...".
can someone enlighten me as to why its taken so long to get support?
because you've been to lazy to do it?
-Truth
I had a steady B+ in my AI class until I failed the Turing test...
SMP is one of those technologies encumbered by various patents. As it is now, SCO claim to own most of the support for it, and it's one of the features embroiled in the SCO vs IBM case.
How they'll get around this, I don't know. It's good to see the coding and experience getting out there and used all the more however.
What next, SCO sues OpenBSD for having a feature that Linux has?
It's BSD-compatible, AND ALREADY HAS SMP! By the power of Jordan Hubbard, I COMPEL YOU!!
oops. Because OpenBSD is focused on security. This means they don't compromise by spreading development effort that could be best spent on making the OS more secure.
-Truth
I had a steady B+ in my AI class until I failed the Turing test...
I can use NetBSD, FreeBSD or Linux -- all of which have SMP capabilities to varying degrees ... so, why do I want to give Theo $ for something he could probably port --instead of hiring a programmer to putz around with reinventing the wheel?
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
Whoever is coding this must be *REALLY* good. I remember Theo saying that SMP had too many opportunities for race conditions....
"Weapons should be hardy rather than decorative" - Miyamoto Musashi
I think that goes for OS's too
Of course you guys realize the mission of OBSD is not tossing in every feature you can think of trying to keep up with the Gates', its something else altogether, thankfully.
try { do() || do_not(); } catch (JediException err) { yoda(err); }
so we rarely get to play around with other os's
Does your boss make you live at work? Go home and play around with other systems there!
Don't blame me, I didn't vote for either of them!
This is not just "porting" like a device driver.
SMP touches every aspect of the kernel (scheduling, VM, VFS, etc.). Each OS is different internally and so you can't just rip code out of one and put it into another. It's not simply copying over a sub-directory and changing a couple of kernel system calls.
You have to pour over a lot of the files and make all the data structures are written to and read from correctly.
There's also more than one way to do SMP so how do you know whether he's "reinventing the wheel", or coming up with a novel approach?
"*BSD is trying"
I'd say no. It's generally considered harder to secure an existing system than it is to keep a system secure and add features to it. I saw a quote from Bruce Schneier recently to that effect, I think from his "Secrets and Lies" book.
Essentially, good security relies on good architecture. Once you have an architecture from existing features, it may not be reasonable to make it secure because it may be architected for different goals.
Complexity is Easy. Simplicity is Hard.
--------
Create a WAP server
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.
Too bad de Raadt looked a gift horse in the mouth and blew it with that NSA grant.
OpenBSD's top priority is security. For SMP that means two things:
1. All potential security-relevant race conditions must be handled. A single processor system can never do two things at exactly the same time. A dual processor one can. OpenBSD wouldn't be OpenBSD if that would be allowed to affect the system's integrity.
2. Given the choice of an small project, that increases security, and a big one that probably will lower it, Theo will choose the one that increases security. Dual-processors are not a major concern to OpenBSD's core users, so support can wait until other things get done.
'Sensible' is a curse word.
No this isn't a troll, I used Free and OpenBSD's; but why do we need this.
I still haven't found a necessity for SMP OpenBSD yet, if I need a box to run X or anything else that would work the CPUs, i'd choose FreeBSD, just for the package system.
What's really lagging in OpenBSD is an easy to use port/package system; SMP is long down the line.
Anybody that uses OpenBSD like I do, please tell me why we need OpenBSD, I use it for security, not for dual/quad/etc processor servers.
Error 407 - No creative sig found
As you may know, OpenBSD focuses on security. SMP support brings new concerns on this field.
The best way to predict the future is to invent it
BTW, is an 'SX' OK?
And if you thought that was boring you obviously havn't read my Journal ;-)
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..."
FreeBSD is the clear technological leader in the BSD family, and it's little wonder Apple built upon it. OpenBSD's "space" is less about areas where SMP is necessary (i.e. because FreeBSD is typically enterprise class web host / etc; yet OpenBSD and NetBSD are typically more compact uses - embedded products, etc).
What this news really says is more about the overall state of the BSD family: OpenBSD finally hitting the rungs.
At least with the BSDs in general and OpenBSD specifically, I don't have to run out and add a security patch every couple days.
Some of us actually use opensource and "compile" the binaries on our systems rather than relying on vendors and strangers to give us RPMs and the like.
(okay, that's not fair. I'm using NetBSD's pkgsrc on Linux (and solaris (and OS X (and Netbsd)))).
But really, why are you guys so afraid of source?
Or am I mistaken? Is the O.P. referring to what so many of the /. folks use: Windows? In which case I'll just note that a DL380 with 2 CPUs @ 3GHz running Windows is almost as fast as my 1 CPU Athlon/1500 running a Unix.
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.
OpenBSD is hardly the leader of the pack as far as performance goes. Even on UP systems, it's still slower than almost everything else in key areas (disk performance being the big one). When it has SMP support, it will initially use one big mutex to lock the kernel, and will not initially be optimized for anything weird (Hyperthreading, NUMA). Sure it's my favorite OS. But not for everything.
When someone might yell at me, it has to be OpenBSD.
Bah, those are just reliability fixes. One isn't a big deal unless you use IPSec I believe and not a remote hole. The other can be a nuisance either way, but it's *not* a remote hole. Keyword being hole here. I'm more worried about vulnerabilities that allow to execute code or unauthorized access.
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.
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?
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.
SMP isn't just a bit of software that you can port from one OS to another. It touches just about every kernel internal and changes many assumptions on the way. That being said, the approach to implement SMP in OpenBSD (and some code) is being derived from NetBSD.
However, I'd have to disagree with FreeBSD being the technological leader of the bunch. It's an excellent system, and is the most widely used/commercially supported of the three (or six, with ekko, DFly, and Darwin). However, I see NetBSD being much more advanced for a few reasons:
- It's more clean. ``It isn't done unless it's done right.'' As a result, it's much easier to extend (new drivers, new archetectures,
...)
- It is the first free unix-ish system to have many new features, like USB, IPV6, and crossbuilding support (ROCK is the only other one I can think of that has this) just to name a few.
- As a result of #1, it can serve as an excellent resource (a reference platform or nice collection of example code to stare at when you're bored).
- It's small, but generally highly scalable
...
I thought the very same way as most users at one time. I used to be a devout FreeBSD user. After buying a bit of HD space (bit=320GB), I decided to take on the multiboot challenge. I installed a total of thirteen different unixes (no windoze), telling myself to create the *exact* same environment on each. I decided to give NetBSD an OK-sized 10GB partition. The next day I swapped the 60G I gave to Slackware with it. It was faster and seemed, generally, a whole lot cooler. Within a week, I had a nice, stable NetBSD-current system up and running and found myself not being able to reboot to finish installing Solaris, OpenBSD, and Gentoo!The point is this: NetBSD is the `forgotten' unix in many ways, and I, for one, find that sad. I think all the BSDs, along with Linux, will be around for some time. NetBSD, though, is simply the bliss that I, too, nearly overlooked.
Qualify that: FreeBSD has had "mergemaster", which semi-automatically upgrades your /etc (and even walks you through merging changes) for a long time. I'm not sure with Open and Net haven't imported it yet, or at least hadn't when I last looked, but at least one BSD currently enjoys easy /etc upgrades.
Dewey, what part of this looks like authorities should be involved?
All that crypto and random goodness doesn't come for free.
True enough, but with a ~US$90[0] Soekris crypto accelerator it's damn close
[0]- when I bought mine in mid 2002
Trolling is a art,
To say "*BSD", you make it sound like this effort is new to BSD operating systems in general, as opposed to just OpenBSD. Of course, as others have pointed out, other BSD variants already support SMP. OS X, FreeBSD and Tru64 are good examples.
:)
While I agree that it's a little "laggy" of OpenBSD to be finally getting around to adding SMP support, I would also concur with others who suggest that the general application of OpenBSD doesn't often require multiple processors. As a result, SMP support hasn't seemed to be a really been a big priority, and the more direct concentration on security has really paid off for them. That said, SMP support will certainly make OpenBSD more attractive in places where it wouldn't have been previously considered (larger scale databases, for example), so this is obviously a good thing.
As for the concept of BSD setting the standards for other operating systems to follow, I would partially disagree - yet partially agree.
It's not that BSD isn't innovating, but it's more that all operating systems, including (*gulp* am ducking already *gulp*) Windows are pushing forwarding in different areas. The sum knowledge and progress from all operating system projects is helping to improve every other operating system in turn, and on it goes.
Despite the overall (IMO) cruddyness of Windows, Microsoft has done some things worth learning from. As has Apple, Sun, DEC (err, Compaq, err, HP) and IBM.
bash-3.00$ uname -a
SunOS panda 5.10 Generic sun4u sparc SUNW,Ultra-2