The last MP step

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.

More performance graphing

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.

Improved DragonFly threading performance

Performance curve for DragonFly 2.12

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.

OSBR: now it’s TIM

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.

Potential job available

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.

More blogbench benchmarks

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.

Summer of Code and DragonFly, 2011 wrapup

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:

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.

 

 

PHP 5.3 update on the way

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.