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)