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)

Reply via email to