Linked by Eugenia Loli on Sat 13th Mar 2004 09:07 UTC
Original OSNews Interviews Today we feature a very interesting interview with well known *BSD hacker Matthew Dillon over his latest project, DragonFly BSD (also known for his Linux kernel contributions, Amiga C compiler hacking back in the day and the Backplane distributed database). Matthew discusses DragonFly's status, goals, the overall BSD platform, innovation, and more. Update: Added one more question at the end of the Q&A.
Order by: Score:
Bloody good interview...
by Kaiwainz on Sat 13th Mar 2004 09:30 UTC

Raised some very good points about scalability. Is there anyone here who can point me to a Multex vs threadcentric paper comparing the two techniques?

Re: Bloody good interview...
by Anonymous on Sat 13th Mar 2004 10:17 UTC

There is some stuff about it on the dragonfly website www.dragonflybsd.org. I can't see how they're really different to any other sort of mutual exclusion lock. Slightly different sementics perhaps. Result is you can't have more than one thread in a critical region at a time.

Re: Bloody good interview...
by Anonymous on Sat 13th Mar 2004 10:26 UTC

There is some stuff about it on the dragonfly website www.dragonflybsd.org. I can't see how they're really different to any other sort of mutual exclusion lock. Slightly different sementics perhaps. Result is you can't have more than one thread in a critical region at a time.

Hmm maybe I'm wrong. Further digging found this:
http://www.dragonflybsd.org/docs/BAFUG1_SLIDES/img8.html

I wonder if he's going to try to use this model for as much high level stuff as possible?

RE : Bloody good interview...
by Alex M. on Sat 13th Mar 2004 10:27 UTC

>Raised some very good points about scalability. Is there >anyone here who can point me to a Multex vs >threadcentric paper comparing the two techniques?
before anything you should know what is a thread : it is a computing unity inside a processus. A processus may have more than one thread running in parallel.
Threads may share some data. What would happened if two thread use the same data at the same time ?? Kaboom !
So you can specify this data as mutex.
Each time a thread need to use the data, it check if the data is locked, if yes it wait, else it locks it for its own use and proceed it. Finaly, it unlocks the mutex so i'll usable by other thread.
If I understand right, the thread centric approch is to have no data in common, so no locking, but to allow the threads to communicate via some messenging system, so they can share some information.
Hope I am not to far from the truth!
Alex

Thank you for the links, from what it appears, the dragonflybsd team are trying to make BSD simplier to make it possible to add more features without adding more complexity to the equation. Sounds like a great idea and hopefully some other projects pick up on this idea.

PowerPC dfBSD? :)
by Emil Oppeln Bronikowski on Sat 13th Mar 2004 10:57 UTC

Maybe he should contact Genesi, and get his OS to work on Pegasos? :-)

what better than a daemon with sneakers?
by xispes on Sat 13th Mar 2004 14:43 UTC

3. What is the primary goal of dragonfly, servers or desktops?
Matthew Dillon: Both.



dfBSD is heading for the user base since now has nvidia drivers support.


What better than a daemon with sneakers?
A daemon with sneakers and wings

desktop
by CaptainPinko on Sat 13th Mar 2004 16:24 UTC

if they are going for desktop use i hope they implemenent some sort of user-level package installation. If they are going to innovate they might as well do it here too.

re: Desktop
by none on Sat 13th Mar 2004 18:15 UTC

There is some discussion of a new package management system on the dfBSD home page. From my understanding that there will be some extensive innovation. There home page is definately worth browsing.

NVidia Driver support?
by Shawn on Sat 13th Mar 2004 19:58 UTC

dfBSD is heading for the user base since now has nvidia drivers support.

Err, how so? Where?

Bravo, keep it up Matt
by blah on Sat 13th Mar 2004 20:29 UTC

Matt has been a prolific coder for many years and is an unsung hero in free software.

As a long time FreeBSD user at work I welcome a new option at the precipitous juncture from FreeBSD 4 to 5. One more resource for novel, peer reviewed ideas and implementations.

It will be interesting to see how DragonFly will fare with the growing dominance of linux in the free OS sphere. The linux talent roster is very full and it is difficult to get attention for ideas and implementation. That one value of the BSD projects - a project you can get in on the ground floor.

good article
by Anonymous on Sat 13th Mar 2004 21:39 UTC

>>Linux obviously has the eye of the masses

I guess that would be qualified as "geek masses", cause windows has the eye of the unwashed masses...

;-)

informative interview.

Re: NVidia Driver support?
by bsdrocks on Sat 13th Mar 2004 21:56 UTC

Well, it's using FreeBSD native one with the patches.

http://www.dragonflybsd.org/cgi-bin/cvsweb.cgi/dfports/x11/nvidia-d...

:)
by Kingston on Sat 13th Mar 2004 22:07 UTC

I have been using DragonFly on and off for a while now, and for the most part it's been very nice for day to day use. It's fast, and it can handle whatever loads I can throw at it. The scheduler needs work however. Some things that have never caused jerkyness in things I was doing in the foreground (like rebuilding the system in the background etc.) can sometimes be painfull in DragonFly. It's not consistent, nor am I expecting such from a pre-beta OS, but I thought I'd mention it anyway.

DragonFly also builds slower than does FreeBSD 4 or 5, largely due to the inclusion of two versions of GCC. I'm sure that they'll drop GCC 2.95.x soon, but until then, it takes just barely more than twice as long as it used to.

They include directions to manually install DragonFly on the Live CD, and I've wondered what has stopped them from reworking it into a small handful of shell scripts so that relative newbies could install it more easilly, without having to spend ages waiting for whatever the final implementation will evolve into. It should take someone like Matt maybe a couple of hours (if that!) to do so, and the benefits would be great enough IMO to put the real work on hold for that few hour period.

