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

jiamuzhou updated SPARK-30441:
------------------------------
    Description: 
This is very consume memory when It use StronglyConnectedComponents(see 
figure1.png). Because there is no mark the Graph/RDD as non-persistent in the 
iterative process timely. And it is maybe lead to fail in the big graph.

In order to improve the memory usage, it is verty important to mark the 
Graph/RDD as non-persistent timely. In the current code, only make the 
Graph/RDD as non-persistent for 'sccGraph' but not for 'sccWorkGraph' in 
degree's step and pregel's step.

I have done a optimized code proposal(see my 
fork:[https://github.com/jmzhoulab/spark/blob/master/graphx/src/main/scala/org/apache/spark/graphx/lib/StronglyConnectedComponents.scala])

The storage after optimization see figure2.png

  was:
This is very consume memory when It use StronglyConnectedComponents(see 
figure1.png). Because there is no mark the Graph/RDD as non-persistent in the 
iterative process timely. And it is maybe lead to fail in the big graph.

In order to improve the memory usage, it is verty important to mark the 
Graph/RDD as non-persistent timely. In the current code, only make the 
Graph/RDD as non-persistent for 'sccGraph' but not for 'sccWorkGraph' in 
degree's step and pregel's step.

I have done a optimized code proposal(see my 
fork:[https://github.com/jmzhoulab/spark/blob/branch-2.4/graphx/src/main/scala/org/apache/spark/graphx/lib/StronglyConnectedComponents.scala])

The storage after optimization see figure2.png


> Improve the memory usage in StronglyConnectedComponents
> -------------------------------------------------------
>
>                 Key: SPARK-30441
>                 URL: https://issues.apache.org/jira/browse/SPARK-30441
>             Project: Spark
>          Issue Type: Improvement
>          Components: GraphX
>    Affects Versions: 2.1.0, 2.3.0, 2.4.0, 2.4.4
>            Reporter: jiamuzhou
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: figure1.png, figure2.png
>
>
> This is very consume memory when It use StronglyConnectedComponents(see 
> figure1.png). Because there is no mark the Graph/RDD as non-persistent in the 
> iterative process timely. And it is maybe lead to fail in the big graph.
> In order to improve the memory usage, it is verty important to mark the 
> Graph/RDD as non-persistent timely. In the current code, only make the 
> Graph/RDD as non-persistent for 'sccGraph' but not for 'sccWorkGraph' in 
> degree's step and pregel's step.
> I have done a optimized code proposal(see my 
> fork:[https://github.com/jmzhoulab/spark/blob/master/graphx/src/main/scala/org/apache/spark/graphx/lib/StronglyConnectedComponents.scala])
> The storage after optimization see figure2.png



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to