Honest advice ... aka my personal $.02 ...

This is a problem that can't entirely be solved via technical means like resource constraints or cgroup controls. This is more of a training, knowledge transfer and acceptable use policy issue and fixing the problem has to include these elements.

What I've learned over many years is that end-users looking to game the system will always have more time and more motivation to find evasive methods than IT and sysadmins have to catch and close the loopholes.

I tend to recommend making "head node abuse" an employee behavior / management issue and I only do the bare minimum resource fencing on the head nodes and submission nodes to keep the nodes from being run into the ground.

Process works like this:

- If you want to use the Cluster you either take a short training course or if you are experienced you read and sign our HPC acceptable use policy that clearly explains what you can and cannot do on the head nodes, submit nodes and login nodes. We also point you to all our documentation and training resources

- The first 1-2 times you are "caught" abusing the head node we treat it as a simple training and knowledge transfer opportunity. No real repercussions and a good opportunity for IT to reach out and work 1:1 with an end user to learn her/his requirements and workflow interests. 99% of the time the head node abuse stops here.

- The third time you are caught abusing the head node your login access is terminated until you review the acceptable use policy and return a documented acknowledgement. Your manager is CC'd on these emails but no other repercussions

- The forth time you are caught we treat this as a non-trivial violation of organizational policies. HR is notified along with your management chain. Your cluster access is terminated until there is some sort of process and plan worked through with HR and the user's manager






Michael Di Domenico <mailto:mdidomeni...@gmail.com>
March 26, 2021 at 9:56 AM
does anyone have a recipe for limiting the damage people can do on
login nodes on rhel7. i want to limit the allocatable cpu/mem per
user to some low value. that way if someone kicks off a program but
forgets to 'srun' it first, they get bound to a single core and don't
bump anyone else.

i've been poking around the net, but i can't find a solution, i don't
understand what's being recommended, and/or i'm implementing the
suggestions wrong. i haven't been able to get them working. the most
succinct answer i found is that per user cgroup controls have been
implemented in systemd v239/240, but since rhel7 is still on v219
that's not going to help. i also found some wonkiness that runs a
program after a user logs in and hacks at the cgroup files directly,
but i couldn't get that to work.

supposedly you can override the user-{UID}.slice unit file and jam in
the cgroup restrictions, but I have hundreds of users clearly that's
not maintainable

i'm sure others have already been down this road. any suggestions?
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit https://beowulf.org/cgi-bin/mailman/listinfo/beowulf

_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit 
https://beowulf.org/cgi-bin/mailman/listinfo/beowulf

Reply via email to