[jira] [Created] (IGNITE-8299) Optimize allocations and CPU consumption in active page replacement scenario

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-8299) Optimize allocations and CPU consumption in active page replacement scenario

Anton Vinogradov (Jira)
Ivan Rakov created IGNITE-8299:
----------------------------------

             Summary: Optimize allocations and CPU consumption in active page replacement scenario
                 Key: IGNITE-8299
                 URL: https://issues.apache.org/jira/browse/IGNITE-8299
             Project: Ignite
          Issue Type: Improvement
            Reporter: Ivan Rakov
            Assignee: Ivan Rakov


Ignite performance significantly decreases when total size of local data is much greater than size of RAM. It can be explained by change of disk access pattern (random reads + random writes is complex even for SSDs), but after analysis of persistence code and JFRs it's clear that there's still room for optimization.
The following possible optimizations should be investigated:
1) PageMemoryImpl.Segment#partGeneration performs allocation of GroupPartitionId during HashMap.get - we can get rid of it
2) LoadedPagesMap#getNearestAt is invoked at least 5 times in PageMemoryImpl.Segment#removePageForReplacement. It performs two allocations - we can get rid of it
3) If one of 5 evict candidates was erroneous, we'll find 5 new ones - we can reuse remaining 4 instead



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)