[
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]