locked
Limit current running jobs per user RRS feed

  • Question

  • Hi,

    Is there a simple way to only allow a particular user to have, say, 10 jobs running simultaneously on an HPC 2008 R2 cluster? Any jobs they submit afterwards would get queued. A message elsewhere in the forum suggested job templates, but I can't see any relevant options there.

    Thanks,

    Wes

    Tuesday, July 3, 2012 9:09 AM

Answers

All replies

  • Hi,

    You can use the job activation filter - get the user info from the job, and check how many jobs that user have in the queue.

    Find more info herehttp://technet.microsoft.com/en-us/library/dd346640(v=ws.10).aspx

    Michael

    • Marked as answer by WesHinsley Friday, July 6, 2012 1:34 PM
    Tuesday, July 3, 2012 9:06 PM
  • Hi Michael,

    Many thanks - I can see how to get that working.

    It also struck me that a problem I've had a long time could be solved with this, which is that if you have a cluster full of 24-core nodes, and you submit a large number of OpenMP jobs that all require 5 cores (for the sake of example), then the 5th job you submit, starting from empty, will be allocated 4 cores from one node, and 1 more core from a different node, thus two processors run the code simultaneously, and bad things happen with the results. There seems to be no general way of preventing this except by requesting a node per job exclusively, which would be very inefficient.

    Could I use a job activation filter to query the minimum number of cores requested, scan the cluster for a node with sufficient idle cores, and if one is found, maybe set the "RequestedNodes" property of that job to ensure it gets run on that node (or if no node has sufficient idle nodes, then hold the job)? It sounds like it should work?

    Thanks again,

    Wes

    Thursday, July 5, 2012 7:01 PM
  • Hi Wes,

    It should work, you can give it a try.

    Michael

    Thursday, July 5, 2012 9:55 PM