You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ignite TC Bot (Jira)" <ji...@apache.org> on 2022/04/04 06:40:00 UTC
[jira] [Commented] (IGNITE-16582) Improve behavior of speed-based throttling when dirty pages ratio is low
[ https://issues.apache.org/jira/browse/IGNITE-16582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17516637#comment-17516637 ]
Ignite TC Bot commented on IGNITE-16582:
----------------------------------------
{panel:title=Branch: [pull/9924/head] Base: [master] : No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9924/head] Base: [master] : New Tests (5)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}PDS 5{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=6497936]]
* {color:#013220}IgnitePdsTestSuite5: SpeedBasedThrottleIntegrationTest.speedBasedThrottleShouldBeActivatedWhenNeeded - PASSED{color}
{color:#00008b}PDS (Unit Tests){color} [[tests 4|https://ci.ignite.apache.org/viewLog.html?buildId=6497893]]
* {color:#013220}IgnitePdsUnitTestSuite: IgniteThrottlingUnitTest.shouldNotThrottleWhenWritingFasterThanCPSpeedButThereAreManyCleanPages - PASSED{color}
* {color:#013220}IgnitePdsUnitTestSuite: IgniteThrottlingUnitTest.doNotThrottleWhenDirtyPagesRatioIsTooHigh - PASSED{color}
* {color:#013220}IgnitePdsUnitTestSuite: IgniteThrottlingUnitTest.shouldThrottleWhenWritingTooFast - PASSED{color}
* {color:#013220}IgnitePdsUnitTestSuite: IgniteThrottlingUnitTest.shouldNotThrottleWhenWritingSlowly - PASSED{color}
{panel}
[TeamCity *--> Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=6497948&buildTypeId=IgniteTests24Java8_RunAll]
> Improve behavior of speed-based throttling when dirty pages ratio is low
> ------------------------------------------------------------------------
>
> Key: IGNITE-16582
> URL: https://issues.apache.org/jira/browse/IGNITE-16582
> Project: Ignite
> Issue Type: Improvement
> Components: persistence
> Affects Versions: 2.12
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Fix For: 2.14
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> There is a log:
> {{Throttling is applied to page modifications [}}
> percentOfPartTime=0.59,
> markDirty=7424 pages/sec,
> checkpointWrite=6268 pages/sec,
> estIdealMarkDirty=0 pages/sec,
> curDirty=0.00,
> maxDirty=0.24,
> avgParkTime=79770 ns,
> {{pages: (total=67085, evicted=0, written=40916, synced=0, cpBufUsed=3, cpBufTotal=518215)]}}
> Here, it can be seen that, although there are plenty of non-dirty pages, throttling is applied. This happens because our speed-based throttling has 2 algorithms for protecting non-dirty pages from exhaustion:
> # A more complex one that computes max allowable dirty ratio and ideal marking speed and throttles when both dirty ratio and current marking speed surpass these values
> # A simpler one that throttles if the current marking speed is higher than the average checkpointing speed
> In the shown example the first algorithm does not throttle, but the second one does.
> It looks like the throttling is enabled too early.
> One way to solve this problem is to just disable the second algorithm as the first seems to be more adequate (but this needs careful consideration of all possible cases).
> Another way is to consider averaged marking speed instead of (or in addition to) the current marking speed when deciding whether to throttle or not.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)