What’s all the fuss about Multicore?

I’ve been a bit quiet lately, but not because there’s nothing going on! I’m changing jobs in a few weeks time, and beginning a new adventure. More on that later. In the meantime here’s a tidbit from the world of High-Performance Computing, explaining a topic which is important to everyone in the industry as multicore CPUs go from being an exotic technology to becoming the default configuration.

Over on the Star-P blog they’re answering the question: “Multicore: Why all the Hubbub?”

If we tag 2006 as the widespread advent of general-purpose multicore (dual-core) chips and extrapolate with Moore’s Law (a factor of 4 every 3 years), that says 2009 will bring 8-core sockets and 2012 32-core sockets. And those cores may not be getting much faster from generation to generation, unlike the last several years, so delivered performance improvements will depend heavily on making use of those extra cores. In a computing world where parallelism was a niche technology until recently, this is a Big Deal.

It’s an accessible introduction to the challenges ahead of us as we move to multi-core architectures.

Technorati Tags: , , , , ,

Who’s being swindled?

I’ve developed a particular interest in the climate change “debate” due to my current position supporting the activities of a number of climate scientists who use the TPAC supercomputing facilities to simulate the earth’s climate.
 
Chris Samuel (Deputy Systems Manager at VPAC) provided a link to recent research debunking the claims of the controversial BBC documentary “The Great Climate Change Swindle”, which was shown on ABC last night.

I didn’t bother watching it myself, but I’ve heard on radio that one of the claims in this program was that the “climate scientists” had completely ignored the effects of the sun when coming up with their theories about carbon dioxide contributions toward global warming.  Anyone who cares to can verify for themselves that this claim is false simply by reading the IPCC’s Summary for Policymakers on the Physical Basis of Climate Change.

It’s only 18 pages long, and condenses the investigations of the IPCC into a number of statements about what’s happening with global climate change and the science behind it.  Of particular interest are graphs like this:

Detail from graph comparing observed and predicted global temperature changes, IPCC, 2007: Summary for Policymakers. In: Climate Change 2007: The Physical Science Basis (p.11)

This graph (from page 11 of the summary) shows the temperature changes predicted by computer simulations of the earth’s climate, and divides the simulations into those which include anthropogenic forcings (human influences, on the pink line) compared with those which don’t (on the blue line).  Up until about 1960-ish the two groups of models have about the same accuracy, but after that point you can see that only the simulations which include human effects on climate change are able to match the observed changes (the black line).

I think it’s likely that there’s a lot of politics in play from both sides of the debate, even in producing a report such as this.  However, working with some of the scientists involved in the field of climate science (including one of the lead authors of this summary) all I’ve seen is a bunch of smart people working to understand the scientific facts of how our climate works.  Like all scientists, the only thing required to get them to change their minds is hard evidence.  Given that, I’m confident that there’s no global conspiracy supporting climate change theories which fly in the face of scientific evidence.

Or at least, if there were such a conspiracy, the people behind the “swindle” documentary would be the perpetrators rather than the victims.

Technorati Tags: , , , , ,

Leveraging LinkedIn

My friend (and ace python/javascript hacker) Tim Stebbing has only just dipped his toes in the water with LinkedIn, and was wondering how many people he’d find in his network when searching on his primary area of expertise.

I figured I’d give it a go too - while I’ve been slowly building my LinkedIn network I haven’t yet made much of an attempt to use it, and I guess the first step in using it is having some understanding of what sort of expertise is available to me.

So, here’s my first query:

LinkedIn Sysadmins

That’s not too bad a result, I guess.  The next step is probably to go through the list identifying people I might be able to help, as well as people I’d like to be more like.

Searches for less specific terms (such as “linux”, or “php”, “python”, or even “grid”) bring up so many contacts that the list gets capped at 500.  Still, assuming those are sorted well for relevance, its useful to know there are a large number of potential contacts with whom I may have some friends or colleagues in common.

Sysadmins must be able to use a compiler.

