Julia on a cluster with several linux distributions

I have access to a linux cluster of login/compute nodes with 3 linux distributions (Ubuntu Xenial, Ubuntu Bionic, and Centos7), but all with a common /home directory. So far I have deliberately stuck to one of them as I am afraid that using several of them would mess up ./julia. However, soon I will need to use at least one of the other OSs as well. Any good advice on how to deal with this would be appreciated.

The problem you might have is if the machines have different architectures. Otherwise I do not see why you should have any issue.

Most have Intel Xeon processors and a few also NVIDIA GPUs. Not quite sure how different the architectures can be.

I do not think you will have any problem.

1 Like

I had a similar situation, however, with only two different distributions (Ubuntu Xenial, and an old Centos). I never had any problems with that. Each manipulation in my homedir (e.g., installing new packages) on one system worked on the other and vice versa.

1 Like

I am going to ask why the cluster would mix OSes like that. I guess there is a different NFS mount for each OS containing local software packages.
If this is to cater for applications available only in one OS then the well worn phrase “containers” is supposed to handle this.
I’m genuinely interested about this architecture. Also please keep us in touch about any problems you encounter - if there are any.

1 Like

This might be helpful guidance:
https://docs.julialang.org/en/v1/manual/faq/#Computing-cluster

2 Likes

Each node in the cluster has one OS. Mounted to each node is a common /home and a large lustre file system for data. The reasons for several OSes is just for being able to upgrade a OS (from Ubuntu Xenial to Bionic) over relative long period of time and that some users need one specific OS. Scheduling of jobs is to my knowledge to nodes running the same OS only. Note that I am not an hardware expert, nor in operation/maintenance of such a system.

I will let you know if I encounter problems.

If you use the generic binaries, you should be fine. We make sure that they can run on any OS. If you try to build from source, you may run into trouble though.

1 Like

@johnbb Where are the software packages stored or accessed?
I guess you have an NFS mount with the software packages for each OS?
By software package I mean an application such as Openfoam

I guess you have considered containers?

@johnh The module environment is applied for software packages and mounted by NFS. I believe this reduces the needs for containers, although containers are used in a few cases. However, I don’t how the latter is (or at all) related to the cluster. By the way, this is the internal cluster of the Norwegian Meteorological Institute with a couple of hundred users. For more heavy computing we have HPCs.

I have installed Julia by just tar xvfz of the appropriate generic linux binary and add packages by add. Thanks for the responses.

thankyou for the reply. I apologise if I sound rude in replies above - I am letting my passion for the subject appear, rather than being rude.
Modules is of course a great way to approach this.

1 Like