姚琴 created SPARK-11271:
--------------------------

             Summary: MapStatus too large for driver
                 Key: SPARK-11271
                 URL: https://issues.apache.org/jira/browse/SPARK-11271
             Project: Spark
          Issue Type: Improvement
          Components: Shuffle
            Reporter: 姚琴


When I run a spark job contains quite a lot of tasks(in my case is 
200k[maptasks]*200k[reducetasks]), the driver occured OOM mainly caused by the 
object MapStatus,
RoaringBitmap that used to mark which block is empty seems to use too many 
memories.
I try to use org.apache.spark.util.collection.BitSet instead of RoaringBitMap, 
and it can save about 20% memories.

For the 200K tasks job, 
RoaringBitMap uses 3 Long[1024] and 1 Short[3392] 
=3*64*1024+16*3392=250880(bit) 
BitSet uses 1 Long[3125] = 3125*64=200000(bit) 

Memory saved = (250880-200000) / 250880 ≈20%



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to