FreeBSD SMPng Interview with Scott Long
animus9 writes "There's an interesting interview with Scott Long over at the ONLamp.com. Scott explains the difference between the various locking methods, and the current status of SMP in FreeBSD 5. He also compares the new SMP implementation with that of FreeBSD 4.x, NetBSD, DragonFly, and Linux. Other items touched upon include scalability, the status of KSE & ULE, and much more."
I was under the impression it BSD was DOA.
[ed. note: in the following text, former FreeBSD developer Mike Smith gives his reasons for abandoning FreeBSD]
When I stood for election to the FreeBSD core team nearly two years ago, many of you will recall that it was after a long series of debates during which I maintained that too much organisation, too many rules and too much formality would be a bad thing for the project.
Today, as I read the latest discussions on the future of the FreeBSD project, I see the same problem; a few new faces and many of the old going over the same tired arguments and suggesting variations on the same worthless schemes. Frankly I'm sick of it.
FreeBSD used to be fun. It used to be about doing things the right way. It used to be something that you could sink your teeth into when the mundane chores of programming for a living got you down. It was something cool and exciting; a way to spend your spare time on an endeavour you loved that was at the same time wholesome and worthwhile.
It's not anymore. It's about bylaws and committees and reports and milestones, telling others what to do and doing what you're told. It's about who can rant the longest or shout the loudest or mislead the most people into a bloc in order to legitimise doing what they think is best. Individuals notwithstanding, the project as a whole has lost track of where it's going, and has instead become obsessed with process and mechanics.
So I'm leaving core. I don't want to feel like I should be "doing something" about a project that has lost interest in having something done for it. I don't have the energy to fight what has clearly become a losing battle; I have a life to live and a job to keep, and I won't achieve any of the goals I personally consider worthwhile if I remain obligated to care for the project.
Discussion
I'm sure that I've offended some people already; I'm sure that by the time I'm done here, I'll have offended more. If you feel a need to play to the crowd in your replies rather than make a sincere effort to address the problems I'm discussing here, please do us the courtesy of playing your politics openly.
From a technical perspective, the project faces a set of challenges that significantly outstrips our ability to deliver. Some of the resources that we need to address these challenges are tied up in the fruitless metadiscussions that have raged since we made the mistake of electing officers. Others have left in disgust, or been driven out by the culture of abuse and distraction that has grown up since then. More may well remain available to recruitment, but while the project is busy infighting our chances for successful outreach are sorely diminished.
There's no simple solution to this. For the project to move forward, one or the other of the warring philosophies must win out; either the project returns to its laid-back roots and gets on with the work, or it transforms into a super-organised engineering project and executes a brilliant plan to deliver what, ultimately, we all know we want.
Whatever path is chosen, whatever balance is struck, the choosing and the striking are the important parts. The current indecision and endless conflict are incompatible with any sort of progress.
Trying to dissect the above is far beyond the scope of any parting shot, no matter how distended. All I can really ask of you all is to let go of the minutiae for a moment and take a look at the big picture. What is the ultimate goal here? How can we get there with as little overhead as possible? How would you like to be treated by your fellow travellers?
Shouts
To the Slashdot "BSD is dying" crowd - big deal. Death is part of the cycle; take a look at your soft, pallid bodies and consider that right this very moment, parts of you are dying. See? It's not so bad.
To the bulk of the FreeBSD committerbase and the developer community at large - keep your eyes on the real goals. It
I must say that reading this interview only reinforced my gut feeling that FreeBSD and other BSD variants start to look as a viable alternative to Solaris and Linux. This is consistent with the attitude in my company. To make a long story short, I received the email first thing in the morning from the IT department. Our network would be undergoing a major overhaul to correct the ad hoc growth it had experienced in the last year, and starting next week Internet access would be sporadic. There would also be a new firewall and security measures, replacing the old OpenBSD system I'd managed to get installed last Spring. Happy for the heads-up, I went to work right away to make sure Linux had no place on our network. This was not the first time that I had faced this threat.
One day about a year ago our network guy gets asked to draw up firewall plans for this subnet of servers we have. Our network guy was your typical GNU-slinger save that he had a cascade of flowing hair down the back of his head and not a beard hanging from his face. And yeah, you can guess what he thought those firewalls were gonna run. Fast forward two days. I'd caught wind of the plans and had charts, graphs, and comparisons written up detailing OpenBSD and Linux security. Since this GNU guy had a mullet and dressed like a slob, I got taken seriously. Not to mention my data, impenetrable by any hippy "logic." OpenBSD was the more secure, even to the beancounters and idtiot management. So thanks to me, our firewalls happily run OpenBSD and not Linux, which would have buffer-overflowed into no-man's land every other hour. The Open Source Mullet gives me a lot of dirty looks lately.
Since the Open Source Mullet had been canned, a new threat had arisen at my workplace: the Fat Perl Hacker had assumed most of the Open Source Mullet's system and network administration duties, and it was no mystery to anyone at my workplace that he had a hard-on for Linux tucked away under his enormous, cascading gut. Since he was a major suck-up and workaholic, he had a lot more credibility than the Open Source Mullet this would be a real challenge for once. Dealing with the Open Source Mullet had been cake.
That night, I went to work on my strategy. First, I would document the changes in Linux and OpenBSD since a year ago when we last went with a security plan. Linux was still at version 2.4, while OpenBSD had raced from version 2.8 to 3.1 a major revision! This was good so far, and I included the relevant diffs for each. I wondered what the Fat Perl Hacker was up to and pushed ahead with my preparations.
Tuesday morning, I went to talk with the VP of Operations, who had final say on the network project. I wouldn't leave anything to chance. But after chatting with him for a few minutes, I learned of a major monkey-wrench I hadn't expected: instead of a Unix firewall system, he was planning on installing a dedicated firewall box running Windows XP. Thankful for my fortuitous social engineering, I went back to my desk and began making over my strategy to deal with this new threat. Not only would I have to deal with Linux, I'd have to eschew the Windows option now.
Sitting in front of my iBook after work, I realized that taking on Windows XP in the same manner I was going to deal with Linux would be foolish if not wasteful. Obviously the Windows option was not about numbers, anecdotes, or experience. It was a bean-counting decision and all of the security statistics in the world wouldn't matter. Since I hadn't the foggiest about how our accountants viewed the whole operation and didn't have time to learn, I'd have implement a rapid-fire real-life assault on the Windows box, which was sitting on the VP's desk awaiting its place on the network. It was time to put on my Black Hat, and that night I stayed up until 02:00 researching Windows XP vulnerabilities. Linux would have to wait.
With just two days before the network changeover was to take place, I marched into work Wednesday morning knowing
What We Can Learn From BSD
By Chinese Karma Whore, Version 1.0
Everyone knows about BSD's failure and imminent demise. As we pore over the history of BSD, we'll uncover a story of fatal mistakes, poor priorities, and personal rivalry, and we'll learn what mistakes to avoid so as to save Linux from a similarly grisly fate.
Let's not be overly morbid and give BSD credit for its early successes. In the 1970s, Ken Thompson and Bill Joy both made significant contributions to the computing world on the BSD platform. In the 80s, DARPA saw BSD as the premiere open platform, and, after initial successes with the 4.1BSD product, gave the BSD company a 2 year contract.
These early triumphs would soon be forgotten in a series of internal conflicts that would mar BSD's progress. In 1992, AT&T filed suit against Berkeley Software, claiming that proprietary code agreements had been haphazardly violated. In the same year, BSD filed countersuit, reciprocating bad intentions and fueling internal rivalry. While AT&T and Berkeley Software lawyers battled in court, lead developers of various BSD distributions quarreled on Usenet. In 1995, Theo de Raadt, one of the founders of the NetBSD project, formed his own rival distribution, OpenBSD, as the result of a quarrel that he documents [theos.com] on his website. Mr. de Raadt's stubborn arrogance was later seen in his clash with Darren Reed, which resulted in the expulsion of IPF from the OpenBSD distribution.
As personal rivalries took precedence over a quality product, BSD's codebase became worse and worse. As we all know, incompatibilities between each BSD distribution make code sharing an arduous task. Research conducted at MIT found BSD's filesystem implementation to be "very poorly performing." Even BSD's acclaimed TCP/IP stack has lagged behind, according to this study.
Problems with BSD's codebase were compounded by fundamental flaws in the BSD design approach. As argued by Eric Raymond in his watershed essay, The Cathedral and the Bazaar, rapid, decentralized development models are inherently superior to slow, centralized ones in software development. BSD developers never heeded Mr. Raymond's lesson and insisted that centralized models lead to 'cleaner code.' Don't believe their hype - BSD's development model has significantly impaired its progress. Any achievements that BSD managed to make were nullified by the BSD license, which allows corporations and coders alike to reap profits without reciprocating the goodwill of open-source. Fortunately, Linux is not prone to this exploitation, as it is licensed under the GPL.
The failure of BSD culminated in the resignation of Jordan Hubbard and Michael Smith from the FreeBSD core team. They both believed that FreeBSD had long lost its earlier vitality. Like an empire in decline, BSD had become bureaucratic and stagnant. As Linux gains market share and as BSD sinks deeper into the mire of decay, their parting addresses will resound as fitting eulogies to BSD's demise.
BSD you grow in the ghetto, living second rate
And your eyes will sing a song of deep hate.
The places you play and where you stay
Looks like one great big alley way.
You'll admire all the numberbook takers,
Thugs, BSD pimps and pushers, and the Linux money makers.
The problems with SMP on FreeBSD goes to show you that design by committee doesn't work.
If you want to see a BSD where SMP works correctly, have a look at DragonFly.
This article discusses FreeBSD's preference for sleep locks as versus the spin locks in Linux.
Anybody know why Linux went for the spin lock approach? What are the relative merits?
... facts are facts. ;)
FreeBSD:
FreeBSD, Stealth-Growth Open Source Project (Jun 2004)
"FreeBSD has dramatically increased its market penetration over the last year."
Nearly 2.5 Million Active Sites running FreeBSD (Jun 2004)
"[FreeBSD] has secured a strong foothold with the hosting community and continues to grow, gaining over a million hostnames and half a million active sites since July 2003."
What's New in the FreeBSD Network Stack (Sep 2004)
"FreeBSD can now route 1Mpps on a 2.8GHz Xeon whilst Linux can't do much more than 100kpps."
NetBSD:
NetBSD sets Internet2 Land Speed World Record (May 2004)
NetBSD again sets Internet2 Land Speed World Record (30 Sep 2004)
OpenBSD:
OpenBSD Widens Its Scope (Nov 2004)
Review: OpenBSD 3.6 shows steady improvement (Nov 2004)
*BSD in general:
..and last but not least, we have the cutest mascot as well - undisputedly. ;)
Deep study: The world's safest computing environment (Nov 2004)
"The world's safest and most secure 24/7 online computing environment - operating system plus applications - is proving to be the Open Source platform of BSD (Berkeley Software Distribution) and the Mac OS X based on Darwin."
--
Being able to read *other people's* source code is a nice thing, not a 'fundamental freedom'.
Same old GNU/Linux FUD, that has been disproved countless times... :)
In short: the MIT research is *11 years old*, and that Rice study on the TCP/IP stack uses FreeBSD 2.2.6.
There's been seven BSD articles on slashdot since the beginning of the year.
;)
And apache? Nothing. Last year, just after Christmas, a bit about test mod_perl (and that's barely apache).
BSD is doing fine. Apache is dying.
One more crippling bombshell hit the already beleaguered *BSD community when IDC confirmed that *BSD market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinforce what we've known all along. *BSD is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be the Amazing Kreskin to predict *BSD's future. The hand writing is on the wall: *BSD faces a bleak future. In fact there won't be any future at all for *BSD because *BSD is dying. Things are looking very bad for *BSD. As many of us are already aware, *BSD continues to lose market share. Red ink flows like a river of blood.
FreeBSD is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time FreeBSD developers Jordan Hubbard and Mike Smith only serve to underscore the point more clearly. There can no longer be any doubt: FreeBSD is dying.
Let's keep to the facts and look at the numbers.
OpenBSD leader Theo states that there are 7000 users of OpenBSD. How many users of NetBSD are there? Let's see. The number of OpenBSD versus NetBSD posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 NetBSD users. BSD/OS posts on Usenet are about half of the volume of NetBSD posts. Therefore there are about 700 users of BSD/OS. A recent article put FreeBSD at about 80 percent of the *BSD market. Therefore there are (7000+1400+700)*4 = 36400 FreeBSD users. This is consistent with the number of FreeBSD Usenet posts.
Due to the troubles of Walnut Creek, abysmal sales and so on, FreeBSD went out of business and was taken over by BSDI who sell another troubled OS. Now BSDI is also dead, its corpse turned over to yet another charnel house.
All major surveys show that *BSD has steadily declined in market share. *BSD is very sick and its long term survival prospects are very dim. If *BSD is to survive at all it will be among OS dilettante dabblers. *BSD continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, *BSD is dead.
Fact: *BSD is dying
It's the Fat Perl Hacker.
It isn't even worth arguing whether or not this study is flawed. Until somebody at least claims to find that Firefox has more than a single-digit market share, any report that Firefox is "gaining ground" is just hype, and actually hurts the product.
I disagree with zealotry in any form, and that includes ignoring Linux as an alternative when it's actually pretty decent at a lot of things.
However, the 2.6 kernel has been a mess from day one. I'm used to new versions being a bit buggy, but the kernel developers keep adding new bugs.
First, there was that memory leak with burners. Now more recently they've been moving to libata, and that prevents SATA and PATA drives from being used at the same time on my system because libata does not yet support PATA drives, and all the ATA controllers are on the same chipset. I've had to install an old Promise ATA controller to have a CD drive on my system.
They say it's up to the distributions to stabalize their own kernels, but the distributions clearly don'thave the resources to do that.
Time to fork 2.7 guys!
I rarely criticize things I don't care about.
And I wish I'd have seen mention of it. Oh well.
I thought BSD already had SMP, but this is a great article about BSD's SMP vs Linux. What is the SMP implementation in OSX ? ...?
I use Linux a lot, I was wondering when BSD will have as good hardware support as linux. Yes I know linux hardware support is bad but I am talking about RAID cards and other devices? I don't mean on the desktop market but in the server market, PPC etc
BSD is mos def a cool system but Linux has a wider user base which makes problem solving a snatch.
Unless we do something about the FreeBSD logo (/mascot, whatever), then it is like majority of people are saying - FreeBSD is dying - better yet - FreeBSD is dead.
Corporations WILL NEVER jump in the FreeBSD bandwagon as long as we have daemon as a mascot. Corporations have respect for religious values of their employees and some people will never accept daemon mascot. Face it - it is a fact.
of DeForest Kelley's prescient observation:
Linux releases half-arsed 'stable' releases which may not even work very frequently.
Wrong, and nice grammar there. Apart from a few stable releases, virtually all of the Linux kernel releases have been rock solid.
excusing the developmental nature of FreeBSD 5.x, these are very solid and already have a full package tree and ready documentation, etc. which Linux never has had.
Linux never has had a full package tree? There are more packages for a given Linux distro than FreeBSD. FreeBSD with it's SUBSTANDARD SMP implementation, lacking hardware support (compared to Linux), and egotistical developer base makes something like Slackware Linux a better choice than FreeBSD.
The lamer is a GNU/Linux advocate that has been going on for *years*. So he won't stop, it's a kind of "job" to him - easily, the best he can find.
So, please Shut Up and Don't Feed The Troll.
(..but I have the suspect that you are the same person who posted gp, pretending to pay attention to himself - since apparently nobody does anymore)
Once I had a cat who had feline leukemia, and we tried to keep him alive, with numerous trips to the vet. But, in the end, the disease just overwhelmed him. He had such a hard time. If I had another cat with the same diagnosis, then I would just have it put away immediately. Not being dismissive, but just realistic.
You are a very kind to have nursed FreeBSD along and looked after it. At least this pathetic OS is being looked after. It is not out there frantically searching for a "home". No, it's found its final resting place.
If FreeBSD does have to be euthanized, this is not a cruel act - it will pass away immediately without suffering.
>Our 500-employee company (which will naturally go un-named)
:)
:D
:)
Naturally.
>It boiled down to FreeBSD and Linux, and without letting any bias or emotions get in the way,
Of course.
>I was put in charge of making the decisions.
You were put in charge of trolling.
It is interesting to see how and when various operating system concepts get implemented. Interrupt threads are a pretty common technique in realtime systems, and have been around since the early 90's or so; they were the first driver technique that I learned.
(S(SKK)(SKK))(S(SKK)(SKK))