Thank you all for your input. Being a newbie in this, my impression from what you guys write is for most commercial software suspend/release_license/reacquire mechanism is not feasible.
(Answer to Mark) What we are using here is an engineering software called abaqus. In abaqus you can use token based licenses which depend on number of cores used (and some other things). It checks out the license on submission from a flex license server, and if it gets suspended it releases the licenses. Then another instance can use the released tokens. If the initially suspended instance somehow resumed then it cannot start unless there are enough tokens. I have had no problems with this mechanism really. It works pretty well if I do not attempt to track licenses with slurm. I claim: since Slurm doesn't really integrate with license servers and it is pretty much up to admin, it should not assume that all licenses are not releasable. Another thing puzzles me is : AccountingStorageTRES=license/someSoftware I would expect this to track the licenses defined either in slurm.conf or in sacctmgr. But it does not. When I do : scontrol show job it does not show any licenses in the output: TRES=cpu=23,mem=23G,node=1,billing=23 Or sacct --format=tres Shows just the default trackable resources. Oytun Peksel oytun.pek...@semcon.com Mobile +46739205917 -----Original Message----- From: slurm-users <slurm-users-boun...@lists.schedmd.com> On Behalf Of Chris Samuel Sent: den 7 november 2019 08:03 To: slurm-users@lists.schedmd.com Subject: Re: [slurm-users] Help with preemtion based on licenses On Wednesday, 6 November 2019 7:36:57 AM PST Oytun Peksel wrote: > GPU part of the discussion is beyond my knowledge so I assumed it > would be possible to release it. If you simply suspend a job then the application does not exit, it will just get stopped and so will be holding various resources and file handles open - and that will include the GPU and the resources on it. [...] > After all software licenses might be the most expensive resource to > utilize where preemption might sometimes be inevitable. I think the thing to remember with software licensing systems is that we are not the users or customers for that vendor, it's the ISV whose software you are using who is their customer. So their aim is to try and ensure that the ISV sells as many licenses for their software as possible. If you just suspend an application that has checked licenses out and then use some other program to make the license server think it's died and release them then I suspect when you unsuspend it then it will be very confused as it'll think it still has these licenses checked out but the license server won't. I suspect that would not lead to a happy program, user or license server. So for both GPUs and licenses I suspect you really do want either cancel or requeue for this. All the best, Chris -- Chris Samuel : http://www.csamuel.org/ : Berkeley, CA, USA When you communicate with us or otherwise interact with Semcon, we will process personal data that you provide to us or we collect about you, please read more in our Privacy Policy<https://semcon.com/data-privacy-policy/>.