Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-30441

Improve the memory usage in StronglyConnectedComponents

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: In Progress
    • Major
    • Resolution: Unresolved
    • 3.1.0
    • None
    • GraphX
    • None

    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

      Attachments

        1. figure2.png
          139 kB
          jiamuzhou
        2. figure1.png
          1013 kB
          jiamuzhou

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jmzhou jiamuzhou
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: