# How can we guarantee that a group of users (or a project) a minimum of X nodes available

**URL:** <https://community.openpbs.org/t/how-can-we-guarantee-that-a-group-of-users-or-a-project-a-minimum-of-x-nodes-available/1951>\
**Category:** Users/Site Administrators\
**Created:** [January 14, 2020, 1:35pm UTC](https://community.openpbs.org/t/how-can-we-guarantee-that-a-group-of-users-or-a-project-a-minimum-of-x-nodes-available/1951 "2020-01-14T13:35:06Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![depaksoni](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@depaksoni](https://community.openpbs.org/u/depaksoni)\
**Post date:** [January 14, 2020, 1:35pm UTC](https://community.openpbs.org/t/how-can-we-guarantee-that-a-group-of-users-or-a-project-a-minimum-of-x-nodes-available/1951/1 "2020-01-14T13:35:06Z")

</div>

As a working example, let us consider we have 100 nodes and 2 groups for which we should guarantee 10 nodes each.

How could this be implemented in PBS?

---

<div class="post-metadata">

**Author:** ![adarsh](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@adarsh](https://community.openpbs.org/u/adarsh)\
**Post date:** [January 14, 2020, 9:45pm UTC](https://community.openpbs.org/t/how-can-we-guarantee-that-a-group-of-users-or-a-project-a-minimum-of-x-nodes-available/1951/2 "2020-01-14T21:45:22Z")

</div>

Case 1:  
1 . Create two queues with ACLS  
2. Qlist + 10 nodes to each of the queues  
3. Make sure other 80 nodes are not part of this Qlist

Case 2:

1. Create two reservation queues each with 10 nodes assigned to it and enable ACL on those queues
2. rest the nodes can be utilised by users in the group(s)

Case 3:

1. write hook(s) that keep track of mapping of - nodes and group of users and their jobs

Hope these cases help. There might be other custom solutions as well

---

<div class="post-metadata">

**Author:** ![depaksoni](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@depaksoni](https://community.openpbs.org/u/depaksoni)\
**Post date:** [January 16, 2020, 5:32am UTC](https://community.openpbs.org/t/how-can-we-guarantee-that-a-group-of-users-or-a-project-a-minimum-of-x-nodes-available/1951/3 "2020-01-16T05:32:33Z")

</div>

Hi Adarsh,  
thanks for reply  
please consider one scenarios so how can we do

In the example scenario, we have:

- **2 specific user groups and the remaining mass of other users**
- **The cluster size is 100 nodes**
- **The 2 groups must have a guaranteed minimum capacity of 10 nodes**
- **The job size of each job is 6 nodes**
- All users have constantly jobs waiting to be placed by the scheduler into the cluster
- With the given job size of 6 nodes we have:
  - The pool for all users (whether in a specific group or not) is 80 nodes
    - 100 [nodes total] – 2 [number of groups] \* 10 [nodes for each specific group] = 80 nodes

  - a maximum of 13 jobs (job size 6 nodes) could be placed for users whether in a specific group or not:
    - 13 \* 6 = 78 nodes

  - With the guaranteed 10 nodes, group A and B can always run a minimum of 1 job
  - This results in a remaining capacity for group A or B of 6 nodes, suitable to place 1 further job
    - 2 nodes from the pool for all and 4 nodes from the guaranteed pool, could support a further 6 node job
      - ( 80 nodes in total for all users; maximum utilization for all users is 78 nodes (see above), so 80 -78 = 2 nodes)
      - 10 nodes guaranteed for each special group; 1 node fits completely in this limit =\> 10 -6 = 4 nodes

    - **=\> 1 additional job, whether from group A or from group B, could run in the cluster**
      - In this scenario, 4 nodes would not be utilized, as these are in the pool of one of the special groups.

**What kind of configuration could ensure a utilsataion of 96 nodes in this scenario ?**

regards  
deepak
