LET’S TALKFreeBSDFoundation UpdateThe FreeBSD Foundation is a 501(c)(3) non-profitorganization dedicated to supporting and...
FreeBSD Foundation Updatesponsorship. Trip reports are available online at the        For 2012, the following conferences ...
LET’S TALK                             Unlike Solaris zones, the           In contrast, a feed-forward approach is inheren...
FreeBSD Foundation Updateshaping and differentiation elsewhere (e.g. at the edges       C++ ABI, including i386 and x86-64...
Upcoming SlideShare
Loading in …5

Lavigne bsdmag dec2012


Published on

FreeBSD Foundation article for December issue of BSD Magazine.

Published in: Technology
  • Be the first to comment

  • 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

Lavigne bsdmag dec2012

  1. 1. LET’S TALKFreeBSDFoundation UpdateThe FreeBSD Foundation is a 501(c)(3) non-profitorganization dedicated to supporting and building theFreeBSD Project and community worldwide. It representsthe FreeBSD Project in executing contracts, licenseagreements, copyrights, trademarks, and other legalarrangements which require a recognized legal entity.I t also funds and manages development projects, • KyivBSD, held in Kiev, Ukraine on September 24 sponsors FreeBSD events and Developer Summits, • EuroBSDCon and Developer Summit, held in and provides travel grants to FreeBSD developers Maarssen, Netherlands from October 6-9who would otherwise be unable to attend Developer • FreeBSD Vendor Summit, held in Santa Clara, CASummits. from November 3-4 This article summarizes the conferences and projectsthat the Foundation funded in 2011. It concludes with how In addition to sponsoring these conferences, theyou can assist the Foundation in its efforts. Foundation paid for developers to attend the following conferences:Conferences ,Travel Sponsorship, andConference Booths • FOSDEM: 1 developerIn 2011, the Foundation provided sponsorship for the • BSDCan: 6 developersfollowing BSD conferences: • EuroBSDCon: 6 developers • GSoC Mentor Summit: 1 developer• AsiaBSDCon, held in Tokyo, Japan from March 17-20• BSDCan and Developer Summit, held in Ottawa, Each sponsored developer provides a trip report that Canada from May 11-14 indicates the value that was gained from their travel 46 12/2011
  2. 2. FreeBSD Foundation Updatesponsorship. Trip reports are available online at the For 2012, the following conferences have confirmed aFoundation’s blog: http://freebsdfoundation.blogspot.com/. FreeBSD booth with Foundation representation: Directors from the FreeBSD Foundation also volunteerat FreeBSD booths at conferences that provide exhibition • SCALE, to be held in Los Angeles, CA on January 21areas. Visiting a FreeBSD booth provides an excellent • NorthEast LinuxFest, to be held in Worcester, MA onopportunity to discuss and suggest funded development March 17work as well as to make a donation to the Foundation. At • Indiana LinuxFest, to be held in Indianapolis, IN onleast one Director was present at the following conference April 14booths: • BSDCan, to be held in Ottawa, ON on May 11-12• FOSDEM, held in Brussels, Belgium on February 5-6 It is expected that FreeBSD booths will be arranged at the• SCALE, held in Los Angeles CA on February 26 other conferences that were attended in 2011, once the• AsiaBSDCon, held in Tokyo, Japan from March 17-20 conference dates and locations have been confirmed.• Indiana LinuxFest, held in Indianapolis, IN on March 26 Funded Development Projects• FlourishConf, held in Chicago, IL on April 2 In 2011, the Foundation budgeted $125,000 to fund• BSDCan, held in Ottawa, Canada on May 13-14 development work. $85,000 worth of work has been• SouthEast LinuxFest, held in Spartanburg, SC on completed and two additional projects are being June 11 considered for the remainder of the 2011 budget. The• Ohio LinuxFest, held in Columbus, OH on September following development projects have met their completion 10 milestones:• EuroBSDCon, held in Maarssen, Netherlands on October 8-9 IPv6 support in FreeBSD and PC-BSD• LISA, to be held in Boston, MA on December 7-8 Bjoern Zeeb, recipient of the Itojun Service Award for (upcoming) his work on open source implementations of IPv6, was awarded a grant to improve the maturity of IPv6 support in FreeBSD and PC-BSD. This project was jointly sponsored with iXsystems, the corporate sponsor of the PC-BSD project. FreeBSD’s original KAME-based reference implementation of IPv6 first appeared in FreeBSD 4.0 and is found in a broad range of FreeBSD-derived commercial products. Before this project, IPv6 was an optionally configured feature present in the default FreeBSD kernel; however, that configuration also implied configuration of IPv4. With much „IPv6-ready” application software relying on dual-stack behavior, broken IPv6 applications go unnoticed. This project added support for an IPv6 kernel without IPv4 which makes FreeBSD and PC-BSD the ideal test and development platform for both open source and proprietary IPv6-aware application software. This project was completed in time for both the FreeBSD and PC-BSD projects to participate in World IPv6 Day, held on June 8. IPv6-only versions of FreeBSD (http://www.freebsd.org/ipv6/) and PC-BSD (http:// pcbsd.org/IPv6) are available. Resource Containers Project Edward Napierala was awarded a grant to implement resource containers and a simple per-jail resource limits mechanism.www.bsdmag.org 47
  3. 3. LET’S TALK Unlike Solaris zones, the In contrast, a feed-forward approach is inherently robust implementation of FreeBSD and allows near-optimal performance to be reached. This Jails did not provide per-jail project extended the FreeBSD kernel timing system to resource limits. As a result, support feed-forward synchronisation daemons. This users were often forced new synchronisation system allows both feed-back and to replace jails with other feed-forward approaches to run on one system and give virtualization mechanisms. This users the possibility to select the one more suited to their project created a single, unified needs. framework for controlling resource This feed-forward approach provides various new utilisation, and used that framework features such as faster timestamping, a new difference to implement per-jail resource limits. clock to measure time intervals with GPS-like accuracy In the future, the same framework and extremely high robustness, the ability to replay might be used to implement the clock offline based on stored raw timestamps, more sophisticated resource and accurate timing for virtual machines and live VM controls, such as Hierarchical migration. Resource Limits, or to implement mechanisms similar to AIX WLM. It Implementing xlocale APIs could also be used to provide David Chisnall received a grant to implement xlocale APIs precise resource usage to enable the porting of libc++. accounting for administrative FreeBSD has always had its own C standard library or billing purposes. implementation but uses the GPL-licensed GNU libstdc++ as the C++ standard library. libc++ is an alternative library Implementing support of that was developed as part of the LLVM project and GEM, KMS, and DRI for Intel which is available under the UIUC and MIT licenses. Drivers This library depends on a low-level C++ ABI library. An Konstantin Belousov was awarded implementation of this ABI was written for PathScale anda grant to implement support of GEM, KMS, the FreeBSD and NetBSD Foundations jointly paid theand DRI for Intel video drivers. This project was also co- costs for it to be open sourced.sponsored by iXsystems. The other dependency is the C standard library. libc++ The project implemented GEM, ported KMS, and was written by Apple and uses a set of non-portablewrote new DRI drivers for Intel Graphics, including the extensions for localisation known as xlocale. This projectlatest Sandy Bridge generation of integrated graphic implemented the missing xlocale APIs into FreeBSD’sunits. Once the work is fully tested, it will be committed standard C library. Now that the project is complete, it isand should allow the latest Intel open-source drivers possible to build libc++ on FreeBSD.with integrated, 3D-accelerated graphical capabilitiesto run on FreeBSD, expanding the range of hardware DIFFUSEwhere FreeBSD is suitable for the desktop. PC-BSD The Swinburne University of Technology’s Centre fortesting snapshots that use the committed code are Advanced Internet Architectures was awarded a grant toexpected to be available before the end of the first implement DIFFUSE for FreeBSD.quarter of 2012. DIFFUSE (Distributed Firewall and Flow-shaper Using Statistical Evidence) is an extension to the FreeBSDFeed-Forward Clock Synchronization IPFW firewall subsystem which allows IPFW to classifyAlgorithms Project traffic based on statistical properties of realtime flowsJulien Ridoux and Darryl Veitch at the University of and to instantiate network actions across a distributedMelbourne were awarded a grant to implement support of set of action nodes for particular flows. DIFFUSE usesfeed-forward clock synchronization algorithms. machine learning techniques to enable robust and For many years, NTP has been the reference solution efficient classification of IP traffic flows based on theirto synchronize computer clocks inexpensively. However, unique statistical properties in addition to traditionalthe ntpd daemon has begun to show limitations which are inspection of packet header or payload contents.mainly due to the feed-back nature of its interaction with DIFFUSE also allows traffic classification to occur in onethe kernel. place (e.g. in the core of a network) and trigger traffic 48 12/2011
  4. 4. FreeBSD Foundation Updateshaping and differentiation elsewhere (e.g. at the edges C++ ABI, including i386 and x86-64, and will replaceof a network). portions of the C++ stack previously only available under the This project integrated the DIFFUSE prototype GPL. It provides implementations of the dynamic featuresinto FreeBSD which will increase FreeBSD’s utility of C++, including dynamic casting, exception handling, andto designers and implementers of FreeBSD-based thread-safe static initializers, and will continue the gradualnetworking infrastructure. DIFFUSE has applications in replacement of GNU toolchain and runtime components,ISP, residential broadband, and large corporate network furthering the aim of a purely BSD-licensed system.scenarios. The Foundation Needs Your Help!Five New TCP Algorithms Project The FreeBSD Foundation is entirely supported byGrenville Armitage was awarded a grant to implement five donations. The Foundation is thankful for the support itnew TCP congestion control algorithms. receives from the many individuals and companies Previous to this development work, FreeBSD’s TCP stack who value FreeBSD. As of December 1, thedid not have an easy-to-use mechanism for introducing Foundation hasnew congestion control algorithms. This project delivered raised $201,000the following enhancements to FreeBSD’s TCP stack: towards its 2011 goal of $400,000.• Modular congestion control framework. You can help• Khelp (Kernel Helper) and Hhook (Helper Hook) us to reach our frameworks. fund raising goal of• Basic Khelp/Hhook integration with the TCP stack. $400,000 by the end• ERTT (Enhanced Round Trip Time) Khelp module for of December by making delay-based TCP algorithms. a donation.• Modularised implementations of NewReno, CUBIC See http://www.freebsdf and HTCP loss-based TCP algorithms. oundation.org/donate/ for• Modularised implementations of Vegas, „HD” and details about the donation „CHD” delay-based TCP algorithms. process.• Technical report comparing the computational By helping the overhead associated with TCP before and after Foundation meet its fund integrating the new frameworks and modularised raising goal, you are enabling NewReno algorithm (http://caia.swin.edu.au/reports/ the Foundation to increase its 110228A/CAIA-TR-110228A.pdf). project development funding, purchase needed equipmentEach congestion control algorithm is implemented as for the FreeBSD project’sa loadable kernel module. Algorithms can be selected infrastructure, and support moreto suit the application/network characteristics and FreeBSD related conferences.requirements of the host’s installation. The modularframework makes it much easier for developers toimplement new algorithms, allowing FreeBSD’s TCP tobe at the forefront of advancements in this area, while DRU LAVIGNEstill maintaining the stability of its network stack. Dru Lavigne is author of BSD Hacks, The Best of FreeBSD Basics, and The De�nitive Guide to PC-BSD. As Director of CommunityOther Projects Development for the PC-BSD Project, she leads the documentationIn addition to the development projects, the Foundation also team, assists new users, helps to �nd and �x bugs, and reaches out tonegotiated a non-exclusive copyright license to the libcxxrt the community to discover their needs. She is the former ManagingC++ runtime software from PathScale. This software is an Editor of the Open Source Business Resource, a free monthlyimplementation of the C++ ABI originally developed for publication covering open source and the commercialization ofItanium and now used for the x86 family by BSD operating open source assets. She is founder and current Chair of the BSDsystems. libcxxrt will be available under the 2-clause BSD Certi�cation Group Inc., a non-pro�t organization with a mission tolicense. This implementation is a full replacement for the create the standard for certifying BSD system administrators, andGNU libsupc++ library for platforms that use the Itanium serves on the Board of the FreeBSD Foundation.www.bsdmag.org 49