pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Arjen van der Meijden <acmmailing@tweakers.net>
To: pgsql-performance@postgresql.org
Subject: Re: Linux: more cores = less concurrency.
Date: Tue, 12 Apr 2011 09:31:20 +0200
Message-ID: <4DA3FFC8.206@tweakers.net> (raw)
In-Reply-To: <alpine.DEB.2.00.1104111259350.32165@asgard.lang.hm>
References: <860299.67368.qm@web26003.mail.ukl.yahoo.com>
	<4DA2FD7B020000250003C678@gw.wicourts.gov>
	<8b76c51ad6db2e458431ef73bcdd2759@commandprompt.com>
	<BANLkTi=Wi+DsO5Bu1kYi1GL6rECAf8M1DA@mail.gmail.com>
	<4DA35BD3.5040206@netwolves.com>
	<alpine.DEB.2.00.1104111259350.32165@asgard.lang.hm>


On 11-4-2011 22:04 david@lang.hm wrote:
> in your case, try your new servers without hyperthreading. you will end
> up with a 4x4 core system, which should handily outperform the 2x4 core
> system you are replacing.
>
> the limit isn't 8 cores, it's that the hyperthreaded cores don't work
> well with the postgres access patterns.

It would be really weird if disabling HT would turn these 8-core cpu's 
in 4-core cpu's ;) They have 8 physical cores and 16 threads each. So he 
basically has a 32-core machine with 64 threads in total (if HT were 
enabled). Still, HT may or may not improve things, back when we had time 
to benchmark new systems we had one of the first HT-Xeon's (a dual 5080, 
with two cores + HT each) available:
http://ic.tweakimg.net/ext/i/1155958729.png

The blue lines are all slightly above the orange/red lines. So back then 
HT slightly improved our read-mostly Postgresql benchmark score.

We also did benchmarks with Sun's UltraSparc T2 back then:
http://ic.tweakimg.net/ext/i/1214930814.png

Adding full cores (including threads) made things much better, but we 
also tested full cores with more threads each:
http://ic.tweakimg.net/ext/i/1214930816.png

As you can see, with that benchmark, it was better to have 4 cores with 
8 threads each, than 8 cores with 2 threads each.

The T2-threads where much heavier duty than the HT-threads back then, 
but afaik Intel has improved its technology with this re-introduction of 
them quite a bit.

So I wouldn't dismiss hyper threading for a read-mostly Postgresql 
workload too easily.

Then again, keeping 32 cores busy, without them contending for every 
resource will already be quite hard. So adding 32 additional "threads" 
may indeed make matters much worse.

Best regards,

Arjen



view thread (51+ messages)  latest in thread

Message-ID: <4DA3FFC8.206@tweakers.net>
Permalink:  ../4DA3FFC8.206@tweakers.net/
Also on:    postgresql.org/message-id/4DA3FFC8.206@tweakers.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: acmmailing@tweakers.net
  Subject: Re: Linux: more cores = less concurrency.
  In-Reply-To: <4DA3FFC8.206@tweakers.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox