Dragonflybsd Presentation
Matthew Dillon
dillon at apollo.backplane.com
Sat Feb 19 12:34:51 PST 2005
:I will be revising the slides and will probably add (wip), (goal),
:(complete) at the end of the enumerations. ie
:* vfs environments (wip)
:
:Could there be any corrections left to be made? Just want to make it
:accurate as much as possible.
:
:Is it N:N or M:Ncpus
:(N:N then eventually M:Ncpus?)
:
:Thanks!
:
:--
:Eduardo Tongson
Ok, I'll go through the whole slide show. I'm adding users@ back in
for those people who downloaded your presentation and want to follow
along.
slide 3 (threading model)
Our current threading library is the bastardized 4.x pthreads
library.
David Xu is currently working on his 1:1 threading library for
DragonFly. We have implemented fast userland mutexes and are now
working on TLS support. (I think someone called this N:N before,
but the correct term is 1:1, not N:N).
The eventual goal is to implement async messaged systems calls
and support an M:N model.
slide 4 (advantages)
I would change 'Scales very well' to 'In theory, should scale
very well'.
slide 5 (packaging system)
Currently using the FreeBSD ports tree with an override mechanism.
We Intend to use or construct a packaging system that:
* Allows multiple versions of anything to be installed
* Uses a binary-install methodology for users rather then a source
build methodology.
* Takes advantage of varsyms and other DragonFly features to
present a source build environment that contains only the
elements required for the build as specified by the package.
slide 6 (journaling filesystem)
This work is in progress (not theory, but also not finished yet).
Add:
* First stage will be decoupled from the system.
* Second stage will provide feedback to journal-aware filesystems
to allow them to use the system generic journal instead of rolling
their own.
* Also intended to provide data transport services in the cache
coherency model as a third stage.
slide 7 (why not softupdates)
Generally correct. Note that fast reboots won't happen with the
journaling code until stage 3.
slide 8 (advanced networking stack)
This code is mostly finished and definitely working. The
DragonFly per-cpu protocol thread model is intended to allow
MP operation and the code is mostly MP safe, but there is still
a lot of work to do in underlying subsystems before we can actually
turn off the big giant lock.
slide 9 (improvements)
note that FreeBSD has ctl-alt-esc too, so that isn't an improvement
per-say.
slide 10 (tidbits)
Add: abstraction for supporting multiple compilers via CCVER
environment variable.
slide 11 (nifty functionality)
NG jails / UML - future
SSI - future
scheduler switching - future
VFS environs - future
Note on scheduler switching: Since DragonFly separates out the
userland process scheduler from the kernel thread scheduler, it
is in theory fairly easy to switch the userland scheduler out on
the fly.
I'm sure there are other things but that's a good start!
When you are all done and have finished presenting your slide show we
would love to have it placed on the web site!
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Users
mailing list