Slashdot Mirror


Interview with Matthew Dillon of DragonFly BSD

JigSaw writes "Well-known FreeBSD/DragonFly/Linux/Amiga system hacker Matthew Dillon discusses a number of interesting points regarding where the BSDs are going, the status and goals of his latest project DragonFly BSD, the status of his innovative Backplane distributed database, his exciting plans to develop DragonFly into a transparently cluster-capable system implementing native SSI (Single System Image) which is something that no other operating system can do today, and more."

15 of 233 comments (clear)

  1. For a project that gets no press by RLiegh · · Score: 5, Interesting

    Dragonfly BSD seems to be chugging along quite nicely.

    The further away they get from their 4.x FreeBSD roots, though, the more I wish they'd release an ISO. Particularly since the last ISOs for the 4 series of FreeBSD are probably going to be totally gone in a few months.

  2. Re:Different threading model by Anonymous Coward · · Score: 5, Funny

    No BSD secrets for you, Darl!

  3. Re:Different threading model by Mr.+Darl+McBride · · Score: 5, Informative
    It looks like the gist of the threading model for Dragonfly is that threads all stay on one processor. I assume this is for user processes only, and that this isn't pervasive through the kernel?
    Nevermind, found an overview here.
  4. Re:Different threading model by Kaladis+Nefarian · · Score: 5, Informative

    No this is to do with kernel threads. The userland threading is the same as in FreeBSD 4.x atm, AFAIK. The idea is to keep the model simple, unlike in FreeBSD 5.x where they are having trouble keeping it all sane with their fine-grained mutex model. Have a look at the dragonfly.kernel newsgroup, in nntp.dragonflybsd.org for more details on the SMP model, Matt talks about it regularly earlier on.

    --
    * Several monkeys are here, playing banjos and wearing small hats.
  5. Re:Different threading model by Mr.+Darl+McBride · · Score: 5, Funny
    No BSD secrets for you, Darl!
    It is important that I discover what they have created so that I may license it back to them.

    ~Darl

  6. Not by a long shot. by Tony-A · · Score: 5, Interesting

    "The reason for this excitement is that it is becoming clear to us that we can develop very clean-looking, elegant, debuggable, SMP scaleable software using this model whereas using the mutex model generally results in much less elegant (even ugly), difficult-to-debug code. Code complexity and code quality is a very important issue in any large piece of software and we believe we have hit on a model that directly addresses the issue in an SMP environment without compromising performance."

    I don't really know what he's talking about, but:
    If he's right, everybody wins.
    Even if he's wrong and we find out why, everybody wins.
    It sounds like Linux isn't hurting BSD any, and methinks for a number of reasons, Linux wouldn't be what it is today without the BSD's.

  7. Re:Divide and conquer by Anonymous Coward · · Score: 5, Interesting

    There is no need for BSD-from-scratch disto.

    1: All the BSDs are entirely different operating systems, which are lumped into one category becuase of their roots.
    2: Since no extra bullshit is thrown in like linux, there is less need for reworking the base.
    3: BSD is not obscure in the least, it is rather alive and florishing.

    BTW you forgot to mention Solaris, which has it's roots in BSD too.

  8. Amazing. by xeeno · · Score: 5, Funny

    There's actually something on the front page about BSD. And it says nothing about SCO or linux.

  9. Something no other OS can do? by fmayhar · · Score: 5, Informative

    It's simply not true that "a transparently cluster-capable system implementing native SSI" is "something that no other operating system can do today." We were doing it at Locus in 1994 with SVR4 then with Tandem in 1996 with NonStop Clusters for Unixware. Now some of the same folks at HP have introduced OpenSSI, which is essentially the same code, less all the Unixware-related bits, ported to Linux and placed under the GPL. They are coming up hard on their 1.0 release, which is not bad for five people and such a large task.

    OpenSSI is the real thing, it has processes that migrate from node to node, distributed file systems, the works. And it's running now on clusters literally all over the world. (Not many clusters, true, but maybe that will change if the Slashdot crowd finds out about it.)

    I'm happy to say that there's a lot of my code in that system, as well.

    I know a little about what Matt wants to do with his SSI in Dragonfly, but he should certainly take a look at OpenSSI; we had to solve a lot of the problems you run into when you build such a beast.

    (And a beast it is. As complex as a kernel can be, when you have what is essentially a distributed kernel across several nodes, the complexity goes up by orders of magnitude. Makes tracking down those weird hangs pretty exciting, in a painful, time-consuming kind of way.)

  10. Re:SSI? by Kaladis+Nefarian · · Score: 5, Informative

    If you read the article, Matt says (about SSI): "It is something that no non-commercial system today can do"...

    --
    * Several monkeys are here, playing banjos and wearing small hats.
  11. Re:Different threading model by m.dillon · · Score: 5, Informative
    Not exactly. All this means is that threads do not migrate preemptively, nor do they migrate while blocked or switched out while in kernel mode. Threads only migrate if (a) the thread itself wants to move to another cpu or (b) the thread is returning to user mode and the userland scheduler decides to migrate the thread to balance the load out (which only applies to threads associated with user processes since no other type of thread can 'return to usermode').

    Kernel threads almost universally stay on the cpu they were originally assigned to. High performance threaded subsystems, such as the network stack, are replicated. That is, the network stack creates multiple threads (one per cpu) and those threads do not migrate because, obviously, they do not need to.

    Generally speaking, the purpose of making thread migration explicit instead of automatic is to partition a larger data set across available cpu caches rather then cause the same data to be shared amoungst all cpu caches. The processors operate a lot more efficiently and SMP scales a lot better. Most people do not realize the horrendous cost of moving threads between cpus because the cache mastership change is invisibly handled by hardware, but the cost is still there and still very real.

    -Matt

  12. Re:I guess that'll show em. by Rick+the+Red · · Score: 5, Interesting

    I think of the various Linux distros as "forks" of whatever Linus himself runs. There are literally dozens of Linux forks. Too bad Linus doesn't release a distro, so we'd know what Linux is supposed to look like. If you sit down at a Linux system you have no idea what you're going to find. From a Systems Administration standpoint alone that makes *BSD a better choice for corporations with a large number of hosts, but Linux gets all the press.

    --
    If all this should have a reason, we would be the last to know.
  13. Re:The Ballad of Matthew Dillon by kfg · · Score: 5, Funny

    There once was a Master of Screws
    Who thought it most wonderful news
    That the AC's post
    was more funny than most
    But not all mods agreed with his views.

    KFG

  14. Re:I guess that'll show em. by UID500 · · Score: 5, Interesting

    Um, linux is a kernel, not a distro. the linux kernel is what "linux is supposed to look like" to linus.

  15. Re:I guess that'll show em. by Anonymovs+Coward · · Score: 5, Insightful
    Um, linux is a kernel, not a distro.

    Which is unfortunate in many ways. For example, Matt has introduced variant symlinks into DragonFly, and has major plans involving vfs namespaces etc which will really solve a lot of problems in package management, like allowing two different conflicting versions of a package to exist at the same time. He can do all this because he's looking at the whole picture, and so are the others: the entire source tree for the base system is there on my machine, in one nicely-arranged subdirectory. I don't foresee major changes happening in the linux kernel driven by distributors. To this day, breakages with binary-incompatible glibc etc are constant annoyances with linux unless you choose a stable distributed version from a branded linux distro and stick to it. the linux kernel is what "linux is supposed to look like" to linus.

    What is "the linux kernel"? There's a Red Hat kernel, a Mandrake kernel, a SuSE kernel, and you can't really drop a generic Linus kernel into any of the commercial distros and expect it to work properly. (Debian and Gentoo are better.)

    I'm not dissing linux, it's better than the mainstream alternatives and has far better hardware support and graphical system administration tools than the BSDs. In fact after 2 years with FreeBSD I myself had switched to Linux on my new machine because of hardware issues (I've now mostly switched to DragonFly and the hardware issues are mostly gone). And I use Linux at work and have no desire to change that. But there are reasons why a lot of technically aware people find the BSDs nicer systems to play with.