For one of my current projects at work I get the chance to experiment with Windows HPC (High Performance Computing, the cluster computing offer from Microsoft see http://www.microsoft.com/hpc/en/us/product/cluster-computing.aspx).
I was first confused by the offering of a Windows 2k8R2 HPC SKU, on top of an HPC Pack. Installing the said SKU, I came to realize it is just a stripped down version for 2k8R2 so it has just the bare minimum to run the HPC Pack. Also the HPC Pack is not pre-installed with it, so one should still install the HPC Pack on top of it. If licensing is not an issue, e.g. if you have a 2k8R2 volume license anyway, you may as well do a regular 2k8R2 installation.
The HPC product appears pretty neat. It is taking me some time to figure out the various job, task and node configuration options to fit the best model(s) for my project. An importance nuance I found on tasks is that a ‘run until cancelled’ task will not be restarted when its process exits, even if it exists on error, while a task of type service -which also runs continously- will be restarted by HPC’s node manager automatically if its process exits (unless the service signaled it will be shutdown).
The unit of work is a process for HPC, except if you are using HPC SOA, in which case the granularity goes down to a WFC interface call at the cost of loosing control over job start. HPC SOA comes with a service host – simply named HPCServiceHost.exe – but that is only for the HPC SOA setup. If someone schedules its own tasks of type service, he does not get to use the built-in HPCServiceHost.exe. Such that for my project I will likely need to built my own service host, as we have existing service in the form of an assembly.
This project is likely to take many weeks to complete and I may post updates here as I discover more tibits of information about HPC which may not be obvious from reading the documentation / introduction.