Google Summer of Code 2008
This page describes DragonFly's participation in Google's Summer of Code 2008.
We have been given seven slots: Google GSoC - DragonFly BSD
Contents
DragonFly Projects
Enhance dma
Max Lindner, mentored by Matthias Schmidt
See EnhanceDmaGSoC for more information
Port DragonFly to the AMD64 architecture
Jordan Gordeev, mentored by Thomas E. Spanjaard
See AMD64GSoC for more information.
RFC3542 support
Dashu Huang, mentored by Hasso Tepper
The standard application program interface (API) for TCP/IP applications is the "sockets" interface. Although this API was developed for Unix in the early 1980s, it has also been implemented on DragonFly BSD with support for IPv6 applications. Today, to fit new demands, the API standard that support IPv6 applications has experience some changes from RFC2292 to RFC3542. However, the DragonFly BSD operating system now only support RFC2292, and it don't support RFC3542 advanced sockets API, to make it catch up the change, we need to make it support RFC3542. To make DragonFly BSD support RFC3542. My work will research the codes of current IPv6 stack in DragonFly BSD and understand how it works. At the same time, I should understand some related RFC, and how other BSD's such as FreeBSD, openBSD, merged RFC3542. Through this way, I can figure out which part of the old IPv6 stack should be improved. Finally,I will update the old IPv6 stack to make it support RFC3542.
Extend Multi-Processing (MP) support
Robert Luciani, mentored by Simon Schubert
Back in 2003 when DragonFly was born, the first subsystem to be implemented was the LWKT. The reduction in complexity achieved by using message passing (as opposed to a shared memory environment using locks) was undeniable. What was also "unlocked" though, was the potential for near linear performance scaling on multiple CPU systems. Unfortunately many kernel systems, such as the network stack, need to be modified to take advantage of this potential, since they are still encumbered by a legacy "Big Giant Lock". In this project I will remove the MP lock in important areas of the kernel that have a direct affect on the performance of popular programs such as PostgreSQL.
Proportional share userland scheduling algorithm
Mayur Narayan Bhosle, mentored by Jeffrey Hsu
- Proportional share algorithms like lottery scheduling, Stride scheduling algorithm guarantee proportional share of resources like (CPU) to a processes as per their requirement stated specified during the start. The traditional schedulers achieve fairness or resource allocation by adjusting priority, but the effect is observed over a long term. But instead in case of proportional share schedulers we observe the fairness of allocation over a bounded period of time when we adjust the requirement of resources dynamically.
Anticipatory disk I/O scheduler
Nirmal Thacker, mentored by Simon Schubert
This project aims at developing an Anticipatory Disk I/O scheduler for DragonFlyBSD. An Anticipatory Disk I/O scheduler will ensure that an anticipation heuristic will nullify all possible deceptive idleness between consecutive disk accesses and at the same time try to maintain an overall good throughput. In the DragonFly BSD operating system it must also take into consideration the MP- safety factors.
LiveCD with a DragonFly-specific X desktop
Louisa Luciani, mentored by Sascha Wildner
- In this project I will integrate more functionality into the nrelease build system. The build will generate a persistent liveCD with Dragonfly specific features. It will be customized for recovery, demonstration and testing and include a good default installation.
