Linked by evilsjg on Wed 16th Nov 2011 00:17 UTC
BSD and Darwin derivatives The DragonFly BSD project has recently decided to hold off on the 2.12 release to address a couple of long-standing issues. Some of the disruptive work done to address these issues has also resulted in the MP Token (giant kernel lock) and other major contention points being finally pushed out of the way of all critical paths. The result?
Order by: Score:
That's a remarkable improvement
by bannor99 on Wed 16th Nov 2011 00:45 UTC
bannor99
Member since:
2005-09-15

I never thought that DragonFly would rise above an interesting project whose more innovative pieces might make their way into other, more established, OSes

But to offer this level of performance against its big brother on serious hardware is amazing.
Well done, Matt and company!!

Reply Score: 4

RE: That's a remarkable improvement
by reez on Thu 17th Nov 2011 11:06 UTC in reply to "That's a remarkable improvement"
reez Member since:
2006-06-28

Actually there are other things than performance that are awesome about DragonFly.

HAMMER is simply awesome.

The fact that the DragonFly implemented a (complete!) BSD licensed version of TrueCrypt which isn't even free software in its original implementation is great. Even the Linux folks have an eye on it.

They reimplemented dm-crypt/LUKS including all the required dependencies to have encrypted root etc. This also means that they have an own implementation of libdevicemapper and other stuff. All BSD licensed.

They also have vkernel AND jail and they are usually faster than FreeBSD. For example they fixed the head pull-USB-Stick -> crash problem before them. They implemented stuff like IPv6 and multi-IP before FreeBSD. They had llvm/clang support before them. Does FreeBSD support variant symlinks by now? Oh and they have resident.

Of course that doesn't mean that it is without weaknesses. FreeBSD has longer support for releases while most DragonFly folks run HEAD versions. They also don't have commercial support.

But hey, it's Open Source, everyone is able to copy stuff improve it, sometimes it gets ported, backported and what's great about BSD (well, besides OpenBSD, which has other strengths) is that people decide what's good and not what's getting hyped or fits our ideology.

Reply Score: 2

phoenix Member since:
2005-07-11

The entire FreeBSD OS can be compiled by LLVM/Clang, and the resulting OS can be installed and used with only a few niggling issues here and there. You can even use LLVM/Clang to compile a large portion of the ports tree.

You cannot compile DFlyBSD with LLVM/Clang at this time.

Reply Score: 2

Nice to see...
by madcrow on Wed 16th Nov 2011 01:28 UTC
madcrow
Member since:
2006-03-13

When Dragonfly originally forked from FreeBSD, it was mainly about SMP stuff. The Dragonfly faction felt that FreeBSD was choosing the wrong approach towards implementing good SMP support. When it became clear that FreeBSD's approach may actually have been the "right" one, Dragonfly refocused on doing other things like implementing microkernel-style features, a ZFS-like file system and other fun hacks. That's its been able to fix its SMP problems while also progressing on these other tasks is really a pleasant surprise.

Reply Score: 5

RE: Nice to see...
by Lazarus on Wed 16th Nov 2011 09:36 UTC in reply to "Nice to see..."
Lazarus Member since:
2005-08-10

When it became clear that FreeBSD's approach may actually have been the "right" one


Not exactly. It wasn't a thought that the direction FreeBSD took to implement MP scaling wouldn't work or even work well, as it was in fact essentially a tried and true approach (fine-grained data locking).

Matt's problem with it was that he thought it would take more people and time and testing to make correct, and in the long run be more work to maintain due to the complexity involved. So From the get-go, DragonFly was reworked to support lockless algorithms and would do as much work on a per-CPU basis as possible. Kind of a `share as little as possible` approach, and ask your neighbours for help as needed.

DragonFly took so long to get to this point of scaling well in MP systems because very early on, Matt decided he wanted his BSD to implement SSI clustering, and being only one person in a small group of developers would then go on to implement the major bits of his dream, each of which was a fair sized project in themselves.

Hammer being an example.

Although MP work has long seemed to be more back-burner work for Dillon, he was always clear that he was more interested in exploring ways to enable multi-processor/multi-core scaling such that mere mortal devs could jump into the code and understand how it all worked and be able to fix it should that be required.

One final interesting thing to note, is that some of the ideas employed by DragonFly to implement MP scaling are also employed in Linux and FreeBSD as a means of further improving their scaling by removing some of their fine-grained locks.

And of course DragonFly itself uses a locking strategy vaguely similar to FreeBSD for its device drivers. Being a small project, this eases porting, and allows the DF devs more time to do more general work on DF itself.

Reply Score: 4

Great but ...
by jokhva on Wed 16th Nov 2011 04:15 UTC
jokhva
Member since:
2007-09-14

Yesterday I pulled the 2.12 iso image down and burned it to a disc. When I boot my machine with the disc, everything goes fine except that it cannot detect my PS/2 keyboard. I cannot do anything but just push the reboot button.

Anyway, I like BSD. I've been using *BSD since 90's. Before I give it another try, I'd better stick to FreeBSD, which is my favorite.

Edited 2011-11-16 04:16 UTC

Reply Score: 1

RE: Great but ...
by evilsjg on Wed 16th Nov 2011 19:37 UTC in reply to "Great but ..."
evilsjg Member since:
2006-03-29

