Слияние сортировки мэйнфреймов - Mainframe sort merge

Утилита Sort / Merge - это программа для мэйнфреймов, предназначенная для сортировки записей в файле в указанном порядке, объединения предварительно отсортированных файлов в отсортированный файл или копирования выбранных записей. Внутри эти утилиты используют один или несколько стандартных алгоритмов сортировки , часто с частным отлаженным кодом.

Первоначально мэйнфреймы поставлялись с ограниченной оперативной памятью по сегодняшним стандартам, и объем данных для сортировки часто был очень большим. Из-за этого, в отличие от более поздних программ сортировки, ранние программы сортировки / слияния уделяли большое внимание эффективным методам сортировки данных на вторичном хранилище , обычно на ленте или диске . В 1968 году программа OS / 360 Sort / Merge предоставила пять различных «методов распределения последовательностей», которые можно было использовать в зависимости от количества и типа доступных устройств.

До System / 370 все операционные системы мэйнфреймов IBM включали утилиты сортировки / слияния. С объявлением о динамической трансляции адресов , DOS / VS и OS / VS , IBM разделила большую часть программного обеспечения и предложила платные программные продукты для сортировки / слияния. Для OS / VS IBM предложила 5740-SM1, OS / VS Sort / Merge, а позже переименовала его в Data Facility Sort (DFSORT).

В 1990 году IBM представила новый алгоритм слияния под названием BLOCKSET в DFSORT, преемнике OS / 360 Sort / Merge. Следует отметить, что алгоритм BLOCKSET был изобретен системным инженером IBM в 1963 году, был обнаружен в архивах IBM и реализован в 1990 году.

Сортировка / объединение используется очень часто; Часто это наиболее часто используемая прикладная программа в цехе для мэйнфреймов, обычно потребляющая около двадцати процентов вычислительной мощности цеха.

Современные программы сортировки / слияния также могут копировать файлы, выбирать или пропускать определенные записи, суммировать записи, удалять дубликаты, переформатировать записи, добавлять новые данные и создавать отчеты. Действительно, большинство приложений сортировки / слияния используют широкий спектр дополнительных возможностей обработки, а не просто сортировку или слияние записей: продукт сортировки / слияния - очень быстрый способ выполнения ввода и вывода этих функций. Поддерживается довольно много «пользовательских выходов», и это могут быть загрузочные модули (т. Е. Член библиотеки) или колоды объектов (т. Е. Вывод ассемблера) с загрузкой приложения сортировки / слияния (загрузочные модули ) или связывание (объектные колоды; в DFSORT это называется «редактирование динамической ссылки») выхода, как указано и требуется. Наборы данных рабочего хранилища (т. Е. SORTWK01, ..., SORTWKnn) могут быть диском или лентой, хотя алгоритм BLOCKSET ограничен дисковым рабочим хранилищем; чем больше наборов данных рабочего хранилища, тем выше производительность.

Сортировка / слияние достаточно важно, чтобы существовали несколько компаний, каждая из которых продает свой собственный пакет сортировки / слияния для мэйнфреймов IBM и своих операционных систем z / OS , z / VM и z / VSE . Основные пакеты сортировки / слияния:

  • DFSORT продается IBM .
  • SyncSort продается Syncsort , Inc.
  • CA-Sort продается компанией CA Technologies .

(Некоторые из этих компаний также продают версии для других платформ, таких как Unix , Linux или Windows .)

Исторически «псевдоним» SORT использовался для обозначения IBM Sort / Merge, и сторонние программы Sort / Merge (например, SYNCSORT, CASORT) также использовали SORT в качестве псевдонима для своего продукта. DFSORT часто упоминается по имени программы, ICEMAN (компонент ICE; исходное имя программы OS / 360 Sort / Merge было IERRCO00, компонент IER, также с «псевдонимом» SORT).

IBM OS / 360 СОРТИРОВКА

До появления операционных систем виртуального хранения «входной набор данных [был] почти всегда слишком велик, чтобы его можно было поместить в основное хранилище и отсортировать все сразу». SORT использует метод выбора замены, чтобы уменьшить использование хранилища. В программе особое внимание уделялось методам распределения последовательностей , которые могут быть выбраны по умолчанию в зависимости от количества и типа доступных устройств или могут быть указаны пользователем для наилучшего использования файлов «сортировки» (SORTWK) вторичного хранилища. Эти методы были наиболее эффективными методами распределения частично отсортированных последовательностей записей.

Для OS / 360 SORT было доступно пять методов распределения:

  • Магнитная лента
    • Сбалансированный (BALN) - требуется минимум 12 000 байт оперативной памяти и 2x + 1 ленточных устройств для промежуточного хранения, где x - число входных ленточных томов, максимум до 15 входных катушек.
    • Полифазный (POLY) - требуется минимум 12 000 байт и 3 ленточных устройства промежуточного хранения. Разрешен только один входной барабан.
    • Осциллирующий (OSCL) - требуется 21000 байт и макс. (X + 2,4) промежуточных ленточных устройств, где x - количество входных томов, максимум до 15.
  • Методы прямого доступа
    • Сбалансированный (BALN) - требуется минимум 13 000 байт и от 3 до 6 рабочих областей диска. Максимальное количество записей, которые можно было отсортировать, зависело от доступной основной и вспомогательной памяти.
    • Crisscross (CRCX) - недоступно для вспомогательных запоминающих устройств IBM 2311 или IBM 2301 . Требуется минимум 24 000 байт оперативной памяти и от 6 до 17 рабочих областей вспомогательной памяти. Максимальное количество записей, которые можно было отсортировать, зависело от доступной основной и вспомогательной памяти.

IBM OS / VS СОРТИРОВКА

Методы распределения, перечисленные для сортировки на магнитной ленте, были сохранены программой OS / VS SORT, теперь называемой «традиционными методами». Приемы сортировки дисков были заменены четырьмя новыми:

  • FLR-Blockset для записей фиксированной длины
  • VLR-Blockset для записей переменной длины
  • Пэра для записей фиксированной длины
  • Vale для записей фиксированной и переменной длины

Смотрите также

Заметки

Рекомендации

Внешние ссылки