I forgot that the cpuset value is still available in cgroups v2. You
would want the cpuset.cpus.effective value.
More information is available here:
https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html

On Mon, Aug 31, 2020 at 11:19 AM Guy Streeter <guy.stree...@gmail.com> wrote:
>
> As I said, cgroups doesn't limit the group to a number of cores, it
> limits processing time, either as an absolute amount or as a share of
> what is available.
> A docker process can be restricted to a set of cores, but that is done
> with cpu affinity, not cgroups.
>
> You could try to figure out an equivalency. For instance if you are
> using cpu.shares to limit the cgroups, then figure the ratio of a
> cgroup's share to the shares of all the cgroups at that level, and
> apply that ratio to the number of available cores to get an estimated
> number of threads you should start.
>
> On Mon, Aug 31, 2020 at 10:40 AM Brock Palen <bro...@umich.edu> wrote:
> >
> > Sorry if wasn't clear, I'm trying to find out what is available to my 
> > process before it starts up threads.  If the user is jailed in a cgroup 
> > (docker, slurm, other)  and the program tries to start 36 threads, when it 
> > only has access to 4 cores, it's probably not a huge deal, but not 
> > desirable.
> >
> > I do allow the user to specify number of threads, but would like to 
> > automate it for least astonishment.
> >
> > Brock Palen
> > IG: brockpalen1984
> > www.umich.edu/~brockp
> > Director Advanced Research Computing - TS
> > bro...@umich.edu
> > (734)936-1985
> >
> >
> > On Mon, Aug 31, 2020 at 11:34 AM Guy Streeter <guy.stree...@gmail.com> 
> > wrote:
> >>
> >> My very basic understanding of cgroups is that it can be used to limit
> >> cpu processing time for a group, and to ensure fair distribution of
> >> processing time within the group, but I don't know of a way to use
> >> cgroups to limit the number of CPUs available to a cgroup.
> >>
> >> On Mon, Aug 31, 2020 at 8:56 AM Brock Palen <bro...@umich.edu> wrote:
> >> >
> >> > Hello,
> >> >
> >> > I have a small utility,  it is currently using  multiprocess.cpu_count()
> >> > Which currently ignores cgroups etc.
> >> >
> >> > I see https://gitlab.com/guystreeter/python-hwloc
> >> > But appears stale,
> >> >
> >> > How would you detect number of threads that are safe to start in a 
> >> > cgroup from Python3 ?
> >> >
> >> > Thanks!
> >> >
> >> > Brock Palen
> >> > IG: brockpalen1984
> >> > www.umich.edu/~brockp
> >> > Director Advanced Research Computing - TS
> >> > bro...@umich.edu
> >> > (734)936-1985
> >> > _______________________________________________
> >> > hwloc-users mailing list
> >> > hwloc-users@lists.open-mpi.org
> >> > https://lists.open-mpi.org/mailman/listinfo/hwloc-users
> >> _______________________________________________
> >> hwloc-users mailing list
> >> hwloc-users@lists.open-mpi.org
> >> https://lists.open-mpi.org/mailman/listinfo/hwloc-users
> >
> > _______________________________________________
> > hwloc-users mailing list
> > hwloc-users@lists.open-mpi.org
> > https://lists.open-mpi.org/mailman/listinfo/hwloc-users
_______________________________________________
hwloc-users mailing list
hwloc-users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-users

Reply via email to