If you can be troubled to try again (and maybe plug in a USB keyboard?), the DragonFly project would definitely appreciate a proper bug report.

Reply Score: 2

RE[2]: Great but ...
by jokhva on Thu 17th Nov 2011 16:12 UTC in reply to "RE: Great but ..."
jokhva Member since:
2007-09-14

Yes. I plan to give it another try when I get a USB keyboard. I am very interested in Dragonfly's Hammer and SMP implementation, which are different from FreeBSD's counterparts.

Reply Score: 1

c cedilla
by spiderman on Wed 16th Nov 2011 07:12 UTC
spiderman
Member since:
2008-10-23

Tom, you don't have the รง on your keyboard, right?
On windows, you can have it with Alt + 231.

Reply Score: 2

RE: c cedilla
by aacs on Wed 16th Nov 2011 07:27 UTC in reply to "c cedilla"
aacs Member since:
2008-12-13

1. It's Thom.
2. No, it's actually Samuel.

Reply Score: 1

RE: c cedilla
by JLF65 on Wed 16th Nov 2011 17:00 UTC in reply to "c cedilla"
JLF65 Member since:
2005-07-06

On linux, it's RALT+c.

Reply Score: 2

Test setup issues?
by laffer1 on Wed 16th Nov 2011 16:07 UTC
laffer1
Member since:
2007-11-09

If I'm reading this right, they only ran one test per thread. That is not the way you do a benchmark. They should run multiple tests and throw out the outliers.

Also, they disabled witness in FreeBSD, but if 10-CURRENT is like old versions, invariants are still enabled and can slow things down a little. I don't know if DF 2.13 has anything similar enabled or not.

Reply Score: 0

RE: Test setup issues?
by evilsjg on Wed 16th Nov 2011 19:36 UTC in reply to "Test setup issues?"
evilsjg Member since:
2006-03-29

These benchmarks were not exhaustive or totally scientific, nor were they intended to be. Your issues with the methodology does not invalidate the fact that these benchmarks convey relative performance for this test with reasonable accuracy.

DragonFly has a more invasive INVARIANTS than FreeBSD, we leave it enabled for releases and feel that the FreeBSD policy of disabling it is a mistake. Bugs and crashes happen and when they happen to our users in a production environment using a release not having INVARIANTS limits their ability to properly report a bug as well as our ability to pinpoint and fix the problem. That is the stance of the project and the rationale for that stance, but if someone wanted to test both without INVARIANTS, I am relatively sure DragonFly would see a larger bump.

Reply Score: 2

What I'd really like
by rimzi on Wed 16th Nov 2011 16:41 UTC
rimzi
Member since:
2009-12-17

Is the up to date feature comparison of all the BSDs, maybe even vs current Linux.


I use Linux almost all the time. It always got me wondering what the BSD has to offer.

Tightly-integrated system perhaps? But what that really means..?

Reply Score: 1

RE: What I'd really like
by kenji on Wed 16th Nov 2011 21:09 UTC in reply to "What I'd really like"
kenji Member since:
2009-04-08

Is the up to date feature comparison of all the BSDs, maybe even vs current Linux.


I use Linux almost all the time. It always got me wondering what the BSD has to offer.

Tightly-integrated system perhaps? But what that really means..?

This is a little light on info but it's a start:

http://en.wikipedia.org/wiki/Comparison_of_BSD_operating_systems

BSD is a more tightly integrated system, in fact Linux is not even an OS in the strictest definition. BSD separates the core OS and the user land software which isn't something that the end user notices but it simplifies administration.

For instance, you can upgrade FreeBSD while not upgrading the user (add-on) software. I think that only Slackware is capable of this in the linux world (correct me if I am wrong). Reversely, you can keep the user software up to date without requiring an OS upgrade.

Anyway there is a ton of information out there on comparing Linux and BSD

Reply Score: 1

RE[2]: What I'd really like
by reez on Thu 17th Nov 2011 11:14 UTC in reply to "RE: What I'd really like"
reez Member since:
2006-06-28

But there is a problem with Wikipedia's feature comparison. They don't show you how stable stuff it, whether someone maintains the code, how complete a feature is, how well it is integrated, ...

So really, you should have a look on what you need/expect and have a look on your own.

It also doesn't say anything about individual, unique tools/features that can make your life easier, make things like development or setting up a system easier. For example DragonFly and OpenBSD IMHO have great default configurations and lots of stuff that you can use in daily life. These things on the other hand aren't really useful when you depend a lot on third party stuff, since others are usually not aware of these things or don't care to use them in their software, because there is only one system supporting it.

Reply Score: 3

FreeBSD 10?
by winstonw on Fri 18th Nov 2011 07:06 UTC
winstonw
Member since:
2011-11-18

Quick question. What is FreeBSD 10 mentioned in this article and where can I get it? I also Tweeted this. https://twitter.com/#!/WretchedWinston/status/136798642211258368

Reply Score: 1

RE: FreeBSD 10?
by dnebdal on Fri 18th Nov 2011 12:32 UTC in reply to "FreeBSD 10?"
dnebdal Member since:
2008-08-27

They just branched off 9-STABLE a week or two ago - they're at 9.0-RC2 now, so expect a release soonish. As a side effect, CURRENT is now on version 10.

Reply Score: 1