2011-03-21 10:42:53

by Jaswinder Singh

[permalink] [raw]
Subject: Tests for cpusets and cgroup performance measurement

Hello,

Can you please suggest some simple tests to measure the performance
enhancement by using cpusets/cgroups.

Thanks,
--
Jaswinder Singh.


2011-03-21 17:33:34

by Paul Menage

[permalink] [raw]
Subject: Re: Tests for cpusets and cgroup performance measurement

On Mon, Mar 21, 2011 at 3:42 AM, Jaswinder Singh
<[email protected]> wrote:
>
> Can you please suggest some simple tests to measure the performance
> enhancement by using cpusets/cgroups.

The cgroups framework is simply a way of grouping processes together
and allowing subsystems (memory, CPU, disk I/O, etc) to associate
state objects with each group. Generally this is for improving
isolation rather than improving performance - sticking extra machinery
and scheduling in will typically reduce overall throughput, but make
it more practical to share resources safely between multiple groups of
processes.

Your question is pretty open-ended - what's your ultimate goal? You
should probably be focusing on some particular problem that you're
trying to measure/improve via resource isolation/scheduling.

Paul

2011-03-23 05:42:43

by Jaswinder Singh

[permalink] [raw]
Subject: Re: Tests for cpusets and cgroup performance measurement

Hello Paul,

On Mon, Mar 21, 2011 at 11:03 PM, Paul Menage <[email protected]> wrote:
> On Mon, Mar 21, 2011 at 3:42 AM, Jaswinder Singh
> <[email protected]> wrote:
>>
>> Can you please suggest some simple tests to measure the performance
>> enhancement by using cpusets/cgroups.
>
> The cgroups framework is simply a way of grouping processes together
> and allowing subsystems (memory, CPU, disk I/O, etc) to associate
> state objects with each group. Generally this is for improving
> isolation rather than improving performance - sticking extra machinery
> and scheduling in will typically reduce overall throughput, but make
> it more practical to share resources safely between multiple groups of
> processes.
>
> Your question is pretty open-ended - what's your ultimate goal? You
> should probably be focusing on some particular problem that you're
> trying to measure/improve via resource isolation/scheduling.
>

As per http://www.clusterresources.com/torquedocs21/3.5linuxcpusets.shtml :

Under section 3.5.4 Cpuset advantages / disadvantages

"Jobs on larger NUMA systems may see a performance boost if jobs can be
intelligently assigned to specific CPUs. Jobs may perform better if
striped across physical processors, or contained within the fewest
number of memory controllers."


I am curious and want to try some simple tests so that I can see the
performance improvement by using cpusets on my PCs.

Can you suggest some tests so that I can study them.

Thank you,
--
Jaswinder Singh.

2011-03-23 05:43:44

by Jaswinder Singh

[permalink] [raw]
Subject: Re: Tests for cpusets and cgroup performance measurement

Hello Paul,

On Mon, Mar 21, 2011 at 11:03 PM, Paul Menage <[email protected]> wrote:
> On Mon, Mar 21, 2011 at 3:42 AM, Jaswinder Singh
> <[email protected]> wrote:
>>
>> Can you please suggest some simple tests to measure the performance
>> enhancement by using cpusets/cgroups.
>
> The cgroups framework is simply a way of grouping processes together
> and allowing subsystems (memory, CPU, disk I/O, etc) to associate
> state objects with each group. Generally this is for improving
> isolation rather than improving performance - sticking extra machinery
> and scheduling in will typically reduce overall throughput, but make
> it more practical to share resources safely between multiple groups of
> processes.
>
> Your question is pretty open-ended - what's your ultimate goal? You
> should probably be focusing on some particular problem that you're
> trying to measure/improve via resource isolation/scheduling.
>

As per http://www.clusterresources.com/torquedocs21/3.5linuxcpusets.shtml :

Under section 3.5.4 Cpuset advantages / disadvantages

"Jobs on larger NUMA systems may see a performance boost if jobs can be
intelligently assigned to specific CPUs. Jobs may perform better if
striped across physical processors, or contained within the fewest
number of memory controllers."


I am curious and want to try some simple tests so that I can see the
performance improvement by using cpusets on my PCs.

Can you suggest some tests so that I can study them.

Thank you,
--
Jaswinder Singh.

2011-03-24 21:16:54

by Paul Menage

[permalink] [raw]
Subject: Re: Tests for cpusets and cgroup performance measurement

On Tue, Mar 22, 2011 at 10:42 PM, Jaswinder Singh
<[email protected]> wrote:
> "Jobs on larger NUMA systems may see a performance boost if jobs can be
> intelligently assigned to specific CPUs. Jobs may perform better if
> striped across physical processors, or contained within the fewest
> number of memory controllers."
>
> I am curious and want to try some simple tests so that I can see the
> performance improvement by using cpusets on my PCs.
>
> Can you suggest some tests so that I can study them.

Not particularly - I've never been involved in optimizing apps on
large NUMA systems. Our uses of NUMA at Google have all involved
faked-NUMA nodes, assigning nodes to jobs to provide crude memory
limits.

I suspect that there aren't very many "simple" tests out there. Google
search for [hpc numa tuning] turns up a few likely pages that might
have pointers to suitable applications.

Paul