Thread: Newer kernels and CFS scheduler again

Newer kernels and CFS scheduler again

From
Glyn Astill
Date:
   
Hi All,

As I'll soon be looking at migrating some of our debian servers onto the new stable release, I've started doing a bit of basic pgbench testing.

Initially I've seen a little performance regression with higher concurrent clients when going from the 2.6.32 kernel to 3.2.14 (select only and tpc-b).  After trying the suggestions made by Shaun Thomas a while back (here: http://www.postgresql.org/message-id/50E4AAB1.9040902@optionshouse.com) and getting nowhere, I'm seeing big improvements instead increasing the
defaults for sched_min_granularity_ns and sched_wakeup_granularity_ns (As described here: https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt) from debians defaults of 3000000 and 4000000 respectively.

On my initial test setup (which admittedly is far from cutting edge) of 2xE5320 / 32Gb the following seem pretty optimal:

kernel.sched_min_granularity_ns=9000000
kernel.sched_wakeup_granularity_ns=12000000

I've yet to do any testing on our larger machines, but as there have been a few posts here about performance vs newer kernels I was just wondering what other peoples findings are regarding CFS?

Glyn




Re: Newer kernels and CFS scheduler again

From
Glyn Astill
Date:
>________________________________
> From: Glyn Astill <glynastill@yahoo.co.uk>
>To: "pgsql-general@postgresql.org" <pgsql-general@postgresql.org>
>Sent: Tuesday, 30 April 2013, 16:58
>Subject: [GENERAL] Newer kernels and CFS scheduler again
>
>Hi All,
>
>
>As I'll soon be looking at migrating some of our debian servers onto the new stable release, I've started doing a bit
ofbasic pgbench testing. 
>
>
>Initially I've seen a little performance regression with higher concurrent clients when going from the 2.6.32 kernel
to3.2.14 (select only and tpc-b).  After trying the suggestions made by Shaun Thomas a while back (here:
http://www.postgresql.org/message-id/50E4AAB1.9040902@optionshouse.com)and getting nowhere, I'm seeing big improvements
insteadincreasing the  
>

Slight correction, I meant 3.2.41

>defaults for sched_min_granularity_ns and sched_wakeup_granularity_ns (As described here:
https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt)from debians defaults of 3000000 and 4000000
respectively.
>
>
>
>On my initial test setup (which admittedly is far from cutting edge) of 2xE5320 / 32Gb the following seem pretty
optimal:
>
>
>kernel.sched_min_granularity_ns=9000000
>kernel.sched_wakeup_granularity_ns=12000000
>
>
>I've yet to do any testing on our larger machines, but as there have been a few posts here about performance vs newer
kernelsI was just wondering what other peoples findings are regarding CFS? 
>
>
>Glyn
>
>


Re: Newer kernels and CFS scheduler again

From
Shaun Thomas
Date:
On 04/30/2013 10:58 AM, Glyn Astill wrote:

> kernel.sched_min_granularity_ns=9000000
> kernel.sched_wakeup_granularity_ns=12000000

I'll keep this in mind and do some testing when I get a chance. I think
I tried tweaking these and didn't get much of a return compared to the
migration cost, but that was back on kernel 3.2.31, so maybe that'll change.

Thanks for the info!

--
Shaun Thomas
OptionsHouse | 141 W. Jackson Blvd. | Suite 500 | Chicago IL, 60604
312-676-8870
sthomas@optionshouse.com

______________________________________________

See http://www.peak6.com/email_disclaimer/ for terms and conditions related to this email