Chris Josephes over on the O’Reilly Sysadmin blog just posted an article titled “It wouldn’t hurt you to use the compiler”, about sysadmins who won’t install anything that didn’t come prepackaged.

As a *nix admin, it used to be assumed that compiling software was part of the job.  While I’ve now reached the point where I avoid compiling things unless absolutely necessary, that’s more because vendor packaging has improved and using those packages greatly reduces my workload.  If I choose to compile something when there’s a vendor package available, I’m effectively nominating myself as a maintainer of a forked version of the package.  There needs to be a pretty good reason before I feel like doing this.

On the other hand, not being capable of doing this would be pretty scary.  Sometimes when things break it’s because of a bug in the software.  The bug might already be fixed upstream, you may even be communicating with developers who’ve fixed it in their source - but if you’re relying on someone to package it up for you before you can use it, you’re out of luck.

Also, there are times when you need to squeeze the most performance out of an application that you can, and usually this means compiling a version which is custom built for your environment.  Obviously if you can’t compile software yourself, this won’t be an option.

Finally, compiling software is frequently the only way to try out the latest versions of software you’re already using, or to get your hands on new tools that may be able to solve a problem in your environment.

Chris mentioned a couple of interview questions he asks prospective sysadmins in order to determine whether or not they understand the process of building software.  I’ve asked similar questions myself; and while our current environment includes users who sometimes need support when compiling their own code, I wouldn’t consider hiring a sysadmin in any position if they didn’t have at least a basic grasp of how to compile something from scratch.

A minor overhaul..

I just updated my Wordpress install for this blog, as it was running an old version. While I was at it I decided to install K2, even though I’d made a deal with myself that I wasn’t allowed to do anything with the layout until I’d actually started producing some content! So, I’m naughty.

Once Wordpress was updated I started having issues with the Apache rewrite rules it generates. The rules looked just fine to me, but they’re failed to determine whether a requested URI mapped to a real file. The generated rules look like this:

<IfModule mod_rewrite.c>
  RewriteEngine On
  #RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
</IfModule>

That translates to “Rewrite all requests that don’t map to a real file or directory through to index.php”. The reason for this is that template content (images, stylesheets etc) live under /wp-content/, which is a real directory, but other things (such as /about, or URLs to individual entries) don’t actually exist in the filesystem.

However, what was happening on my blog was that everything was redirecting to index.php - including requests for stylesheets, the admin pages, and so on. This meant that “virtual” URLs produced the right content, but it all looked terrible. Plus, because wp-admin is a real directory I was unable to access the admin site.

After about two hours trying to figure out what was going wrong (with a RewriteLog turned on and gradually raised to RewriteLogLevel 5 ) I eventually twigged. Wordpress, in an effort to be as user friendly as possible, generates its rules for use in a .htaccess file. I dislike .htaccess files in general, and hate the thought of doing Rewrites from inside them, so I move the rules into my VirtualHost container instead.

This worked fine on my other blog (varrqnuht.net), but those rules were set up ages ago. The old ruleset is 40 lines long, but the new one is just the one rule with two conditions shown above. Somewhere along the line the Wordpress guys must have started parsing the REQUEST_URI to grab the info they need rather than using apache to rewrite the request as a query string.

That’s an improvement, but because their generated ruleset assumes it will be running in the Directory or .htaccess context, they only have to worry about relative paths. However I’ve moved the rules into the top level of my VirtualHost container, so now the %{REQUEST_FILENAME} is being treated as an absolute path - and that’s not going to work!

The fix is easy (once you’ve figured out what the problem is - usually the hardest part). I just prepend the document root to the rules, like this:

<IfModule mod_rewrite.c>
  RewriteEngine On
  #RewriteBase /
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
</IfModule>

So simple, and so frustrating to have wasted a couple of hours trying to sort it out! Plus, instead of writing the post I’d intended to write, I’ve written this instead. But hey, content is content!

Better late than never?

I’ve had this domain for a couple of years now, always intending to put something up. So, here’s “something”. More to come later.