Subject | Forced Write Performance |
---|---|
Author | Jim Starkey |
Post date | 2003-02-09T21:43:36Z |
Ann and I were talking about the performance degradation when
operating with forced write. It occurred to me that although
Unix normally performs writes by copying data out of the process
space to a global disk cache, perhaps it was doing page writes
directly out of process space, which would necessarily require
freezing the process for the duration of the operation.
Does anybody know if this is the case?
The Interbase/Firebird page cache manager goes to some lengths
to put page buffers on natural page boundaries to allow page
IO by the operation system virtual memory manager (if it happens
to support that optimization). On VMS, which didn't (doesn't?)
have cached IO, this was a huge performance win. It may be
possible that same code is a UNIX deoptimization.
If this is indeed the case, a simple dedicated page write thread
may give a performance boost when forced write is enabled.
Jim Starkey
operating with forced write. It occurred to me that although
Unix normally performs writes by copying data out of the process
space to a global disk cache, perhaps it was doing page writes
directly out of process space, which would necessarily require
freezing the process for the duration of the operation.
Does anybody know if this is the case?
The Interbase/Firebird page cache manager goes to some lengths
to put page buffers on natural page boundaries to allow page
IO by the operation system virtual memory manager (if it happens
to support that optimization). On VMS, which didn't (doesn't?)
have cached IO, this was a huge performance win. It may be
possible that same code is a UNIX deoptimization.
If this is indeed the case, a simple dedicated page write thread
may give a performance boost when forced write is enabled.
Jim Starkey