Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cluster manager specific examples #34

Open
r4space opened this issue Aug 2, 2017 · 8 comments
Open

Cluster manager specific examples #34

r4space opened this issue Aug 2, 2017 · 8 comments

Comments

@r4space
Copy link

r4space commented Aug 2, 2017

For the future but long term it'd be great to see examples in all the common cluster managers/schedulers
-eg say; slurm, condor, moab, and pbs

@shwina
Copy link

shwina commented Aug 2, 2017

@r4space

Rather than examples in many different schedulers/clusters, the proposal is to have a single, central hpc-novice repository written for one specific scheduler/cluster, but general enough that a site may change and adapt the lesson easily and quickly.

@r4space
Copy link
Author

r4space commented Aug 3, 2017

For ~80% of the topics that makes complete sense and definitely as a start, but why not 3 or 4 specific flavours in the same way as SWC has eg R and Python modules in the future?

@ocaisa
Copy link

ocaisa commented Aug 3, 2017

Conceptually they mostly do the same thing, having one plus a translation table like https://slurm.schedmd.com/rosetta.pdf should give people what they need to prepare individual lessons. We just need to be careful not to discuss outside the commonalities of the managers (which shouldn't be hard for an introductory lesson)

@psteinb
Copy link

psteinb commented Aug 3, 2017

I am unclear what to say here as I think the opinions stated so far are all valid.

In my prototype material hpc-in-a-day, I set up the machinery to support SLURM and LSF. While this is all possible with jekyll, it brings in some weirdness in writing the episodes, e.g. check out the code examples in this markdown, as instead of writing it out, you have to load/include a code snippet like so:

A first exercise would be to submit a job that does nothing else but print "Hello World!".

~~~
{% include /snippets/02/submit_hello_world_to_void.{{ site.workshop_scheduler }} %}
~~~
{: .bash}

~~~
Hello World
~~~
{: .output}

Here site.workshop_scheduler is a parameter that you can set in the projects _config.yml. But I must say that with some detailed points of usage, the schedulers are different - which makes writing generic text around the code snippets more difficult. But it's possible.

To conclude (apologies for the long post): I personally suggest to discuss putting the technology in the repo of loading snippets for different schedulers, but focus on SLURM for now. With this, we would be ready for any material contributions with scheduler X in the future. Of course, we would have to bite the bullet of a more complicated markdown.

@ChristinaLK
Copy link
Contributor

ChristinaLK commented Aug 3, 2017

If there's interest, I put together a version of the lesson template that has sections that could be swapped in and out (https://github.com/ChristinaLK/large-scale-chtc)

But I agree with Ashwin -- building up with one example (probably SLURM) is good for focusing development and then we should be able to create some machinery to swap specific commands in and out.

@shwina
Copy link

shwina commented Aug 3, 2017

Once this SLURM version is ready, we can re-visit the discussion about whether we want:

  1. One "official" SLURM lesson, and different sites adapting it as necessary
  2. Several "official" lesson for different schedulers/setups, similar to SWC's R/Python/MATLAB programming lessons (IMO, this can become unmanageable and lead to out-of-sync lessons)
  3. One "official" lesson with fancy Markdown to swap commands, and carefully worded text

@psteinb
Copy link

psteinb commented Aug 3, 2017

my gut feeling tells me, that there is a consensus towards going with slurm for starters. fine with me.

@shwina
Copy link

shwina commented Aug 3, 2017

Just to clarify: I have no particular affinity for SLURM (I've never used it myself). But I'm fine with it too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants