You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Voronkin (JIRA)" <ji...@apache.org> on 2019/01/10 07:04:00 UTC

[jira] [Updated] (IGNITE-10877) GridAffinityAssignment.initPrimaryBackupMaps memory pressure

     [ https://issues.apache.org/jira/browse/IGNITE-10877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Voronkin updated IGNITE-10877:
------------------------------------
    Description: 
Whie running tests with JFR we observe huge memory allocation pressure produced by:

*Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)*

java.util.HashMap.newNode(int, Object, Object, HashMap$Node) 481 298 044 784 100
 java.util.HashMap.putVal(int, Object, Object, boolean, boolean) 481 298 044 784 100
 java.util.HashMap.put(Object, Object) 481 298 044 784 100
 java.util.HashSet.add(Object) 480 297 221 040 99,724
 org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.initPrimaryBackupMaps() 1 823 744 0,276

org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.<init>(AffinityTopologyVersion, List, List) 1 823 744 0,276

*Allocation stats*

Class Average Object Size(bytes) Total Object Size(bytes) TLABs Average TLAB Size(bytes) Total TLAB Size(bytes) Pressure(%)
java.util.HashMap$Node 32 15 392 481 619 635,726 298 044 784 32,876
java.lang.Object[] 1 470,115 461 616 314 655 019,236 205 676 040 22,687
java.util.HashMap$Node[] 41 268,617 6 149 024 149 690 046,067 102 816 864 11,341
java.lang.Integer 16 1 456 91 662 911,385 60 324 936 6,654
java.util.ArrayList 24 1 608 67 703 389,97 47 127 128 5,198

 

I think we need to improve memory efficiency by switching from from Sets to BitSets

 

 

 

> GridAffinityAssignment.initPrimaryBackupMaps memory pressure
> ------------------------------------------------------------
>
>                 Key: IGNITE-10877
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10877
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Pavel Voronkin
>            Priority: Major
>
> Whie running tests with JFR we observe huge memory allocation pressure produced by:
> *Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)*
> java.util.HashMap.newNode(int, Object, Object, HashMap$Node) 481 298 044 784 100
>  java.util.HashMap.putVal(int, Object, Object, boolean, boolean) 481 298 044 784 100
>  java.util.HashMap.put(Object, Object) 481 298 044 784 100
>  java.util.HashSet.add(Object) 480 297 221 040 99,724
>  org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.initPrimaryBackupMaps() 1 823 744 0,276
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.<init>(AffinityTopologyVersion, List, List) 1 823 744 0,276
> *Allocation stats*
> Class Average Object Size(bytes) Total Object Size(bytes) TLABs Average TLAB Size(bytes) Total TLAB Size(bytes) Pressure(%)
> java.util.HashMap$Node 32 15 392 481 619 635,726 298 044 784 32,876
> java.lang.Object[] 1 470,115 461 616 314 655 019,236 205 676 040 22,687
> java.util.HashMap$Node[] 41 268,617 6 149 024 149 690 046,067 102 816 864 11,341
> java.lang.Integer 16 1 456 91 662 911,385 60 324 936 6,654
> java.util.ArrayList 24 1 608 67 703 389,97 47 127 128 5,198
>  
> I think we need to improve memory efficiency by switching from from Sets to BitSets
>  
>  
>  



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