You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "姚琴 (JIRA)" <ji...@apache.org> on 2015/10/23 04:50:27 UTC

[jira] [Created] (SPARK-11271) MapStatus too large for driver

姚琴 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-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org