Modern FreeBSD (at Opentech 2010)


Published on

Outline of modern elements in FreeBSD 8.

See Section 4c of

for audio for the session. This presentation starts around the 20 minute mark.

Published in: Technology
  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

  • - embedded now uses similar technologies to servers
    - SMP dominance - (which motivates SMPng, GCD, ...)
    - ZFS and UFS improvements
    - we've lead the way in identifying how open source projects should run, and what they should do, but have done a lot of experimentation to get there
  • 1:1 - simplifying scheduler data structures and
    allowing them to use more complex heuristics
  • GCD - a new concurrent programming framework, answers mapping of M:N to 1:1
    we switched from M:N to 1:1 to simply the scheduler / threading code, and because it appeared that application writers were generally choosing to use small thread pools (say, 2-100 threads) rather than using very large numbers. In part because Linux used 1:1 and you couldn't get it to create very large thread counts
  • Apple’s FreeBSD-derived iOS on iPhone and Ipad
    FreeBSD-derived JunOS running on low-power switches
  • Recent work on algorithms and approaches that scale to high core counts through
    complex work distribution, and hardware-assisted work distribution on high-performance network cards
  • 1. as benchmarks over the last few years have shown, and we continue to aggressively exploit new parallelism.  
    2. and our kernel memory allocator has recently been updated to introduce NUMA-awareness.

  • 1. for many evolving applications such as firewall appliances and smartphones.

  • 3. Most recently, we've announced the Capsicum project, developed in collaboration with Google, to support capability-oriented OS security.
    4. capiscum cutting edge, best paper
  • 64-bit support
    background file system checking
    extended attributes
    advanced security features such as ACLs and MAC
    and most recently, journaling
    2. allows easily pluggable and extensible storage transforms,
    * storage multipathing
    * new RAID integration
    * full file-system journaling and
    * replication for fault tolerance.  
    3. with its self-healing and management features
  • 1. we even have our own Prevent server system and actively re-analyze our source code nightly.  
    2. offering introspection tools for performance and behavioural analysis
    3. allows similar analysis of userspace applications the FreeBSD foundation is sponsoring Rui Paulo to complete this.
    4. make FreeBSD one of the best OS platforms for kernel feature development, including
    a. integrated debugging
    b. dynamic lock order analysis
    Talked to many developers who actually write their Linux kernel code on FreeBSD so that they can use the debugging tools, before porting to Linux!
  • Commercial vendors have always done this: NetApp, Juniper, Apple, Isilon, Panasas, ...

  • 1. Dealing with project growth has been a critical challenge, both socially and technically.  
    1a. A social experiment that has proven extremely successful, allowing us to renew project leadership over time.
    2. Roughly ten years ago, we moved for the first time to an
    3. including the very interesting SMPng project, which involved dozens of developers (and companies) collaborating to improve multiprocessor scalability.
    4.  in which chartered teams take responsibility for portions of the project's work: release engineering, application porting, security advisories, system adminstration, bug-busting, documentation, etc,
    5. Moving away from the idea that a small "core team" of developers does it all.
    6. CVS: many extensions --> Subversion: few extensions
    7. as a way to improve our branched development methodology for
    side-projects with long life cycles, as well as
    supporting dozens of summer students each year sponsored by Google
    8. Our most
    recent developer summit at BSDCan 2010 in Ottawa had over 100 attendees
    including developers and invited guests from various companies.  That's a good
    bit bigger than the 15-20 (?) folks at the first developer summit at the 2001
    USENIX ATC in Boston.
    9. Warner’s audit of all involved licenses should be
    mentioned also.

  • ×