SMP Now In OpenBSD HEAD 194
A number of people dropped e-mails this morning saying that OpenBSD has now got SMP, according to a post from Niklas Hallqvist.
"Conversion, fastidious Goddess, loves blood better than brick, and feasts most subtly on the human will." -- Virginia Woolf, "Mrs. Dalloway"
Hooray! (Score:3, Funny)
Just kidding, mods don't hurt me
Re:Hooray! (Score:4, Funny)
Depending on the implementation, it could only be 1.5 times the original speed. In certain special cases, a good implementation might be able to make it die at 2.1 times the speed or greater.
Re:Hooray! (Score:1, Funny)
userland and config scripts (Score:3, Interesting)
It would be interesting if it scales well so that it really makes sense to use it. The trend goes to some "double core" CPUs, too...
Re:userland and config scripts (Score:2)
OpenBSD has both a kernel and a userland and this series of merges from the SMP branch (the final one happening this morning) included everything needed to have working SMP. To my knowledge the SMP changes didn't change any user-visible APIs or data structures, so I'm not even seeing why anything in userland would need to be changed.
Uh oh, here comes SCO! (Score:5, Funny)
Oh man. I just give up.
SMP defined (Score:2, Informative)
Faulty Assumption? (Score:5, Insightful)
They really need to stop assuming everyone who reads /. knows it all.
They don't assume you know it all. They do assume you are smart enough to do some research and find info on stuff you don't understand.
How hard is it to google "SMP"?
SteveM
yayy (Score:1)
Re:yayy (Score:2)
Wave of the future (Score:1)
Dispel my ignorence please.
Does windows have SMP/NUMA support yet?
Is it economically more feasable to build a multi- (not so great)processor machine rather than a powerful single CPU?
Thanking (kissing upto) you in advance for the answers.
Re: (Score:3, Informative)
Re:Wave of the future (Score:3, Informative)
Windows NT has always had SMP support (I think, I haven't used the 3.x series). The workstation version supports 1-2 CPUs, the server ones support more, although they are limited to 16 (I think. Maybe 32. Too lazy to check) due to a the size of the processor table (see Tanenbaum's Modern Operating Systems for more information) Is it economically more feasable to build a multi- (not so great)processor machine rather than a powerful single CPU?
More or less. Top o
Re:Wave of the future (Score:2)
yes, Windows NT has had SMP support since 1988, when NT development began. NT also had an O(1) process scheduler since 1988, but Linux likes to accept credit for this "invention" 15 years later..
Re:Wave of the future (Score:2)
For over a decade now.
Is it economically more feasable to build a multi- (not so great)processor machine rather than a powerful single CPU?
Depends on your objectives and restraints.
Great news (Score:3, Interesting)
(Why? Because many typical DoS attacks work on the basis of a single process hogging the CPU. If you have two, a system administrator can log in and kill the process. If you have one, that system administrator will find it more difficult to do so. It's not a cure-all, but it helps.)
In all, excellent news. Thanks to everyone who made this possible, regardless of whether you just coded, or you campaigned for support for the OpenBSD project.
Re:Great news (Score:2)
Why? Simple. It's a new avenue for bugs and exploits because it makes race conditions more likely to occur. Remember, OpenBSD has a reputation to uphold.
Re:Great news (Score:2)
Well then, why not have a 128 processor system, so when 127 processes are tying up a processor a piece, you can still log-in and kill them...
SMP should not be used as an alternative to failover, and not as a half-assed fix for DoS issues.
Got
Not so fast... (Score:4, Interesting)
The initiative to ADD SMP to OpenBSD (and the announcement that "a full time developer was working on it") occurred less than 4 months ago [slashdot.org]. It took FreeBSD years to get SMP "right", during an adolesence where stability seriously suffered.
Neither NetBSD nor OpenBSD have a significant fraction of the user base of FreeBSD (and an infinitessimal share compared to Linux), and neither NetBSD nor OpenBSD have comparably-sized development teams. FreeBSD SMP had antecedants to build on as well. So logic dictates that it should take longer for OpenBSD SMP to be "ready".
OpenBSD went through a comparable architecture change when they swapped virtual memory systems a few years ago, and several subsequent major releases of OpenBSD had serious VM stability problems (many of them synchronization issues). SMP is even harder (and more of it involves synchronization).
So, is there some mitigating factor here that would convince anyone who was paying attention to deploy a mission-critical system on SMP OpenBSD in 2004?
Re:Not so fast... (Score:2, Informative)
Since OpenBSD SMP support is mostly NetBSD's plus code style changes, I'd say it only took 4 months to import what was started 3 or 4 years ago by Bill Studenmund for NetBSD.
Credit where it's due.
Re:Not so fast... (Score:4, Informative)
Oh, and I forgot, removal of all ACPI code, too.
That means OpenBSD won't work with MP computers that have a broken MPBIOS or simply require MPACPI (like most, if not all, HyperThreading processors do).
Re:Not so fast... (Score:2)
If you'd read more of the archives linked from the article you would have seens that they are working on it at the Hack-a-thon.
Also as I'm sure you know, most of the work in implementing an SMP system is not in writing lock.c but in going through the entire OS code (which for Open looks only kinda-sorta like Net at this point) and using the lock and de
Re:Not so fast... (Score:2, Informative)
Re:Not so fast... (Score:2)
NetBSD nor OpenBSD have comparably-sized development teams [compared to Linux]
That's not as accurate as you might think. If you look at Linux kernel development, there is a core of really talented developers who work on the guts - the VM system, VFS, threading, etc. Most other people only poke away at the edges, driver writing for instance. If you compare the number of core developers working on Linux and the NetBSD kernel, a similar number of names crop up with regularity on the relevant mailing lists.
Re:Not so fast... (Score:3, Insightful)
I was using OpenBSD at the time, and never had the problems myself. I wasn't following the mailing lists, so I didn't even know there were serious problems.
Yes.
soekris (Score:5, Insightful)
Read the soekris [soekris.com] website, it puts it nicely:
FreeBSD The most powerful x86 open source Unix OpenBSD The most secure open source Unix available NetBSD The most portable open source Unix available Linux The most popular open source Unix
OpenBSD needs SMP (Score:2, Insightful)
Not happy with features (Score:2)
Of the BSDs, OpenBSD has been the most BSD of them all. FreeBSD is itself a bit of a Linux, slackware to be precise. It has enough 'features' to be usable on most hardware, highly ported, yet strong and reliable too. OpenBSD however has been the simplest, aiming
my HEAD multi-tasks too (Score:2)
Re: (Score:1, Interesting)
Re:No SMP? Huh? (Score:3, Interesting)
Can anyone "in the know" shed some light about the qualities of the OpenBSD code? How does OpenBSD's SMP model compare to fine-grained locking, such as in FreeBSD-CURRENT?
When I see how much effort and trouble has gone and is going into locking down the FreeBSD kernel, I am guessing that OpenBSD's SMP support will be fairly primitive to start with. Or are there heavy ports from FreeBSD?
Re:No SMP? Huh? (Score:3, Informative)
Right now I think most of the kernel is under big lock. SMP is currenly on target for a stable release in OpenBSD 3.6 (Nov 1, 2004). I suspect that by 3.7 (May 1, 2005) big lock will have been pushed down into at least the major subsystems.
It may happen even before then, the Calgary hack-a-thon is comming up and SMP is a major focus. Mostly they are working on bug fixes but I wouldn't be surprised to see a bunch of SMP improvments come out of that.
Re:No SMP? Huh? (Score:2)
Re:No SMP? Huh? (Score:4, Informative)
Re:No SMP? Huh? (Score:2)
Re:No SMP? Huh? (Score:3, Informative)
Do any of the other BSDs lack SMP support in this day and age?
NetBSD has had SMP support for some time, and it is now working on a number of platforms (sparc, i386, etc). It's largely been the work of Bill Studenmund, and also formed the basis of OpenBSD's SMP support. This kind of sharing is quite common amongst the BSD's, especially Open and Net.
Chris
Re:No SMP? Huh? (Score:2)
I won't take it over from OpenBSD, either.
There are various reasons for this decision,
for example "either correctly or not",
security and "doing it would mean a rewrite of
90% of the non-driver code (and a good bunch
of driver code), and that won't be real BSD
any more".
Re:No SMP? Huh? (Score:4, Informative)
Comment removed (Score:5, Informative)
Re:No SMP? Huh? (Score:3, Informative)
Re:No SMP? Huh? (Score:3)
Reply says: I wanted to post this link to back up his claim.
You: I will refute you by proving your point.
Everyone from the AC down the thread was saying that FreeBSD 4.0 had SMP.;)
Re:No SMP? Huh? (Score:1, Interesting)
Re:No SMP? Huh? (Score:3, Informative)
/Mikael
Re:No SMP? Huh? (Score:2)
The inefficiency in the SMP in FreeBSD 5 is due to the fact that all of the kernel uses a single mutex (referred to as giant), so no two processes can be executing system calls at the same time. If you have a process that is doing something outside of a system call then
Re:No SMP? Huh? (Score:2)
The first line of the second paragraph should read: ...
The inefficiency in the SMP in FreeBSD 4 is due to the fact that
Re:No SMP? Huh? (Score:2)
Re:No SMP? Huh? (Score:2)
Re:No SMP? Huh? (Score:2, Informative)
Re:No SMP? Huh? (Score:3, Informative)
Re:No SMP? Huh? (Score:2)
4,X SMP is not the best performer out there, because the locking is not very fine grained, but it works.
Re:No SMP? Huh? (Score:5, Insightful)
Re:No SMP? Huh? (Score:2, Interesting)
OpenBSD may be the safest web server around. But without SMP it doesn't suit the servers needing the most protection, does it? Nearly every "serious" web server is SMP - at least in corporations, or am I wrong?
Having said that, it would be interesting how long it will be till SMP is considered a safe and stable feature in OpenBSD (else it would not be worthwhile, according to your comment - and I guess I agree there)?
Get informed plix... (Score:5, Informative)
I've been aware of OpenBSDs lack of SMP since 2000 when I installed it on a double PentiumPro 180 Mhz. I Thought it was weird it didn't have SMP since Linux and FreeBSD had it but after some reading I accepted the desision.
I guess the OpenBSD guys went for SMP considering the double core desktop processors gaining more ground. Am I correct?
Cheers...
Re:Get informed plix... (Score:2)
The implementation of SMP is likely not based on the dual-core processor thing but just the fact that SMP systems are so cheap now. You can pick up dual P2 systems used for a song now,
Re:Get informed plix... (Score:4, Informative)
Theo may be a hard headed son of a bitch but he takes care of buisness and is not swayed by popular opinion. This is not a sudden development, there were articles a year ago about how the OpenBSD team was looking for a full time programmer to work on SMP.
This has been planned, and when OpenBSD executes a plan they execute it well.
Re:Get informed plix... (Score:2)
Thank you for commenting instead of modding. I far prefer comments to moderation.
Re:Can't BSD people be polite in subject lines? (Score:2, Interesting)
For me OpenBSD has been a OS where I've been willing to give up performance for security. This is no major problem considering that todays (and even yesterdays) computers are extremely efficient if you don't shove a lot of fancy graphics down their throat. My fw at home was 486sx25 and got substituted by a P100 only because the P100 was far more silent. (oh, and it runs FreeSCO [freesco.net])
Speaking of performance, I
Re:No SMP? Huh? (Score:2, Interesting)
With 2x cpus, when a server gets bogged, it's gonna quickly hit a ceiling if you keep adding processors. Besides, unless you're doing huge engineering apps in real time, a webserver really only needs fast I/O and more memory to grow.
I tend to think it's because of Theo, not everyone gets along with him, if
Re:No SMP? Huh? (Score:3, Insightful)
At any rate, if your goal is to handle lots and lots of relatively independent queries, then yeah, large clusters of relatively small machines do a very good job.
Re:No SMP? Huh? (Score:3, Interesting)
While that may be true in your case, I disagree for the general case.
When rack space costs you money, a dual-CPU 1 RU box cannot be beat for web-serving efficiency, especially if you serve any volume of dynamic content. For my $day_job, dual-CPU boxes can serve almost exactly 200% of the traffic of a single CPU box, and cost us no more in rack space or network port
Re:No SMP? Huh? (Score:2, Interesting)
You might actually be one of the very few people who find that (double the cpu=double the power), but that's not very common for most web sites. Most of the time, dual cpus do not mean twice the power. I'd venture to guess that you might see 1.25 or 1.30x the power.
I intended my main point to be that web serving relies mor
Re:No SMP? Huh? (Score:2)
While I like Linux and use it in some situations, I can tell you for sure that most distributions are far from competing with OpenBSD in terms of safety. You are right in saying that OpenBSD has a lot less resources than Linux, but they use their resources in a far more focused way.
Re:No SMP? Huh? (Score:2)
It's not really the fault of any individual team. They're going to write their code on Linux distribution X, and test it there, and if you're lucky they'll run less grueling tests elsewhere. Ultimately you'll get to the distribution level where you'd hope everything gets tested once an
Re:No SMP? Huh? (Score:2)
SMP opens up huge security implications, it has absolutely everything to do with "different set of priorities then Linux".
OpenBSD has a better security track record than Linux, with those numerous Linux developers and manages to deliver it wi
Multiple Niches (Score:5, Insightful)
The point? Niches -- there are a bunch of them. Although I'm a loyal Linux user, I love the OpenBSD project. It contributes a great deal of useful software and bugfixes that help the whole community.
Re:No SMP? Huh? (Score:2, Informative)
You've got to be kidding: "SMP technology" proved its worth decades ago.
OpenBSD philosophy is to do it and do it well make absolutely sure that it is secure.
By itself, a concern over security does not mean that you have long time-to-market for a product. It is possible to implement secure software systems rapidly, but you have to give up on other things (like, for example, an insistence on manual storage management and raw pointer manip
Re:No SMP? Huh? (Score:2)
Yet it only became popular in the last decade. Remember, Sun was a *workstation* company before the mid-1990s. The big-ass UNIX servers we see today really are a fairly recent development--before them were the mainframes. I think it is fair to say that SMP really is only recently proven, regardless of how long various implementations existed.
Re:No SMP? Huh? (Score:2)
Mainframes had symmetric multiprocessing going back to the 1960's (!).
And "popularity" is not a useful concept for measuring when something has succeeded in the comp
Re:No SMP? Huh? (Score:2)
What? Since when is system security a function of performance? A better analogy might be having a Ferrari and a Honda. Doesn't matter how fast it goes, if you come under small arms fire y
Re:No SMP? Huh? (Score:2)
Re:No SMP? Huh? (Score:4, Insightful)
I wonder where Windows NT is on your totem pole, because it had SMP support years before Linux 2.0. And ACPI support and journalizing filesystem support and modules (drivers) support and so on...
I know I will be modded down for such blasphemy.
Anyways OpenBSD has (at least had last year) scalability issues, it scales pretty bad, and it needs to be solved ot get SMP really effective.
Re: No SMP? Huh? (Score:2)
Re:No SMP? Huh? (Score:2)
Please shut up.
"windows NT" does not mean NT4.0. In fact, in this discussion, it actually means NT3.51, which was the first to have multiple processor support, IIRC.
That said, I'm a fan of NT4 myself. If I must use Windows, I'd much rather have the simple, stable, and very fast NT4. USB support and DirectX >6 be dammed...
OpenBSD commands respect... (Score:5, Insightful)
...quite easily. Examine Red Hat's [redhat.com] errata list for AS3, then look at OpenBSD's [openbsd.org] errata. I assume that you will see a rather conspicuous difference in the quantity of changes?
Granted, this list is not entirely fair, as many ports and packages have bug fixes, which would push up OpenBSD's count. However, OpenBSD includes a great deal in the base distribution (SSH, Apache, Sendmail, etc.) that comprises what they assert to be audited, secure code.
To me, the ability to deploy a server and then spend minimal effort with security patches is more important than SMP. YMMV.
Re:OpenBSD commands respect... (Score:2)
I understand their resources are limited, but come on, the University of Alberta can't even afford ONE $200 machine on which to compile these things?
Binary patches for OpenBSD... (Score:2)
... discussion [undeadly.org] for i386 and Sparc64. Not endorsed by OpenBSD.org.
Re:OpenBSD commands respect... (Score:3, Informative)
Once you update your src tree [openbsd.org], you can recompile the kernel and system binaries if you need to -- whatever the patch requires. As a bonus, since everything is backed by cvs, you could make local changes and merge in updates rather seamlessly.
The snapshot builds, I think, are taken from -current rather than -stable.
Re:OpenBSD commands respect... (Score:2)
The cvs excuse seems pretty lame, I bet most people do run the base setup unless they want linux compatibility. Even then, as I said, it's not hard to buy a $200 machine to compile a handful of the most popular config permutations.
Re:OpenBSD commands respect... (Score:2)
Re:No SMP? Huh? (Score:5, Informative)
SMP simply is not a priority for OpenBSD. The kind of uses OpenBSD is put to hardly ever requires it, so it's not in the least surprising that they are only just implementing it now.
Re:No SMP? Huh? (Score:2)
You, sir, are part of the great clean scrubbed minority. Most people do not have SMP systems, and probably won't for another five to ten years. I do not have one, and have not ever had one. None of the workstations at my work are SMP.
The bigger news here, for me, is that Linux just jumped way up on my totem pole of respect.
This is just OpenBSD we're talking about here. Other BSDs have had SMP for quite some time. Did t
Re:No SMP? Huh? (Score:4, Informative)
Re:No SMP? Huh? (Score:1)
Re:No SMP? Huh? (Score:5, Informative)
Re:No SMP? Huh? (Score:2, Flamebait)
That's like saying your car brand was the first to support running on both gasoline and optionally hydrogen. Good for you, but let me know when there's a hydrogen fueling station in my city, nay, my entire state, and I'll happily switch to your brand. IPv6 is irrelevent right now outside of lab environments and isolated networks (cell phone
Re:No SMP? Huh? (Score:2)
Re:No SMP? Huh? (Score:3, Informative)
You are an idiot: IPv6 support is a mandatory requirement to have as IPv6 rollout comes ahead in the next few years. It's a testimony to the solid reliability of the BSD protocol suite that the main experimental development for IPv6 (notably via. KAME) was undertaken on BSD. So this forward thinking will pay off.
Re:No SMP? Huh? (Score:2)
I run it as a first-class transport on my network. All of the major services I provide are available over IPv6, including DNS, SMTP, HTTP, HTTPS, IMAP, SSH, and Kerberos; the notable exception being Jabber because I haven't had the chance to upgrade it yet.
More to the point, I'm actually seeing traffic on those services. They're not just some toy implementation floating out in space, but real we
Re:No SMP? Huh? (Score:3, Informative)
IPv6 is irrelevent right now outside of lab environments and isolated networks (cell phone providers, etc.).
How about this then: OpenBSD had ipsec in its core long before linux ever did. The vanilla linux kernel didn't get ipsec until the 2.6 series, everything before that was either 3rd-party kernel patches and daemons.
Hell, windows had ipsec before vanilla linux did. :(
Re:No SMP? Huh? (Score:2)
Sure, it would be much better if the ipsec traffic came on some pseudointerface, like it did/does in FreeSWAN, completely agree there...
Re:No SMP? Huh? (Score:2)
Re:Time to move openbsd.org to OpenBSD then ... (Score:1, Funny)
Re:Time to move openbsd.org to OpenBSD then ... (Score:4, Informative)
Re:Time to move openbsd.org to OpenBSD then ... (Score:5, Informative)
http://openbsd.org/faq/faq8.html#wwwsola
"www.openbsd.org and the main OpenBSD ftp site are hosted at a SunSITE at the University of Alberta, Canada. These sites are hosted on a large Sun system, which has access to lots of storage space and Internet bandwidth. The presence of the SunSITE gives the OpenBSD group access to this bandwidth. This is why the main site runs here."
And even given this, ftp.openbsd.org is usually very slow around release time.
Re:Time to move openbsd.org to OpenBSD then ... (Score:2)
but OpenBSD still looks bad for not "eating their own dogfood" on openbsd.org. What is Microsoft ran microsoft.com on Solaris servers? Remember the bad press Microsoft when they still ran hotmail.com on FreeBSD servers?
Re:Time to move openbsd.org to OpenBSD then ... (Score:2)
Microsoft has control of their servers that run Microsoft.com. OpenBSD does not have control of the server behind OpenBSD.org, since it is at the University of Alberta, and being used to host other project as well.
You'd be just as well off complaining that RedHat doesn't eat "their own dogfood" because their ISOs are distributed from many mirror sites that don't run Redhat Linux.
Re:Time to move openbsd.org to OpenBSD then ... (Score:2)
Rubbish.
Assuming security is actually a priority, there are some good reasons to run the web and ftp servers on something different. One or the other might have problems occasionally, but the odds of both having problems at the same time is (considerably) less than the odds of either one of them having problems.
(Of course is may just be the storage and bandwidth available from the University of Alberta;)
Netcraft confirms that QNX... (Score:2, Funny)
Your spoon will always make for a lousy fork.
Re:What's SMP? (Score:2, Funny)
Re:SMP didn't make it more secure, so not a priori (Score:3, Informative)
SMP is also a security issue, a negative one. Implimenting secure SMP is not an easy thing to do IIUC. Making sure that processes access memory in a secure way on a multi processor machine is difficult.