Some of what you want is described here http://www.schedmd.com/slurmdocs/elastic_computing.html
http://www.schedmd.com/slurmdocs/SC11_BOF/Bright_BOF_SC11.pdf Probably not a complete solution, but at least a start. Quoting Mario Kadastik <[email protected]>: > > Hi, > > I'm contemplating further simplifying our infrastructure and instead > of having specific static nodes that all need to be updated when a > change comes out I'd rather have a template that I update and then > every new job gets a brand new fresh template that works. > > So what I'd like to do is spawn virtual machines based on job > requirements or if none specified, then spawn the default one we > have. However I'm not entirely sure how this could be accomplished. > Firstly there's a bit of a chicken and egg issue as slurm would have > to trigger the node creation in case there are free resources after > which prologue and epilogue scripts could easily take care of > replicating the relevant template, starting it, testing that it's > healthy and then after the job ends destoying it. > > The virtualization we use is OpenVZ (though we could of course also > have KVM based ones if needed by users, but that's secondary) and > we'd keep the nodes on a shared storage therefore making spawning of > them trivial on any hardnode. It's basically cloudbursting except > that it's a local cloud instance. Are there handles and methods to > handle this in slurm or how would one achieve that as only slurm > would know which job is up next for starting (based on fairshare, > priority etc), yet it's probably way outside of slurm to know what > and how much resources are still available... > > Thanks, > > Mario Kadastik, PhD > Researcher > > --- > "Physics is like sex, sure it may have practical reasons, but > that's not why we do it" > -- Richard P. Feynman >
