Snapshot Reuse - Mailing list pgsql-hackers

From Simon Riggs
Subject Snapshot Reuse
Date
Msg-id 1204152338.4252.642.camel@ebony.site
Whole thread Raw
Responses Re: Snapshot Reuse  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
In Read Committed transactions we take snapshots much more frequently
than transactions begin and commit. It would be help scalability if we
didn't need to re-take a snapshot. That's only helpful if the chances of
seeing the snapshot is relatively high.

Now that we have virtual transactions we may more frequently find
ourselves taking identical snapshots.

If we had a counter that incremented each time the main snapshot altered
in a meaningful way we could set that atomically. We could then read
this when we take a snapshot to see if it matches our existing snapshot;
if so then drop the lock quickly and continue with what we already have.

I can see some downsides to this as well as potential benefits:

* we ping the counter across CPUs - yes, we will, but that's probably
better than pinging the whole procarray

* this relies upon the rate of change of snapshots - need to do the math
to see how often this might apply

Not sure yet myself, but it seems worth recording in case it spurs an
idea from someone else.

--  Simon Riggs 2ndQuadrant  http://www.2ndQuadrant.com 



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: new warning message
Next
From: Tom Lane
Date:
Subject: Re: Idea for minor tstore optimization