jin xing created SPARK-20994:
--------------------------------

             Summary: Alleviate memory pressure in StreamManager
                 Key: SPARK-20994
                 URL: https://issues.apache.org/jira/browse/SPARK-20994
             Project: Spark
          Issue Type: Improvement
          Components: Spark Core
    Affects Versions: 2.1.1
            Reporter: jin xing


In my cluster, we are suffering from OOM of shuffle-service.
We found that a lot of executors are fetching blocks from a single 
shuffle-service. Analyzing the memory, we found that the 
blockIds({{shuffle_shuffleId_mapId_reduceId}}) takes about 1.5GBytes.

In current code, chunks are fetched from shuffle service in two steps:
Step-1. Send {{OpenBlocks}}, which contains the blocks list to to fetch;
Step-2. Fetch the consecutive chunks from shuffle-service by {{streamId}} and 
{{chunkIndex}}

Conceptually, there is no need to send the blocks list in step-1. Client can 
send the blockId in Step-2. Receiving {{ChunkFetchRequest}}, server can check 
if the chunkId is in local block manager and send back response. 
Thus memory cost can be improved.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to