Thank you for a grade school introduction to the scientific method along with the implicit suggestion such practices are not being followed. I have used PrimoCache on multiple workstations for several years and have closely observed behaviors with various settings over many hours. As previously stated it is my belief that all of the write commit methods generally conform to the flush methodology stated in the accompanying documentation.sinus wrote:Any assumptions in science and practice always either are confirmed experimentally, or are rejected. Without having results of experiments, there is no sense to argue because it is not soccer and not policy. The experiment must be clean and clear: established checkbox of "Enable Defer-Write", the "Latency" value is enable, in "Advanced Defer-Write Options" select Write Mode "Intelligent", "Idle-Flush" or "Buffer" (with condition of "Windows idle"). Some background task is carried out not to allow "Windows idle", and start of a procedure, for example, copy files on cached disk; (total size of files has to be more than Cache Size).
By way of example I have a 256 MB L1 60s write only cache established on a laptop configured for 'average' commits. Data volumes regularly exceed the cache capacity resulting in urgent writes. However, during quieter periods it is easy to observe the cache flush behavior with the various write modes. All appear to work as designed (but see footnote, below).
Why such a small cache and accompanying long retention interval? Boils down to the number of small incremental writes which are often temporary or redundant. The automatic trim and disembiguation of cached data results in a 30-40% reduction in actual writes to physical media. I could configure a larger cache but the incremental benefits would not offset the loss of physical memory which is better used by the host operating system.
Analyzing behavior on a smaller scale is often easier although findings/results do not always scale. My experience with huge L1 caches (>4 GB) is quite limited. However, I have consistently observed behavior that is in line with the above example with L1 caches ranging from 128 MB to 2 GB.
Footnote on Native, Intelligent and Buffer: each of these write modes leverage Windows "idle" time to commit data. However, many conditions must be met for Windows to be "idle" which may not be consistent with casual observation. Anyone who has used Task Manager or extended sleep timeouts has experienced seemingly unexplained delays as Windows frequently resets the idle timer(s) due to background activity that may not be noticeable.