Another batch of code has arrived from Google Summer of Code student work. In this case, it’s code from Adam Hoka’s “Implementing a mirror target for device mapper” project, committed by Alex Hornung. I think there’s potentially more to come.
Category: Google Summer of Code
Anton Panev is working on a Google Summer of Code project for NetBSD, adding support in pkgsrc for RPM/Debian package formats. He posted a status report recently; will this come to DragonFly via pkgsrc? I don’t know!
Samuel Greear posted a progress report on his kqueue Summer of Code project. There’s code available now to try it out. It sounds grand, though I can’t identify what effects it will have for the end user.
All 6 Google Summer of Code projects for DragonFly have reached the midterm, and passed!
If you are a Summer of Code student or mentor, make sure you’ve filled out your midterm survey. Without it, your project fails – and they are due for everyone in roughly the next 24 hours!
One of the perpetual questions about Summer of Code is “Why can’t there be documentation projects?”, since most open source projects need docs as badly as code. There’s various reasons that I’m too lazy to research and type out, I’m sure, but Google is sponsoring a “Doc Camp“, in October. You don’t have to be in Summer of Code; you just have to be willing to spend the 17th through the 25th writing documentation. Google pays for room and board, and you can apply for transportation cost coverage. A classy idea, all around. Someone participate and report back!
There’s an update on Stéphanie Ouillon’s Google Summer of Code project, working on the virtio block device driver.
Stéphanie Ouillon has posted extensive details on the Virtio Google Summer of Code project; a few questions are included for anyone who wants to jump in and offer feedback.
One of the Google Summer of Code projects that will be valuable for DragonFly even though it isn’t a DragonFly project: “Add other package formats to pkgsrc”, where pkgsrc can interpret rpm, dpkg, and FreeBSD Ports files. Anyway, the project has a Sourceforge site.
And here’s one last writeup/introduction for Google Summer of Code projects on DragonFly: kevent part 2. (Apparently school exams prevented this from being written sooner.)
Kedar Soparkar applied for Google Summer of Code with DragonFly, but didn’t make the cut with the very few slots we have. So, he’s going to work on his i386 ABI implementation anyway. More student work is always wonderful news.
Two more of the DragonFly and Google Summer of Code projects: Irina Presa’s checkpointing vkernels, where you can save a running virtual kernel and start it again later, and Nick Prokharau’s port of PUFFS.
(Anyone know the HTML character code for ‘s’ with an inverted grave mark so I can spell Irina’s name correctly?)
Yay acronyms! Brills Peng was accepted for the Summer of Code project “Improve dsched interfaces and implement BFQ disk scheduling policy” – and now there’s a nice writeup describing what’s planned. Also, Stéphanie Ouillon did the same thing for the virtio drivers project. Adam Hoka also joined in with a summary for his LVM mirror project. Please keep this up, students.
Google’s announced the accepted projects for 2011. DragonFly has 6 slots!
We had a large number of interesting project proposals; far more than than the slots available. If you’re one of the students who did not get in, please consider working on your project as time allows. I know it won’t be lucrative, but I’d still like to see them happen.
Here’s the list of accepted projects:
- Implementing a mirror target for device mapper: Adam Hoka, mentored by Joe Talbott
- Improve dsched interfaces and implement BFQ disk scheduling policy: Brills Peng, mentored by Alex Hornung
- Make vkernels checkpointable: Irina Presa, mentored by Venkatesh Srinivas
- Port PUFFS from NetBSD/FreeBSD: nickprok, mentored by Nathaniel Filardo
- Bring kernel event notification in DragonFly BSD to its logical conclusion: Samuel J. Greear, mentored by Sascha Wildner
- Porting Virtio Drivers from NetBSD to DragonFly BSD to speed up DragonFly BSD as a KVM guest: Stéphanie Ouillon, mentored by Pratyush Kshirsagar
This upcoming Monday should be exciting! It’s the planned date for the release of DragonFly 2.10. Also, the accepted projects for Google Summer of Code (including for DragonFly) will be announced.
There’s been plenty of discussion about Summer of Code projects on the mailing lists. One conversation about “Implementing a mirror target for the device mapper” led to a longer description from Venkatesh Srinivas about mirroring and how he’s looked at implementation.
I had linked to this before during Summer of Code 2010 before it completed, but an ongoing discussion on the kernel@ mailing list for DragonFly reminded me: a student named Naohiro Aota put together a Gentoo/DragonFly system for SoC 2010, similar to the existing Gentoo/FreeBSD project. He’s interested in working directly with DragonFly, now.
The mentor signup page for Google Summer of Code 2011 as of this writing still says “We have temporarily disabled the creation of new requests and invites in preparation of the launch of the new UI for Melange later this week.”, as it has said since the 20th.
So, if you’re wanting to mentor, keep an eye on it. I’ll send mentor requests to any of the names on my list of people that have already expressed interest, if I get to a working version of the page before you do…
For the curious, or for those who plan ahead, I posted what’s on the Google Summer of Code student application for DragonFly.
If you were thinking of working on a disk scheduler for DragonFly, this is your lucky day! Brills Peng asked for some overall guidance on how to start on a Summer of Code project. I threw out some general tips, Alex Hornung talked up resources on kernel programming, and Venkatesh Srinivas described exactly what you’d need to write a disk scheduler. There’s about 50% of a whole proposal, prewritten.
We made it into Google Summer of Code for a 4th year! (yay!)
If you want to mentor, apply here:
(You will need to create a login if you don’t have one.) I’m assuming the applicants are going to be people I know with a direct history with DragonFly; otherwise be prepared to give a good history. Signing up to mentor does not mean you must mentor if there aren’t any projects that interest you; it does mean you need to review applications and provide feedback for students March 28th – April 8th.
If you want to be a student with DragonFly:
Check the projects page for ideas:
… or come up with your own.
Get your application together by March 28th. Start talking about it on the mailing list or IRC or however as soon as you can; there’s a direct relationship between the amount of preparation we see beforehand and people getting accepted.
Here’s the timeline:
Copied from my email to users@/kernel@, cause it has everything you need.
dragonflybsd.org is down right now, so if you’re looking for the Google Summer of Code ideas page for DragonFly, I have a local mirror of that page.
Update: dragonflybsd.org is back up, but I’ll keep that mirror there just in case…
I forgot to mention it when I did this opening night, but: DragonFly’s application to Google Summer of Code 2011 is in. We find out if we’re accepted on the 18th.
“Arjun S R” wrote to the kernel@ mailing list asking about the Google Summer of Code projects for DragonFly that he found interesting. Samuel Greear has a response so detailed it includes links to a similar project proposed last year. It also works as a good model for how much thought needs to go in before you start.
Update: there’s more, plus some pertinent advice!
If you’re interested in mentoring for DragonFly and Google Summer of Code for 2011, please speak up. You don’t have to mentor if you don’t see any projects you like – I just need an initial count for the application. If you don’t want to mentor at all, but you’ve got ideas: there’s a place to tell people about it.
The November issue of the Open Source Business Resource is out, with the theme of “Economic Development.” I like the microcredit article, but perhaps that’s just my special interest.
The December issue’s theme is “Humanitarian Open Source” and the guest editor will be Leslie Hawthorn. She’s currently Open Source Outreach Manager at Oregon State University Open Source Lab, but some may remember her as the face of Google Summer of Code for the past several years.
I’ve applied on behalf of DragonFly for Google Code-In. It’s similar to Google Summer of Code, but focuses on 13-18-year-olds and smaller tasks. It runs over the year-end, and we’ll know if we’re in by November 5th.
In the meantime, if you have ideas that could fit the program (see task list at the Google site), please put them on the DragonFly project page.
All three of the Google Summer of Code Projects for DragonFly are complete and passed! The code for each will show up at the Google-hosted project page in the next week or so. The original proposals for Alex Hornung’s device mapper/LVM, Samuel Greear’s kevent/select/pool work, and David Shao’s GEM/KMS porting are still there on the Google project page for DragonFly.
Samuel J. Greear posted a note about his Summer of Code work, focusing on selective wakeup. He outlined his strategy, and then posted benchmark numbers – using Apache, lighthttpd, and a minimal web server he wrote just to show the improvements from selective wakeup.
David Shao has updated his GSoC project page on the DragonFly website. His project is updating DRM/GEM/KMS for BSD systems. It’s a huge but important piece of work. This update brings news on updates to locking systems and data structures.
Samuel J. Greear’s work on his Google Summer of Code project, unifying the select/poll/kevent subsystem into kevent, is already available for testing. Any testing – just booting, or running X, or other simple tasks – is useful, as this new system touches many things.
Samuel Greear has a whole page about his Google Summer of Code kqueue project, recently updated.
Yay, acronyms! GSoC student David Shao has an extensive page up describing the state of his work so far.
From a commenter on a previous post: Gentoo has a Google Summer of Code project porting portage to DragonFly, by student Naohiro Aota. I had no idea this was happening – this is interesting!
We’ve got 3 projects for Google Summer of Code 2010:
- “Device Mapper based Logical Volume Management”, by Alexander Hornung and mentored by Chuck Tuffli.
- “Porting kernel mode-setting, GEM and KMS, to DragonFlyBSD” by David Shao, mentored by Matthew Dillon
- “Coalesce + MPSAFE kevent, select, poll and wakeup” by Samuel Greear, mentored by Joe Talbott
We had a good number of excellent proposals, but only 3 slots from Google. There were only 12 spare slots by the end of the proposal period, too, meaning less than 1 spare per 10 organizations. I’d encourage people that applied and didn’t get in to still try the work; there were some neat proposals!
Visit the GSoC site for more details.
We’ve got 28 applications for Summer of Code, approximately what we had last year. If you’re a student, hold tight. We’ve got until the 21st to get everyone matched up, student <-> mentor.
If you’re a potential Summer of Code student, there’s about 72 hours left in the student application period. Get it in there!
We’ve got a third year in Summer of Code!
The timeline shows about a week and a half for planning, and then student applications begin on the 29th of March, and run to April 9th.
If you want to participate as a student, start planning now by talking with people on IRC (#dragonflybsd on EFNet) or on the mailing lists. You cannot be over-prepared.
We have several potential Summer of Code mentors already, but if you want to get in on the action, let me know. Org applications start Monday, and I’d like a count before then…
(reproduced from my email to users@/kernel@)
The application period for Google Summer of Code 2010 starts in about a
week. We were able to enter in 2008 and 2009, so I’m optimistic that we
will get in for 2010 too.
Saying “I’m willing to mentor” doesn’t force you to commit yet; you don’t
have to work with a student on a project you don’t find interesting.
However, mentoring is a multi-week commitment to support a student who may
or may not have the best planning skills – please be ready to help.
I need to know soon how many potential mentors we have since we have to
ask for a given number of slots from Google as part of the application
process. If you are interested in mentoring, speak up here or by email, please. If
there’s a particular project on the GSoC 2010 page that looks interesting,
put your name by it.
The Google Summer of Code ideas page for DragonFly is growing faster than I expected. If you have an idea (or, even better, want to take on a project assuming we make it into SoC), take a look.
If you need to talk about/sell the Google Summer of Code idea to people, Google now has a set of templates for GSOC presentations. Use them to drum up interest, or persuade someone to mentor/be a student.
Google’s posted a FAQ for Summer of Code in 2010, which includes a timeline. There’s also a 2010 calendar, which is perhaps most useful in “Agenda” view. Keep those dates in mind if you are planning to participate. If you feel like doing some promotion, there’s a section with flyers in multiple languages.
Also, the GSOC 2010 logo. Logo’s pretty, but typographically, it’s brutal. More importantly, the student stipend has increased to USD $5,000 for 2010.
I can’t keep up with all the things to post. I desperately want to clear my inbox, so here’s a week’s worth of posts all smushed together. Enjoy!
- Naoya Sugioka’s tmpfs work is almost ready to go.
- Francois Tigeot is looking to find supported RAID hardware for DragonFly; the LSI1068e isn’t useable. Freddie Cash listed a number of different and fully supported cards, and Francois listed some other potential choices.
- While talking about hardware, Steve O’Hara-Smith reported excellent results with a particular Atom 330-based board and DragonFly.
- Stathis Kamperis has added to ‘hammer snapls’ output; an example is in his submit@message.
- The 2.6 release of DragonFly, scheduled for March, will have version 4 of HAMMER. 2.4 has version 2. Upgrading from version 2 to 4 can happen in place, live, and only needs to happen once per volume, not per PFS. That’s about as easy as it gets. More details are available.
- The default sshd config has been updated; this shouldn’t affect your normal operations unless you’re using one of the mentioned options.
- Oliver Fromme linked to more discussion of SSD durability.
- Also, Matthew Dillon posted more notes and benchmark numbers for his swapcache work. There’s been some side benefits too. A man page for swapcache is now available.
- Aggelos Economopoulos’s libevtr has been added, for event tracing. He’s posted some additional notes on this work-in-progress.
- We now have /var/log/daemon, too.
- Notes on prepping for Google Summer of Code 2010 from the GSOC Discussion list; I don’t know if that link is readable for nonsubscribers.
- The Definitive Guide to PC-BSD is out at the end of this short month. Dru writes good books.
- Did you know FreeCiv (a Civilization clone, of sorts) is playable in a web browser? Goodbye free time! Details are available at my favoritest game site.
Matthew Dillon went to the Google Summer of Code Mentor’s Conference at Google’s offices in California, and took some pictures. It’s all available on Flickr. He was the only DragonFly attendee, but check to see what developers on other open-source projects look like in person. There’s even the not-related-to-me Joel Sherrill (on the left).
Stathis Kamperis, as part of his Summer of Code work, ported NetBSD’s POSIX message queues to DragonFly. He has a writeup of all the details, and even has test cases! It should be showing up in 2.5 soon.
DragonFly’s newest committer is Jordan Gordeev, whose name may already be familiar. He’s the student behind the 2008/2009 Summer of Code projects for AMD64 support in DragonFly. You’ll notice the 2.4 release has a 64-bit version, in no small part due to his effort. Welcome Jordan!
I’ve got a number of little items, so more roundup:
- How much disruption happened in DragonFly after introducing a dynamic device system? Surprisingly, very little, as most of pkgsrc still builds. Thanks are due to Hasso Tepper for the corrective work.
- _why makes some very perceptive comments.
- Jordan Gordeev’s been working on the very difficult AMD64 port as part of his Summer of Code work. He says thanks for the help, and others reply in kind. Speaking of which, it’s possible to boot 64-bit DragonFly now, though it’s not production-ready.
The DevFS Summer of Code project is going into DragonFly this weekend; be ready for surprises if you update. It’s not complete yet; there’s a few more weeks for Summer of Code, but there’s other work that this code will enable.
Google has published some inital statistics from the 2009 midterms. This covers all Summer of Code projects, not just DragonFly.
Remember, projects are due August 17th at the very latest.
The short summary: everyone passed. Yay!
5 weeks to finish!
The in-progress code for the Summer of Code project ‘DragonFly on AMD64’ has been imported; you can now build for SMP on AMD64, and complete a installworld/buildworld, natively. Modules don’t (yet) compile…
Alex Hornung is looking for suggestions on the userland tool(s) for his devfs project. This is a Google Summer of Code project, and I’m a bit late posting this, so hurry if you want to get your two cents in.
If you’re a student or mentor for Google Summer of Code, all midterm surveys have to be done by tomorrow, the 13th, at 12:00 PDT. Please do it if you haven’t – payment depends on participation.
The Google Summer of Code midterms are almost upon us. Starting July 6th (that’s next Monday), students and mentors will need to fill out a survey detailing how the project is going. There’s a preliminary version at Google Docs, so you know what to expect when they go up on the GSoC site. They will have to be completed by the 13th.
If you’re a student: make sure you have code that shows progress. If you’re behind schedule, cram.
If you’re a mentor: make sure you are aware of your student’s progress. If the student’s behind schedule, help them cram.
Gleaned from the SoC mailing lists: the tenative dates for the 2009 Mentor Summit for the Google Summer of Code program is October 24th and 25th. Where? Probably Mountain View, CA.
If you want to try either one (warning: many parts still broken!), use a vkernel for the devfs so a physical system doesn’t get broken. There’s build instructions for pulling together AMD64 DragonFly.
Update: manual instructions for AMD64, too.
While asking some questions, Alex Hornung let drop some of the details of his Summer of Code devfs project. Sounds like he’s making good progress.
Statis Kamperis is working on POSIX conformance for DragonFly as his Summer of Code project; he’s posted some questions about the agreement he is given for the Open Group’s test suites. If you’re curious, he links to a copy of the agreement. (I have an I-am-not-a-lawyer-but-have-worked-on-a-number-of-contracts followup)
Dan Chis has posted a summary of his Summer of Code project: debugging multi-threaded applications. He also has some details of his current thesis in there… He’s busy.
Of particular interest is Robert Luciani’s talk about M:N threading in DragonFly. Yes, that’s the same Robert Luciani who is participating in Summer of Code with DragonFly to profile kernel contention on multiprocessor systems.
There’s 5 slots for DragonFly in Summer of Code for 2009, and the students in those slots are listed below. We had some very good applications; more than we had room for and higher quality than last year. If you did not get in, please consider working independently.
Student: Alexander Hornung
Project: DevFS for DragonFly BSD
Mentor: joe talbott
Student: Dan Chis
Project: Support debugging of multi-threaded applications
Mentor: schubert simon
Student: robert luciani
Project: Profile kernel contention on MP systems
Mentor: Samuel Greear
Student: Jordan Gordeev
Project: Finish amd64 port of DragonFly
Mentor: Matthew Dillon
Student: efstathios kamperis
Project: C99/POSIX Conformance Audit
Mentor: hasso tepper