Uploaded image for project: 'SystemDS'
  1. SystemDS
  2. SYSTEMDS-919

OOM Error in `RDDConverterUtilsExt`

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • SystemML 0.11
    • None
    • None

    Description

      While running a custom algorithm on ~7TB data on Spark, I ran into the following OOM error. I am using the new MLContext and passing in Spark DataFrames with no provided dimensions. It's a difficult setup to reproduce, but we should look into this to see if there are improvements that could avoid OOM situations.

      Stack trace:

      java.lang.OutOfMemoryError: Java heap space
      	at java.util.Arrays.copyOf(Arrays.java:3181)
      	at java.util.ArrayList.grow(ArrayList.java:261)
      	at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:235)
      	at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:227)
      	at java.util.ArrayList.add(ArrayList.java:458)
      	at org.apache.sysml.runtime.instructions.spark.utils.RDDConverterUtilsExt$RowToBinaryBlockFunctionHelper.flushBlocksToList(RDDConverterUtilsExt.java:926)
      	at org.apache.sysml.runtime.instructions.spark.utils.RDDConverterUtilsExt$RowToBinaryBlockFunctionHelper.convertToBinaryBlock(RDDConverterUtilsExt.java:862)
      	at org.apache.sysml.runtime.instructions.spark.utils.RDDConverterUtilsExt$DataFrameToBinaryBlockFunction.call(RDDConverterUtilsExt.java:587)
      	at org.apache.sysml.runtime.instructions.spark.utils.RDDConverterUtilsExt$DataFrameToBinaryBlockFunction.call(RDDConverterUtilsExt.java:574)
      	at org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$7$1.apply(JavaRDDLike.scala:192)
      	at org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$7$1.apply(JavaRDDLike.scala:192)
      	at org.apache.spark.rdd.RDD$$anonfun$mapPartitions$1$$anonfun$apply$20.apply(RDD.scala:710)
      	at org.apache.spark.rdd.RDD$$anonfun$mapPartitions$1$$anonfun$apply$20.apply(RDD.scala:710)
      	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
      	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
      	at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
      	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:73)
      	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41)
      	at org.apache.spark.scheduler.Task.run(Task.scala:89)
      	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      Attachments

        Activity

          People

            mboehm7 Matthias Boehm
            dusenberrymw Mike Dusenberry
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: