Hi Yuxin,

As one of the main contributors of hybrid shuffle, I am very happy to see
this improvement.

IMO, hybrid shuffle should gradually replace the default batch shuffle
implementation, because it is theoretically a superset of blocking
shuffle(i.e. SortMergeShuffle / BoundedBlockingShuffle). Today, with the
popularity of K8S, more and more people suffer from insufficient disk space
problem when running batch jobs on cloud environment. Therefore, supporting
elastic remote storage is a crucial part of this process.

This FLIP is good for me on the whole, but I still have some problems:

1. How to optimize the broadcast result partition?
Is it the same as the original hybrid shuffle that uses the full spilling
strategy? IIUC, this FLIP proposes to remove the spilling operation from
the memory layer to the disk layer, does it also lose the ability to
consume data from memory in this case? This problem can be extended to any
multi-consumer situation, such as partition reuse and speculative execution.

2. With regard to the number of reader-side memory management, the original
hybrid shuffle did not calculate an accurate backlog for performance
reasons, so it is necessary to reserve two exclusive buffers for each
channel to avoid some performance deterioration. Can the new proposal
completely avoid this problem? At the same time, does N in the formula mean
that one exclusive buffer is reserved for each channel? If so, why can't
all of them floating?


Best regards,

Weijie


Yuxin Tan <tanyuxinw...@gmail.com> 于2023年3月6日周一 13:51写道:

> Hi everyone,
>
> I would like to start a discussion on FLIP-301: Hybrid Shuffle supports
> Remote Storage[1].
>
> In the cloud-native environment, it is difficult to determine the
> appropriate
> disk space for Batch shuffle, which will affect job stability.
>
> This FLIP is to support Remote Storage for Hybrid Shuffle to improve the
> Batch job stability in the cloud-native environment.
>
> The goals of this FLIP are as follows.
> 1. By default, use the local memory and disk to ensure high shuffle
> performance if the local storage space is sufficient.
> 2. When the local storage space is insufficient, use remote storage as
> a supplement to avoid large-scale Batch job failure.
>
> Looking forward to hearing from you.
>
> [1]
>
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-301%3A+Hybrid+Shuffle+supports+Remote+Storage
>
> Best,
> Yuxin
>

Reply via email to