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