A Rough Guide to Scientific Computing On the Playstation 3

Eugen Leitl has just posted on the Beowulf list a message with a link to a draft of a paper by Alfredo Buttari, Piotr Luszczek, Jakub Kurzak, Jack Dongarra and George Bosilca called A Rough Guide to Scientific Computing On the Playstation 3. It’s a 74 page PDF looking at the possibilities and problems with using the PS3 for scientific computing (there is already a PS3 Linux cluster at NCSU).

The introduction to the paper lets you know that this isn’t going to be easy..

As exciting as it may sound, using the PS3 for scientific computing is a bumpy ride. Parallel programming models for multi-core processors are in their infancy, and standardized APIs are not even on the horizon. As a result, presently, only hand-written code fully exploits the hardware capabilities of the CELL processor. Ultimately, the suitability of the PS3 platform for scientific computing is most heavily impaired by the devastating disproportion between the processing power of the processor and the crippling slowness of the interconnect, explained in detail in section 9.1. Nevertheless, the CELL processor is a revolutionary chip, delivering ground-breaking performance and now available in an affordable package. We hope that this rough guide will make the ride slightly less bumpy.

Of course, it’s unlikely you’re going to see the PS3 being used in production clusters anyway, so the interconnect shouldn’t be such a problem there.. 🙂

The paper covers the hardware, Linux support and how to get it onto a PS3, programming methods and models, MPI, performance, etc. The paper isn’t complete as I write, but it is still a very interesting read. HPC folks will certainly want to read section 9.1 “Limitations of the PS 3 for Scientific Computing”, especially the part that says:

Double precision performance. Peak performance of double precision floating point arithmetic is a factor of 14 below the peak performance of single precision. Computations which demand full precision accuracy will see a peak performance of only 14 Gflop/s, unless mixed-precision approaches can be applied.

Welcome to WordPress, Russell!

Russell Coker, SELinux developer, Bonnie++ maintainer and fellow LUV person has now switched from Blogger to his own WordPress installation, which makes leaving comments a hell of a lot easier! 🙂

He’s also now got a blog on “random things that are large or of limited interest“, though why that isn’t just a category on his main site (and using WordPress’s handy “more” marker to stop the whole thing showing up on the front page) I’m not sure.

Anyway, welcome to WordPress Russell!

Book meme from Mark Greenaway

Via Mark.

  1. Grab the nearest book.
  2. Open the book to page 23.
  3. Find the fifth sentence.
  4. Post the text of the next three sentences in your journal along with these instructions.
  5. Don’t dig for your favourite book, the cool book, or the intellectual one: pick the CLOSEST.
  6. Tag five other people to do the same.

Here we go..

The mainboard connector provides a standard PS/2 keyboard connector for attaching a PS/2 keyboard. You can plug a PS/2 keyboard directly into this connector. PS/2 Keyboard (6-pin Female)

That’s from the VIA EPIA Mini-ITX (“Dream Catalyst”) mainboard manual that happened to be sitting in front of me. Extra boring points for me I think!

People can work out themselves if they wish to be infected by this meme.. 🙂

Further Adventures in OpenID Delegation Land

Having gotten OpenID delegation going I had to go and play some more.. 🙂

Now I was a bit puzzled about the OpenID XRDS Url mentioned in Eran’s plugin, I don’t see if being created at WordPress.com and the thought of just putting a URL in there and hoping is a bit, well, unsatisfying. Now that isn’t Evan’s fault, it’s just the fact that the WordPress service isn’t that well documented for delegation and I was hoping for something that would go a little bit further.

Before I found Evan’s OpenID Delegation plugin I came across Will Norris’s WP-Yadis plugin (originally wp-xrds) but it didn’t really work under PHP5 and so I had quickly skipped over it. Having found myself not quite happy with the outcome of using Evan’s (again, not his fault) I decided to go back and see if I could fix up the PHP4 code that wasn’t happy with PHP5.

Now it turns out it wasn’t that hard to fix, just 3 instances of foreach() where a variable needed casting to Array. That let me put in the OpenID Server Url and OpenID Delegate Server Url that I had been using previously and magically created a XRDS (aka Yadis) document. Brilliant I thought.

But wp-yadis could do more, it already had a set of definitions for a number of providers so that you could just pick the one you wanted and give it your username and let it automatically generate the URLs, but there wasn’t anything for WordPress. A bit more hacking later (to add a substitution to the server URL that was previously only happening on the delegation URL) and it was working!

I’ve sent Will the patch by email, but as the licensing isn’t clear I can’t really make it available here without Will’s approval.

OpenID Delegation To WordPress.com

Now that WordPress.com blogs include an OpenID server for free and most WordPress users have an account there as they need it for Akismet to work, it turns out they can use it as the invisible back end to authenticate via their own WordPress blogs (hosted elsewhere) using the concept of delegation.

I thought it would be interesting to try and get OpenID delegation going on this blog as a proof of concept, and because I’m tired of commenting on Tim Connors blog as anonymous. 🙂

Now whilst OpenID delegation requires nothing more than a couple of lines of HTML, on a site that is dynamically generated like a blog you need a bit of code to add that into the front page, otherwise it’s not going to work. With WordPress that is done via plugins and casting around I found Eran Sandler’s OpenID Delegate plugin which I took for a spin.

It’s easy to install, a single PHP file in your wp-content/plugins directory, and then an OpenID Delegation item appears in your Option menu. Clicking on that and you will see three cryptically named options:

  • OpenID Server Url – this is the URL that access the OpenID server code
  • OpenID Delegate Server Url – this is the URL for the OpenID that you possess
  • OpenID XRDS Url – this is a URL for a special file that is supposed to control the delegation

Initially I tried setting http://????.wordpress.com/ for each field (where ???? is the name of my blog at WordPress.com) and that almost, but not quite, seemed to work according to the OpenID validator. It took me a while to figure out what was needed, but from this forum thread I found a clue that I’d missed a necessary option on the OpenID Server URL.

So, what got it to work for me (and presumably will for you too) is:

  • OpenID Server Url: http://yourblog.wordpress.com/?openidserver=1
  • OpenID Delegate Server Url: http://yourblog.wordpress.com/
  • OpenID XRDS Url: http://yourblog.wordpress.com/

The proof that it works ?

A successful comment on Tim’s Live Journal using my blog as the OpenID server. That’s enough to make me happy..

Fake WordPress/2.1-alpha3 Trackback Spam Countermeasure (and a factoid) (Updated)

For those of you who control your Apache server driving your blog and who would like to easily block the incoming tide of spam with the fake user-agent “-- WordPress/2.1-alpha3” then all you need to do is to add the following to your .htaccess or central Apache configuration.

BrowserMatchNoCase "-- WordPress/2.1-alpha3" spambot=1 Order allow,deny
deny from env=spambot
allow from all

That should then cause the spammers to bounce off with a 403 “go away” error. You can also lather, rinse, repeat for other spam user-agents you would prefer not to let into the house..

On another point, a couple of them (one each in Brazil, Holland and Israel) had a fake SMTP server listening on port 25:

220 ESMTP service ready
help
250 ok
quit
250 ok
quit
250 ok
bye
250 ok
^]
telnet> quit
Connection closed.

Very odd!

Update: Also see Fight Blog Spam with Apache.

Open Source for Business

If you are a business person who is new to the world of Open Source, or you need to introduce business people to Open Source and what it can do for you then the Specialty Equipment Market Association (SEMA, an automobile speciality parts trade association) has a very good introduction to Open Source called Open Source Explained : What it is — What it isn’t — and How SEMA Members Can Benefit From It.

Using open source is like owning a 1960s musclecar. You can drive it just as it is, or you can tweak and modify it to the limits of your (or a friend’s) time and talents. On the other hand, a closed source program is quite the opposite. The work of the people who create the software is not available for tweaking or performance enhancements by the general public. It’s like getting a car with the hood welded shut by the manufacturer. “Here are the keys. Put gas in it, and call us if it breaks.” Closed source has its place, and it might be the only choice in certain instances.

As well as being a gentle introduction to what Open Source is it covers all the sorts of things that businesses care about, servers, oeprating systems, databases, word processing, desktop publishing, CRM, ERP, etc. Well worth a read even if you are involved in Open Source because you’re almost certain to come across something you’d not heard of before.

The author ? Well he’s not a professional geek, he is:

Walter D. Vaughan, Jr. is a vice president at Steele Rubber Products. He is a current member of SEMA’s Business Technology Committee, an ARMO Select Committee member and a recipient of ARMO’s 1998 Industry Person of the Year Award. He also uses or has tested extensively all the software mentioned in this article.