Blogs

Can processes survive after shutdown?

I had a process in a "uninterruptible sleep" state. Trying to kill it is, unsurprisingly, unhelpful. All the literature on the subject will say that it cannot be killed, and they're right. It's called "uninterruptible" for a reason. An uninterruptable process is in a system call that cannot be interrupted by a signal (such as a SIGKILL, SIGTERM etc).

Deleting "Stuck" Compute Jobs

Often on a cluster a user launches a compute job only to discover that they have some need to delete it (e.g., the data file is corrupt, there was an error in their application commands or PBS script). In TORQUE/PBSPro/OpenPBS etc this can be carried out by the standard PBS command, qdel.


[compute-login ~] qdel job_id

Sometimes however that simply doesn't work. An error message like the following is typical: "qdel: Server could not connect to MOM". I think I've seen this around a hundred times in the past few years.

Enduring Problems with HTML Email and Proprietary Attachments

Once upon a time, in a generation past, letters would be received with written text. There was a default form (paper with ink or pencil) and an encoding (in the language of the correspondents). Whilst this may all seem very trivial, it does have a particular importance for the subject at hand in the context of contemporary electronic mail. Can the recipient of your message actually read what you've sent them? Could imagine a situation where people knowingly sent written correspondence in a format that recipient couldn't read? Have you ever received an email attachment that you couldn't open?

Cluster Installations of GF2X,NTL, and HElib

The installation of three associated packages on a Linux cluster for fast arithmetic, a number theory library, and homomorphic encryption provides some interesting challenges.

GF2X

GF2X "is a C/C++ software package containing routines for fast arithmetic in GF(2)[x] (multiplication, squaring, GCD) and searching for irreducible/primitive trinomials".

Download and extract into a sensible place, and change to that directory.


mkdir /usr/local/src/GF2X
cd /usr/local/src/GF2X

Foreward to "Supercomputing with Linux" by Emeritus Professor David Beanland, AO, FTSE, FIEAust

Our era has been defined by the ever-increasing scale and performance of information technology and its impact on many facets of society. Information technology has been made possible by the rapid, and continuing, development of semiconductor technology which enables high speed electronic processing and storage of data. These advances have continued unabated over more than six decades, enabling the realisation of computers with increasing speeds, sophistication and capability to facilitate the solution of complex problems of larger scale, more rapidly and with increased detail.

Parallel Programming Presentation to Linux Users of Victoria

Parallel programming is the implementation of simultaneous computation typically applied through either tasks or data. In this introduction the need, core concepts, potential problems, and implementations will be described and illustrated with multiple examples in R, Python, C, and Fortran.

Presentation to Linux Users of Victoria, November 2015

Open Source Vocational Engineering with High Performance Computing

High performance computing is a necessity for scientific research and increasingly so; however initial steps are also being made in vocational engineering at RMIT. Applying the andragogical principles in the education sector with free and open source content encourages educational connectivism which improves learning and relevance.

Presentation to the Open Source Developers Conference, Hobart, October 2015

Julia cluster install with MPI packages

Julia is a high-level, high-performance dynamic language for technical computing. With a "just in time" compiler, it is very fast, especially compared to languages like MATLAB, Octave, R etc. However it is relatively new and a cluster installation and package deployment has a few quirks.

Download the source from github. By default you will be building the latest unstable version of Julia from the git checkout. However, we want to run 0.4.0 (or rather, 0.4rc4) which is the last stable release.


# cd /usr/local/src/JULIA

Pages