How can I request that all cores allocated to a task must be in the same node ? RRS feed

  • Question

  • Hi,

    I am using HPC 2012 R2.
    I want to schedule a job composed of 4 tasks structured as follows :
     - TaskA takes 24 cores
     - TaskB, TaskC, TaskD take 8 cores each
     - All of the cores allocated to a task are in the same node

    My understanding is that if I use node scheduling, I can request a whole node for each task. It will run exclusively on each node. On the contrary if I use core scheduling, I do not have the guarantee that all the cores for the same task be on the same machine. For example, TaskA may get 8 cores on nodeA and 16 on nodeB.

    The problem is that you cannot mix core and node scheduling on the same job.

    I can split the tasks in different jobs and use the ISchedulerJob.SingleNode property. However I am looking for a solution keeping all 4 tasks in the same job.

    Thanks for your feedback,

    Tuesday, April 5, 2016 2:28 PM


  • In the current implementation, your request can't be accomplished easily. We are working on an improvement for this in our next release (HPC Pack 2016) -- mixed resource requirement in one job.

    You can subscribe the socket for all the nodes (8 cores as one socket) , you can split your four tasks into two jobs, first one asks 4 sockets single node, second one 3 tasks each requesting 1 socket.

    Qiufang Shi

    • Marked as answer by cguevaramari Friday, June 17, 2016 6:06 PM
    Wednesday, April 6, 2016 6:24 AM