What is it?
The Multi-OS feature is intended to allow users to submit to clusters that may not be the same operating system as the submit host. This is especially useful when users are running a submit host on their personal computer that is running Debian, while the supercomputer in the next building is running Red Hat 6, a common occurrence.
The Multi-OS components follow a basic process in order to operate:
- Detect the remote operating system with the findplatform script.
- Download (from the cloud?) the appropriate bosco version for the platform.
- Transfer the files needed on the remote cluster. This includes grabbing the libraries and binaries for the campus factory's glideins. The glidein creation takes the most time of this process as it needs to compress the libraries and binaries before transferring.
- When BOSCO detects jobs idle on the submit host, it will start glideins appropriate for the platform to service the jobs.
The Multi-OS support required modification of the cluster addition and adding both a findplatform script and a glidein_creation script.
Why do I care?
It is becoming increasingly common that what users run on their machines and what is run on supercomputers are different. When this is true, it is difficult to install software from one onto the other. The Multi-OS feature will greatly simplify the installation of BOSCO on clusters.
Our goal with the Multi-OS support is that the users may not know it is even working. The users just say: "I want to run on this cluster", and BOSCO makes it happen. No matter what operating system is running on the remote cluster.
One of my tests simulated a possible user scenario I was running a updated RHEL 6 machine which I installed BOSCO. I wanted to submit jobs to a RHEL 5 cluster located in our datacenter. If I simply copied over the bosco install from the RHEL 6 submit host, none of the binaries would work. But instead, I used the bosco_cluster -a to add the RHEL 5 cluster, and jobs ran seamlessly from the RHEL 6 machine to the RHEL 5.
The Multi-OS support is available in the latest alphas available on the bosco download page.