IBM Research Collaboratory for Life Sciences – Summer Internships in Computational Biology 2010/11

As part of the Collaboratory between the University of Melbourne and IBM there is the opportunity for three PhD students (or masters students intending to convert) to work for IBM over the summer on computational biology.

Successful candidates will work with researchers on state-of-the-art interdisciplinary projects in areas such as structural biology, precision medicine, neuroscience and imaging, with an emphasis on high performance computing. Assignments could include implementing existing models or algorithms, porting existing codes, running scientific simulation software, developing mathematical and computational models and performing scientific research.

See the article on the VLSCI website for further details and how to apply (I know nothing more than this!). 🙂

First beta release of Vacation 1.2.7.1

Vacation 1.2.7.1 beta1 is the first beta for the first bug fix only release in the 1.2.7 branch.

It contains only two bug fixes, firstly adding the Auto-Submitted: header as required by RFC 3834 and secondly stopping vacation munging the GECOS information of the user and instead just passing it in a quoted form for the MTA to deal with.

Both of these patches are from Dr Tilmann Bubeck who is the packager of Vacation for the Fedora project. I’m very grateful to him for his time and patience in submitting these!

Please grab this beta release and test it and report any problems!

Vacation Migrated to Git at SourceForge

After a long hiatus I’ve restarted work on Vacation and have kicked off proceedings by migrating from SVN to Git (which SourceForge started offering about 18 months ago) (( I ended up using the svn2git Ruby Gem to do this as the usual “git svn clone” didn’t seem to work that well. )). This means you can now clone the Git repo to do work with and have the complete history of the project available to you, even if you’re not connected to the Internet at the time.

You can find more information on using Git with SVN here: https://sourceforge.net/scm/?type=git&group_id=3852

I’ve realised from this that a lot of the bug fixes that had been done on the 1.2.7 branch had not been merged back into trunk whilst working in SVN, so I’ve now made those changes to the ‘master’ (what Git calls SVN’s trunk) and pushed those back to SourceForge.

I’m hoping to roll a 1.2.7.1 release in the near future to pick up a few changes on the 1.2.7 branch that should really be out there.

Software Freedom Day Melbourne Photo Shoot

Last week I was invited to take some publicity shots for the Software Freedom Day Melbourne crew at the State Library of Victoria Experimedia centre. Asides from occasional complaints from my camera (the infamous Nikon ERR CHA happened 3 times) I managed to get about 200 shots which I’ve whittled down to 26 of the best and put them up as a set on Flickr.

DSC_0162.JPG DSC_0021.JPG DSC_0165.JPG

All done with free software (well, asides from the firmware in the Nikon D90) – Digikam rocks! 😉

Soliciting Australian Signatories to an Open Letter Against Software Patents to Minister Kim Carr

The Melbourne Free Software Interest Group (a group of Melbourne computer folks with an interest in software freedom) have put together an open letter to Senator the Hon Kim Carr, the Minister for Innovation, to request that software be excluded from patenting as part of the Australian governments review of patents in general.

We are currently collecting signatures to the letter and if you are in Australia and of a like mind we would really appreciate it if you would contribute your signature too! Just click on the link, read the letter and the form to sign it is at the bottom of the page. Please also pass this on to others you know who may be interested.

RHEL 6 Betas Drop Xen as Dom0 Host

For folks who’ve not yet noticed, the long foreshadowed dropping of Xen from RHEL6 for anything other than as a guest OS is still on:

Red Hat Enterprise Linux 6 Beta is supported as a Xen guest for the x86 and x86_64 architectures. Additionally, Red Hat Enterprise Linux 6 Beta can be used as both a Xen paravirtualized (PV) guest or as a Fully virtualized (FV) guest with PV drivers. Due to paravirtualized operations (pv-ops) being included in the kernel, the same kernel can be used for either mode of operation as well as for bare metal. There is no support for using Red Hat Enterprise Linux 6 Beta as a Xen host.

If you are using Xen with RHEL as the base for your virtualisation you’ll be wanting to look for alternatives..

Amazon Patents Social Networking in 2008 ?

Does this sound familiar to you ?

