# How to get started with distributed memory parallel programming?

**URL:** <https://discourse.julialang.org/t/how-to-get-started-with-distributed-memory-parallel-programming/62617>\
**Category:** New to Julia\
**Created:** [June 9, 2021, 9:46am UTC](https://discourse.julialang.org/t/how-to-get-started-with-distributed-memory-parallel-programming/62617 "2021-06-09T09:46:42Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [June 9, 2021, 10:39am UTC](https://discourse.julialang.org/t/how-to-get-started-with-distributed-memory-parallel-programming/62617/4 "2021-06-09T10:39:01Z")

</div>

> [@greatpet](#):
>
> I suppose ClusterManager.jl can launch workers one by one by submitting separate jobs to the queue, but this is not very feasible given the unpredictable wait time in the queue, and I would prefer to use a bunch of machines assigned to me in a single multi-node request.

No, say you use the `SlurmManager`, it uses `srun` to start workers within your SLURM allocation (came up [here](https://discourse.julialang.org/t/issues-with-machinefile-and-slurm/7882/2) as well). It doesn’t submit a new job to the queue. Note that SLURM also stores the allocations details (which nodes, how many cpus etc.) in environment variables (e.g. `SLURM_JOB_NODELIST`) that you can query in your job submission script and/or Julia itself. See for example the section “OUTPUT ENVIRONMENT VARIABLES” [here](https://slurm.schedmd.com/sbatch.html) or the table [here](https://hpcc.umd.edu/hpcc/help/slurmenv.html).

---

_[View the full topic](https://discourse.julialang.org/t/how-to-get-started-with-distributed-memory-parallel-programming/62617)._
