On Thu, 9 Jun 2011 13:03:04 -0700, "Andrej N. Gritsenko" <[email protected]> wrote: > > >There are stackable plugins in SLURM, see the spank(8) manpage. > >In fact, replacing the "task" plugin is the main reason the spank > >framework was initially developed. > > Unfortunately, there is no way to run any of spank plugins before > starting slurmstepd but in some rare cases there is a need to do it (for > example, if some user environment does not exist and slurmstepd fails to > start) so it's why we were forced to make a task plugin but that move > denied the ability to use task/affinity unfortunately so it's why I've > written that code. I think it might be useful for someone else too. > And, of course, we already using lot of own spank plugins so I know > about them and their functionality, thank you. Spank plugins are perfect > (really perfect!) in their place but not before slurmstepd started. :) > And I want to mention that other parts of SLURM have some stackable > plugins - slurmctld has job_submit, slurmstepd has spank but slurmd had > none yet. So I hope to see stackable plugins in slurmd version 2.3 so we > can avoid local patching that possibility in the future.
Ah, ok you do make a good point, but I'm still wondering if there might be a better way to do what you want. (Not that I'm arguing fervently against your patch). Can you give an example of what you needs to do some "environment setup" before slurmstepd is even forked? For perhaps similar functionality we now use the job prolog and have small spank plugins add options to srun/sbatch/salloc that are then propagated to the prolog, e.g. (in lua): http://code.google.com/p/slurm-spank-plugins/source/browse/trunk/lua/hugepages.lua However, maybe it would be nicer if plugins of this type did not have to require modifications to the prolog script... Any ideas? mark > With best wishes. > Andriy. >
