guowangy commented on PR #11722:
URL: https://github.com/apache/gluten/pull/11722#issuecomment-4035805472

   > > The implementation can reduce total latency of TPC-H(SF6T) by ~16% using 
sort-based shuffle with low memory capacity in 2-socket Xeon 6960P system.
   > 
   > Can you explain where this improvement mainly comes from?
   > 
   > Currently we follow the same file layout as vanilla spark to have each 
partition output contiguous. I think one major benefit for this design is to 
reduce small random disk IO from the shuffle reader side. If memory is tight 
then the spill will be triggered more frequently, and it will be more likely to 
produce small output blocks for each partition. In this case this design will 
not be IO friendly.
   
   For existing design, if spill happens, interim blocks of partition data will 
be saved to the disk; at the end of the shuffle write, these interim data will 
be reloaded from disk and saved as final partition data. This optimization is 
trying to avoid such interim write/reload operations, when spill happens, data 
will be directly saved as final partition blocks.
   
   As for IO friendly, for existing design, if spill is triggered frequently, 
there will be also many small interim blocks saved to disk, it's not IO 
friendly when reload them from disk and packed as final partition data. With 
this PR, it does not make IO friendly worse, just move such situation from 
shuffle writer to reader. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to