Messages in this thread | | | Date | Thu, 27 Sep 2012 10:45:06 -0700 (PDT) | From | david@lang ... | Subject | Re: 20% performance drop on PostgreSQL 9.2 from kernel 3.5.3 to 3.6-rc5 on AMD chipsets - bisected |
| |
On Thu, 27 Sep 2012, Peter Zijlstra wrote:
> On Thu, 2012-09-27 at 09:48 -0700, david@lang.hm wrote: >> I think you are bing too smart for your own good. you don't know if it's >> best to move them further apart or not. > > Well yes and no.. You're right, however in general the load-balancer has > always tried to not use (SMT) siblings whenever possible, in that regard > not using an idle sibling is consistent here. > > Also, for short running tasks the wakeup balancing is typically all we > have, the 'big' periodic load-balancer will 'never' see them, making the > multiple moves argument hard.
For the initial starup of a new process, finding as idle and remote a core to start on (minimum sharing with existing processes) is probably the smart thing to do.
But I thought that this conversation (pgbench) was dealing with long running processes, and how to deal with the overload where one master process is kicking off many child processes and the core that the master process starts off on gets overloaded as a result, with the question being how to spread the load out from this one core as it gets overloaded.
David Lang
> Measuring resource contention on the various levels is a fun research > subject, I've spoken to various people who are/were doing so, I've > always encouraged them to send their code just so we can see/learn, even > if not integrate, sadly I can't remember ever having seen any of it :/ > > And yeah, all the load-balancing stuff is very near to scrying or > tealeaf reading. We can't know all current state (too expensive) nor can > we know the future. > > That said, I'm all for less/simpler code, pesky benchmarks aside ;-) >
| |