Re: Re: [GSOC 17] Eliminate O(N^2) scaling from rw-conflict tracking in serializable transactions

From: Kevin Grittner <kgrittn(at)gmail(dot)com>
To: DEV_OPS <devops(at)ww-it(dot)cn>
Cc: Mengxing Liu <liu-mx15(at)mails(dot)tsinghua(dot)edu(dot)cn>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Re: [GSOC 17] Eliminate O(N^2) scaling from rw-conflict tracking in serializable transactions
Date: 2017-03-15 15:20:07
Message-ID: CACjxUsOx-dMPf8E6LK5bKVRhzqXf6J0r1Drb08SnnB=MRyBBRA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 14, 2017 at 3:45 PM, Kevin Grittner <kgrittn(at)gmail(dot)com> wrote:
>> On 3/14/17 17:34, Mengxing Liu wrote:
>>> There are several alternative benchmarks. Tony suggested that we
>>> should use TPC-E and TPC-DS.
>
> More benchmarks is better, all other things being equal. Keep in
> mind that good benchmarking practice with PostgreSQL generally
> requires a lot of setup time (so that we're starting from the exact
> same conditions for every run), a lot of run time (so that the
> effects of vacuuming, bloat, and page splitting all comes into play,
> like it would in the real world), and a lot of repetitions of each
> run (to account for variation). In particular, on a NUMA machine it
> is not at all unusual to see bifurcated

Sorry I didn't finish that sentence.

On a NUMA machine It is not at all unusual to see bifurcated results
-- with each run coming in very close to one number or a second
number, often at about a 50/50 rate, with no numbers falling
anywhere else. This seems to be based on where the processes and
memory allocations happen to land.

Different people have dealt with this in different ways. If you can
get five or more runs of a given test, perhaps the best is to throw
away the high and low values and average the rest. Other approaches
I've seen are to average all, take the median, or take the best
result. The worst result of a set of runs is rarely interesting, as
it may be due to some periodic maintenance kicking in (perhaps at
the OS level and not related to database activity at all).

--
Kevin Grittner

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2017-03-15 15:20:53 Re: [REVIEW] macaddr 64 bit (EUI-64) datatype support
Previous Message Alvaro Herrera 2017-03-15 15:18:29 Re: pgsql: Remove objname/objargs split for referring to objects