# Julia on a cluster with several linux distributions

**URL:** <https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189>\
**Category:** General Usage\
**Tags:** linux, cluster\
**Created:** [December 3, 2020, 1:17pm UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189 "2020-12-03T13:17:25Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![johnbb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnbb/32/34233_2.png) [@johnbb](https://discourse.julialang.org/u/johnbb)\
**Post date:** [December 3, 2020, 1:17pm UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/1 "2020-12-03T13:17:25Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [December 3, 2020, 1:23pm UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/2 "2020-12-03T13:23:49Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![johnbb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnbb/32/34233_2.png) [@johnbb](https://discourse.julialang.org/u/johnbb)\
**Post date:** [December 3, 2020, 1:56pm UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/3 "2020-12-03T13:56:08Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [December 3, 2020, 2:11pm UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/4 "2020-12-03T14:11:37Z")

</div>

I do not think you will have any problem.

---

<div class="post-metadata">

**Author:** ![mike\_k](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mike_k/32/211864_2.png) [@mike\_k](https://discourse.julialang.org/u/mike_k)\
**Post date:** [December 3, 2020, 4:13pm UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/5 "2020-12-03T16:13:09Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [December 3, 2020, 4:48pm UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/6 "2020-12-03T16:48:13Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)\
**Post date:** [December 3, 2020, 5:18pm UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/7 "2020-12-03T17:18:15Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![johnbb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnbb/32/34233_2.png) [@johnbb](https://discourse.julialang.org/u/johnbb)\
**Post date:** [December 3, 2020, 5:36pm UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/8 "2020-12-03T17:36:02Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Keno](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/keno/32/285_2.png) [@Keno](https://discourse.julialang.org/u/Keno)\
**Post date:** [December 4, 2020, 2:05am UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/9 "2020-12-04T02:05:27Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [December 4, 2020, 6:21am UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/10 "2020-12-04T06:21:03Z")

</div>

@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?

---

<div class="post-metadata">

**Author:** ![johnbb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnbb/32/34233_2.png) [@johnbb](https://discourse.julialang.org/u/johnbb)\
**Post date:** [December 4, 2020, 9:37am UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/11 "2020-12-04T09:37:13Z")

</div>

@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.

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [December 4, 2020, 9:56am UTC](https://discourse.julialang.org/t/julia-on-a-cluster-with-several-linux-distributions/51189/12 "2020-12-04T09:56:07Z")

</div>

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.
