Re: Move PinBuffer and UnpinBuffer to atomics
От | Andres Freund |
---|---|
Тема | Re: Move PinBuffer and UnpinBuffer to atomics |
Дата | |
Msg-id | 20160412160246.nyzil35w3wein5fm@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: Move PinBuffer and UnpinBuffer to atomics (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: Move PinBuffer and UnpinBuffer to atomics
|
Список | pgsql-hackers |
On 2016-04-12 19:42:11 +0530, Amit Kapila wrote: > Yes, it seems generally it is a good idea, but not sure if it is a complete > fix for variation in performance we are seeing when we change shared memory > structures. I didn't suspect it would be. More whether it'd be beneficial performance wise. FWIW, I haven't seen the variations you're observing on any machine so far. I think at high concurrency levels we're quite likely to interact with the exact strategy used for the last-level/l3 cache. pgprocno, allPgXact, BufferDescs are all arrays with a regular stride that we access across several numa nodes, at a very high rate. At some point that makes very likely that cache conflicts occur in set associative caches. > Andres suggested me on IM to take performance data on x86 m/c > by padding PGXACT and the data for the same is as below: > > median of 3, 5-min runs Thanks for running these. I presume these were *without* pg_prewarming the contents? It'd be interesting to do the same with prewarming; aligning these structures should be unrelated to the separate issue of bufferdesc order having a rather massive performance effect. Greetings, Andres Freund
В списке pgsql-hackers по дате отправления: