locked
Order of node assignments while Scheduling RRS feed

  • Question

  • Dear all,

    While assigning nodes to the jobs, does HPC consider some order. Let's say, if I have two nodes n1 and n2, can we guarantee that HPC always checks n1 first and then n2? If not, is there any way we can implement this order.

    Thanks,

    Puneet


    Puneet Sharma

    Thursday, February 1, 2018 8:21 PM

All replies

  • Currently it is not able to support your own implementation order. But we could take this request into consideration as to support a scenario "Workstation Nodes" --> on premise server --> Cloud nodes

    In the current system, you could choose "Prefer nodes with (More Memory|Less Memory|More Cores|Less Cores)". Or if they are all the same, we will sort them with their names if I remember correctly.

    Could you tell us more details on your requirement of "Implement your own sort order"?


    Qiufang Shi

    Friday, February 2, 2018 2:24 AM
  • Hi Qiufang,

    For us all the nodes are same, and we are using auto grow and shrink functionality of HPC on Azure. In addition to it, a single node can execute only a single job. In our scenario, we want to do some load balancing when jobs are writing to the database. For an example, We have 2 similar databases, and 4 computational nodes, and we want to uni-formally distribute job writing process to these database. So, if can have some order while assigning the nodes to the jobs, we can do the following.

    Node1's job writes to DB1 (Here we just change the job's executable config to point to DB1)

    Node2's job writes to DB2 (Here we just change the job's executable config to point to DB2)

    Node3's job writes to DB1 (Here we just change the job's executable config to point to DB1)

    Node4's job writes to DB2 (Here we just change the job's executable config to point to DB2)

    I believe if you can confirm that HPC is sorting the node's name while assigning, this would work for us. What do you think about the above approach?

    Thanks,

    Puneet


    Puneet Sharma


    Friday, February 2, 2018 3:08 PM
  • If you want to load balancing to DB from different node, the simplest way might be:

    - Pre-define an environment variable on all compute nodes to a different DB name, and the job when it is executing just pick up the DB name from the environment variable.

    The real node assignment will be a little complex under auto grow shrink as nodes get online not in order.


    Qiufang Shi

    Monday, February 5, 2018 3:16 AM