Сортировка слиянием мэйнфреймов

Компьютерная программа

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

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

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

Виртуальные системы хранения

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

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

Использование

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

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

Соревнование

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

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

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

Миграция

Сортировка/слияние является критически важным компонентом многих сред мэйнфреймов. При миграции с мэйнфрейма на другие платформы, такие как Unix , Linux или Windows , необходима утилита сортировки/слияния; [4] MFSORT от Micro Focus и AHLSORT [5] эмулируют функции DFSORT вне среды мэйнфрейма.

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

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

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

  • Методы магнитной ленты
    • Сбалансированный (BALN) — требуется минимум 12 000 байт основного хранилища и 2x+1 ленточных устройства для промежуточного хранения, где x — количество входных ленточных томов, максимум до 15 входных катушек.
    • Полифазный (POLY) — требовал минимум 12 000 байт и 3 промежуточных накопителя на магнитной ленте. Разрешалась только одна входная катушка.
    • Осцилляция (OSCL) — требуется 21 000 байт и максимум (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, теперь называемой «обычными методами». Методы сортировки на диске были заменены четырьмя новыми: [6]

  • FLR-Blockset для записей фиксированной длины
  • VLR-Blockset для записей переменной длины
  • Пиринг для записей фиксированной длины
  • Значение для записей как фиксированной, так и переменной длины

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

Примечания

  1. ^ В 1950-х и 1960-х годах лента была наиболее распространенным носителем для сортировки рабочих файлов, но по мере снижения стоимости устройств хранения данных с прямым доступом использование ленты стало редким, за исключением очень больших файлов.
  2. ^ CMS использовала программу сортировки DOS/360

Ссылки

  1. ^ abc IBM Corporation (1968). Сортировка/слияние операционной системы IBM System/360 (GC28-6435-5) (PDF) . стр.  16–17 .
  2. ^ "z/OS DFSORT Tuning Guide". 28 сентября 2013 г. Получено 2 октября 2014 г.
  3. ^ "Key Tag Sort". IBM Technical Information Exchange . 22 июня 1963 г.
  4. ^ Лонг, Ларри. «Пять главных проблем миграции мэйнфреймов, с которыми сталкиваются руководители ИТ». Forbes .
  5. ^ «IFL – Экономически эффективная платформа zSeries?». 3 сентября 2014 г.
  6. ^ IBM Corporation (сентябрь 1979 г.). OS/VS Sort/Merge Logic (PDF) . стр. 2 . Получено 21 июня 2021 г. .
  • Руководства IBM DFSORT
  • Некоторые базовые примеры DFSORT и SyncSort
Получено с "https://en.wikipedia.org/w/index.php?title=Mainframe_sort_merge&oldid=1210611172"