[
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 fixes.
** 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 a 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 fixes.
> ** Dirty ratio calculation doesn't use floating point division anymore.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)