User ‘Zenny’ asked questions about setting up a server similar to ones described in this presentation, except using DragonFly and Hammer. Most of it is possible now, going by the thread.
There’s only one multiprocessing bottleneck left in DragonFly: vm_token. Matthew Dillon’s working on removing it, and he’s been testing his initial results on a 4-core machine and a 48-core machine, using heavily parallelized buildworlds to test concurrency. He’s posted the results, showing an initial speedup of up to 30%. This definitely isn’t going to make it into 2.12, but it’s looking good already. Keep in mind these are improvements on top of the performance graphed here yesterday.
Venkatesh Srinivas sent along a graph of his nmalloc testing that shows mysql threading performance on DragonFly, from slightly over a year ago. Both graphs were done on a 4-core system, though I don’t know if the specs are comparable, so the curve is important. Look at the just-posted curve for comparison. That’s how much things have improved.
In fact, here’s a cheesy overlay, cropping the more recent results and laying the old ones on top of it. The black lines are the year-ago performance, and the colored lines are the performance now.
Samuel Greear has graphed out the performance of both MySQL and Postgres on DragonFly 2.12 as you add threads. There’s a very nice correlation on performance and number of cores. For comparison, there’s this old test from 2007 which shows uniprocessor performance to be good but not improved by adding cores. The tests were on completely different hardware, so the actual curve of the graph is the telling point.
As he points out in his post, excellent multiprocessor performance is arriving on DragonFly, without any catastrophic shifts or destabilizing changes.
The 2.12 branching generated a list of every DragonFly commit since 2.10, grouped by committer. Good to browse through. Try to ignore the part where it shows the measly 4 things I did, with poorly constructed commit messages.
It’s not the 2.12 release yet – just the initial branch of 2.12. This will become the release version of 2.12 in a few weeks.
The Open Source Business Resource, linked here before, has become the Technology Innovation Management Review, or TIM Review. Conveniently, the editor is named Chris, not Tim, so nobody will get confused. It’ll still cover open-source software, but it’ll also
“share the spotlight with topics such as managing innovation, technology entrepreneurship, and economic development”
The first relaunched issue will be out in October.
A position opened up for a junior systems administrator at my workplace. You have to be willing to live near Rochester, NY, administrate a mix of Windows and unixy machines, do desktop support, and network management. (e.g. everything possible) The work environment is neat, informal, and somewhat adverse. I’ll have a job description soon, I hope.
Michael W. Lucas is setting up two DragonFly machines, to try out Hammer. I linked to his tweet about this in the last Lazy Reading post, but this is a more in-depth explanation of what he’s doing. So far, it just works. (as seen on Reddit, too.)
I finished a build of pkgsrc-current on x86_64, with a report on what built. I’ve kicked off a new build, and I expect at least 100 more packages to build thanks to John Marino’s work on pkgsrc and DragonFly.
Want to create getcontext for DragonFly/x86_64? Apparently we need it.
The freeze for the next quarterly release of pkgsrc has been extended another week, to October 2nd. This will push the DragonFly 2.12 release out a ways, too.
I’ve put together a catch-all ticket for remaining issues to fix before the 2.12 release of DragonFly: Issue 2135. Several of the issues have already been dealt with by Peter Avalos and Sepherosa Ziehau, so a hat tip for them!
As is common for the combination of new Postgres releases and new pkgsrc quarterly releases, Postgres 8.3 is going to be missing from pkgsrc-2011Q3. The default version of Postgres installed by pkgsrc will become 9.0 after that quarterly release. (9.1 is already present in pkgsrc.) This is all planned by Joerg Sonnenberger.
As predicted and now announced, pkgsrc is now frozen for the next week. If everything goes well, we’ll have pkgsrc-2011Q3 next week.
Francois Tigeot has done another set of benchmarks using blogbench to test reading and writing under different DragonFly versions, plus some OpenIndiana benchmarks just to mix it up. Writing performance seems to have drastically improved between DragonFly 2.10 and 2.11.
His post has an attached PDF with, of course, graphs. This site has previously mentioned other not-really-comparable disk testing performed by Francois.
I proposed some changes to the way DragonFly does releases, and how we handle pkgsrc binary builds. The thread on kernel@ is a bit long, so just read my summation. My idea for a longer release cycle didn’t really fly, but pkgsrc binaries will be built on a rolling basis, I think.
From what I can tell, Sepherosa Ziehau’s made some changes where you can control TCP timeout and keepalive timing on a per-tcpcb basis, or at least that’s what I gleaned from the docs. He’s been doing a lot of work lately, but it’s hard to link to because so much of it is at a basic level that makes it difficult to summarize in terms of how the features affect the user.
DragonFly had another good year with Google’s Summer of Code program. We had 6 slots, and 5 passed projects. (Irinia, if you’re reading this – where did you go?) This is our 4th year participating in Summer of Code, with I think the highest number of passed projects to date.
Here’s all the finished projects, with links to the original descriptions:
- Bring kernel event notification in DragonFly BSD to its logical conclusion – Samuel Greear
- Implementing a mirror target for device mapper – Adam Hoka
- Improve dsched interfaces and implement BFQ disk scheduling policy – Brills Peng
- Port PUFFS from NetBSD/FreeBSD – Nick Prokharau
- Porting Virtio Drivers from NetBSD to DragonFly BSD to speed up DragonFly BSD as a KVM guest – Stephanie Ouillon
Thanks is also due to the mentors and other that helped out, via IRC and email: Aggelos Economopoulos, Alex Hornung, Joe Talbott, Matthias Schmidt, Michael Neumann, Nathaniel Filardo, Pratyush Kshirsagar, Sascha Wildner, Thomas Nikolajsen, and Venkatesh Srinivas
You can also check the Digest’s “Google Summer of Code” category for progress reports made as the summer went on. The source code from the projects is available at the DragonFly/SOC 2011 Google Project Page. In even better news, 2 of the projects have already been partially committed to DragonFly – Brills Peng’s scheduler work, and Adam Hoka’s device mapper mirror project.
For reasons unknown to me, there’s enough functional change between PHP 5.2 and PHP 5.3 that it affected a lot of PHP-based programs. For that reason, PHP 5 in pkgsrc defaults to the 5.2 version. However, it’s going to be 5.3 for the next stable quarterly release of pkgsrc. In theory, all PHP5-dependent programs are ready to handle that now. Note that PHP 5.3 is already in pkgsrc; it just wasn’t the default. If you were using the php53 package, it may require some manual fiddling at your next upgrade of pkgsrc packages.