Thread: Re: [pgsql-hackers-win32] Sync vs. fsync during checkpoint

Re: [pgsql-hackers-win32] Sync vs. fsync during checkpoint

From
"Merlin Moncure"
Date:
Kevin Brown wrote:

> I have no idea whether or not this approach would work in Windows.

The win32 API has ReadFileScatter/WriteFileScatter, which was developed
to handle these types of problems.  These two functions were added for
the sole purpose of making SQL server run faster.  They are always
asynchronous and are very efficient.  Perhaps the win32 port could just
deal with the synchronization with an eye for future optimizations down
the line?

Merlin


Re: [pgsql-hackers-win32] Sync vs. fsync during checkpoint

From
Kevin Brown
Date:
Merlin Moncure wrote:
> Kevin Brown wrote:
> 
> > I have no idea whether or not this approach would work in Windows.
> 
> The win32 API has ReadFileScatter/WriteFileScatter, which was developed
> to handle these types of problems.  These two functions were added for
> the sole purpose of making SQL server run faster.  They are always
> asynchronous and are very efficient.  Perhaps the win32 port could just
> deal with the synchronization with an eye for future optimizations down
> the line?

The problem with the approach I described on win32 is that fast fork()s
are required for it to not significantly impact the running backends.
That is, fork() has to return quickly when called.  I don't know whether
the implementation of fork() under win32 would be fast enough for
this purpose.  It might be -- I don't have any experience with fork()
on win32 platforms so I can't say.


-- 
Kevin Brown                          kevin@sysexperts.com