spark-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiamuzhou (Jira)" <j...@apache.org>
Subject [jira] [Updated] (SPARK-30441) Improve the memory usage in StronglyConnectedComponents
Date Mon, 06 Jan 2020 16:23:00 GMT

     [ 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/branch-2.4/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 figure1.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.4.4
>            Reporter: jiamuzhou
>            Priority: Major
>             Fix For: 2.4.5, 3.0.0, 3.1.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/branch-2.4/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: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org


Mime
View raw message