[ 
https://issues.apache.org/jira/browse/IGNITE-25155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Bessonov updated IGNITE-25155:
-----------------------------------
    Description: 
Here I want to include a number of smaller optimizations and run some 
benchmarks with them.

Unlike issues like IGNITE-16879 and IGNITE-25147, I expect a much smaller 
impact here.

We should also disable throttling and compare the results.
h3. What's done here
 * Fixes:
 ** Evicted pages did not participate in the calculation of checkpoint speed, 
thus making it look smaller than it really was.
 ** Checkpoint progress started its reporting too early, potentially leading to 
wrong speed estimation.
 ** "speed measurement" instance from next checkpoint used to be mistakenly 
allocated by the progress from current checkpoint, adding unnecessary noise and 
fluctuations to measurements.
 ** While finishing the checkpoint, the "speed measurement" instance that 
corresponded to it had a page count smaller than the real page count in 
finished checkpoint.
 * Optimizations:
 ** The number of pages in checkpoint buffer is always the same, yet we 
calculated it every time.
 ** Several unnecessary volatile accesses have been fixed.
 ** Dirty ratio calculation doesn't use floating point division anymore.

  was:
Here I want to include a number of smaller optimizations and run some 
benchmarks with them.

Unlike issues like IGNITE-16879 and IGNITE-25147, I expect a much smaller 
impact here.

We should also disable throttling and compare the results.
h3. What's done here
 * Fixes:
 ** Evicted pages did not participate in the calculation of checkpoint speed, 
thus making it look smaller than it really was.
 ** Checkpoint progress started its reporting too early, potentially leading to 
wrong speed estimation.
 ** "speed measurement" instance from next checkpoint used to be mistakenly 
allocated by the progress from current checkpoint, adding unnecessary noise and 
fluctuations to measurements.
 ** While finishing the checkpoint, the "speed measurement" instance that 
corresponded to it had a page count smaller than the real page count in 
finished checkpoint.
 * Optimizations:
 ** The number of pages in checkpoint buffer is always the same, yet we 
calculated it every time.
 ** Several unnecessary volatile accesses have been fixes.
 ** Dirty ratio calculation doesn't use floating point division anymore.


> Throttling related optimizations
> --------------------------------
>
>                 Key: IGNITE-25155
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25155
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Ivan Bessonov
>            Assignee: Ivan Bessonov
>            Priority: Major
>              Labels: ignite-3
>         Attachments: Screenshot from 2025-04-15 18-08-44.png, Screenshot from 
> 2025-04-15 18-08-47.png
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Here I want to include a number of smaller optimizations and run some 
> benchmarks with them.
> Unlike issues like IGNITE-16879 and IGNITE-25147, I expect a much smaller 
> impact here.
> We should also disable throttling and compare the results.
> h3. What's done here
>  * Fixes:
>  ** Evicted pages did not participate in the calculation of checkpoint speed, 
> thus making it look smaller than it really was.
>  ** Checkpoint progress started its reporting too early, potentially leading 
> to wrong speed estimation.
>  ** "speed measurement" instance from next checkpoint used to be mistakenly 
> allocated by the progress from current checkpoint, adding unnecessary noise 
> and fluctuations to measurements.
>  ** While finishing the checkpoint, the "speed measurement" instance that 
> corresponded to it had a page count smaller than the real page count in 
> finished checkpoint.
>  * Optimizations:
>  ** The number of pages in checkpoint buffer is always the same, yet we 
> calculated it every time.
>  ** Several unnecessary volatile accesses have been fixed.
>  ** Dirty ratio calculation doesn't use floating point division anymore.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to