A networked computer system provides various services for assisting users in locating, and establishing contact relationships with, other users. For example, in one embodiment, users can identify other users based on their affiliations with particular schools or other organizations. The system also provides a mechanism for a user to selectively establish contact relationships or connections with other users, and to grant permissions for such other users to view personal information of the user. The system may also include features for enabling users to identify contacts of their respective contacts. In addition, the system may automatically notify users of personal information updates made by their respective contacts.

It’s the introduction to a patent by Amazon for their obviously unique idea of a “Social Networking System” which includes such strikingly novel ideas such as:

wherein the service maintains relationship data representing contact relationships between users, and the method further comprises using the relationship data to detect, and to cause the first user to be notified that, a third user is a contact of a contact of the first user via the second user.

and:

wherein the personal data of the first user comprises an identification of a school attended by the first user and an associated date range of attendance, and the computer system is additionally programmed to use said personal data to identify, and to inform the first user of, other users of the service who attended said school in said date range.

None of which existed before the patent was filed in 2008, honest guv…

Hello USPTO ? Anyone in there ?

Bugs in KDE 4.5.0 beta 2

If you’re running KDE 4.5.0 beta 2 from the Kubuntu PPA and are wondering why your widgets disappear every time you login, it’s because beta 2 has a bug where it gets really confused about which activity you are using – use meta-tab (windows-tab) to switch between them and you should eventually find what you’re looking for..

Also if you’re wondering why the “Printer Settings” option isn’t working any more and giving a strange error message, it’s because it’s now looking for a Python module which isn’t packaged in Ubuntu (kubuntu-ppa bug 591980), it’s complaining that:

systemsettings(22750)/python (plugin): Failed to import module
 Traceback (most recent call last):
   File "/usr/share/kde4/apps/system-config-printer-kde/system-config-printer-kde.py", line 64, in 
     import cupsutils.ppds
 ImportError: No module named cupsutils.ppds
 systemsettings(22750)/python (plugin): Failed to import module

In Debian the module it’s looking for is in the “python-cupsutils” package, but that’s not in Ubuntu.

Portable Hardware Locality (hwloc) Library v1.0 Released

One of the things that us HPC folks tend to get hot under the collar about is hardware locality, basically making sure that your memory accesses are as fast as possible by optimising where on the system you’re getting memory from and making sure your process doesn’t get moved further away. Just binding your processes to the cores they are on can make for a significant speed up so it’s well worth doing. If you’ve just got a single socket, or a pre-Nehalem Intel x86 system then your path to RAM has been pretty much identical wherever you are so the only benefits are from not moving away from your CPU cache lines but on AMD Opteron, Nehalem, Itanic, Alpha, etc you really should care a lot more about locality for best performance.

The open source Torque queuing system (which I help out with) does some of this already, if you compile it with –enable-cpuset and have the /dev/cpuset virtual filesystem mounted then before it starts a job on a node it will create a cpuset for that (based on what cores have been allocated on the node) and then put the HPC processes into that cpuset. If you’re using Open-MPI 1.4.x and have the environment variable OMPI_MCA_orte_process_binding set to core then each of the MPI ranks will bind itself to one of the cores within that cpuset.

All good ? Well not quite as Torque is reliant on /dev/cpuset being there and being able to parse the contents of it and Open-MPI 1.4.x uses the Portable Linux Process Affinity (PLPA) library which, as its name suggests, is only for Linux. So the good Open-MPI people looked at their PLPA library and decided it needed extending and teamed up with the INRIA libtopology team who were working on how you discover the topology of various architectures and decided to merge the two projects together under the banner of the Portable Hardware Locality (hwloc) library.

The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, …) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information. It primarily aims at helping applications with gathering information about modern computing hardware so as to exploit it accordingly and efficiently.

The portable bit of the name comes from the fact that it works on Linux, Solaris, AIX, Darwin, FreeBSD, Tru64, HP-UX and Windows (though with limitations on some architectures – e.g. Windows – which don’t expose all the info it needs) and can extended for other OS’s if people feel they need to scratch that itch (OpenVMS anyone?). This release is also embeddable into projects (such as Open-MPI 1.5) and I have an interest in Torque picking it up to improve and extend its cpuset support.