При рассмотрении каскадной сортировки или сортировки методом касадного слияния следует отметить, что данный метод относится к внешней улучшенной сортировке, не простым слиянием . Каскадное слияние объединяет два списка отсортированных данных за один раз, пока не останется только один отсортированный список, и используется для сортировки в памяти, поскольку оно более эффективно, чем K-way merge. Мы стремимся к тому, чтобы наша реализация имела высокую производительность в памяти, которая плавно снижается по мере превышения лимита доступной памяти. При каскадной сортировке мы объединяем два блока отсортированных данных за один раз, пока не останется только один отсортированный блок. Естественно, мы хотим использовать все доступные потоки для вычисления слияния. Если у нас гораздо больше отсортированных блоков, чем потоков, мы можем назначить каждый поток для слияния двух блоков. Однако по мере слияния блоков у нас не будет достаточно блоков, чтобы все потоки были заняты. Это особенно ме