I am very much looking forward to DragonFly's first release, and if they have the desire to sell copies of it on CDs, I will most definately buy one.

Scheduling
by James on Sat 13th Mar 2004 22:28 UTC

As far as I knew DragonFly was still using the standard (mostly) FreeBSD 4.x scheduler.

Having followed DragonFly pretty closely for around 6 months, I can't say I've noticed any of these scheduler issues. My p2-450 can buildworld in the background, and if not for limited disk bandwidth I'd never know it was there. It does not skip my music, or anything like that. You might want to make sure you have DMA enabled on your hard drive.

That said, there have been a number of problems that have gotten in my way -- the most significant I think being the package situation. Many FreeBSD ports/packages no longer build or install properly on DragonFly. This is an issue that will get worked on soon I hope.

Overall DragonFly feels very snappy to me.

RE: James (IP: ---.dial.mts.net) - Posted on 2004-03-13 22:28:09
by Kingston on Sat 13th Mar 2004 22:36 UTC

I'm very sure that it could have been the particular snapshots I was using at the time, but that in itself does not mean that the scheduler doesn't need work. I'd considder myself about the biggest fan of DragonFly there is right now, but that's not going to stop me from pointing out flaws I find, sporadic as they may be (aren't pre-release OSs great! ;) .

As to the ports collection, I've had mostly successes, except a few core X related ones. FreeBSD packages so far have offered me no headaches. I would very much like to see a greatly expanded dfports tree however. It will come.

Great to hear about DragonFly
by Aeonsfx on Sun 14th Mar 2004 01:38 UTC

It's always great to hear about DragonFly, I'm really looking forward to a stable release... Perhaps soon it will replace my FreeBSD 4.9 boxes ;)

Getting the GUI to run isn't a problem, and has little
to do with the kernel. Oh, DragonFly isn't just a kernel?
So what, it's not like they are going to develop their
own entire GUI.

The difference is throughput vs. responsiveness (interactivity). On the "server" it costs you (in throughput)
if you are too heavily weighted towards "interactivity".
On the "desktop" it's the reverse.

No, you cannot have the best of both worlds. When I log into
my "server" it SHOULD keep high throughput and my interactive
(shell) process should not get the kind of response it needs
on the desktop.

IMHO!!

There are of course many many areas where better desktop
performance IS the same as better server performance, eg
threads scalability. But my point is that the answer to
the question leaves something to be desired.

No, you cannot have the best of both worlds. When I log into my "server" it SHOULD keep high throughput and my interactive (shell) process should not get the kind of response it needs on the desktop.

Don't be a dumbass. There are two things that would allow one to have the best performace for both types of systems. You could have more than one scheduler and use whatever one best suits your needs (Linux does this), or you could have (better yet) an adaptive scheduler that modifies it's behavior as needed.

It is your thinking that leaves something to be desired. There are few things in this world that we cannot eventually do. Having an OS that can work out of the box as either a server or as a desktop isn't one of those things that we will be denied.

Learn to think.

Re: Facts Are Important
by Roberto J. Dohnert on Sun 14th Mar 2004 07:33 UTC

Its a new project and all new projects deal with those issues, nothing new.

Get it right
by Anonymous on Sun 14th Mar 2004 15:25 UTC

He keeps saying AMD cmpatiible with AMD, when in reality it is the other way around. Get th egacts straight please!

RE: Get it right
by mips on Sun 14th Mar 2004 16:21 UTC

He did get it right; Intel's new 64 bit line (not Itanium) will be made to be compatible with AMD64, not the other way around.

OpenSSI - Single System Image cluster for Linux
by Anonymous on Sun 14th Mar 2004 16:39 UTC


our unattainable goal (which I hope actually winds up being attainable) is to develop DragonFly into a transparently cluster-capable system implementing native SSI (Single System Image). It is something that no non-commercial system today can do (the type of clustering Linux supports isn't even close to the type of clustering that we have as our goal, and clustering has never been one of the other BSD's goals as far as I can tell).


I would suggest a look at http://www.openssi.org/ , which is SSI clustering for Linux. Soon DRBD will be integrated and then you can have a high availability shared root without shared disk hardware. (At the moment, shared disk hardware is still required for HA -- but not if you only want a non-HA shared root)

That is off topic here. Also, unlike what is being done with DragonFly BSD, OpenSSI is now, and always will be a tacked on grotesque hack to make Linux do things that it was never intended to do, and will likely never be modified to do correctly.

Please stop trolling here, this is a DragonFly article.

RE: Math (IP: ---.gpnet.dnd.ca) - Posted on 2004-03-17 19:08:33
by Anonymous on Wed 17th Mar 2004 19:54 UTC

I know that you are just trolling, but hey, you might also be a retard, so I'll try to enlighten you a little.

The SMP approach being undertaken in DragonFly is essentially lockless, meaning that it works without using mutexes. As FreeBSD 5.x is very heavilly into the fine grained mutex thing, it would have taken much more time and effort for Matt to have implemented the lockless SMP in DragonFly if he had of started with 5.x. Simple logic really, start off with a system that has fewer mutexes to begin with, and you'll have fewer mutexes that will eventually need to be removed.

RE: James (IP: ---.dial.mts.net) - Posted on 2004-03-13 22:28:09
by Kingston on Sun 21st Mar 2004 02:44 UTC

YeeHaw!

The jerkyness I spoke of ages ago when this story first came up was fixed today. Matt found some issues in kern_fork.h and a couple other files that was causing newly forked processes to have realtime priority until they were rescheduled. I've just rebuilt (for the second time today) and the laggyness that I expereinced before is now gone.

All is well with the world. ;-)