stringtranslate.com

Пакетная обработка

Компьютеризированная пакетная обработка — это метод автоматического запуска программ, называемых заданиями , в пакетном режиме. Хотя пользователям необходимо отправлять задания, для обработки пакета никаких других действий со стороны пользователя не требуется. Пакеты могут запускаться автоматически в запланированное время, а также в зависимости от доступности компьютерных ресурсов.

История

Термин «партийная обработка» происходит от традиционной классификации методов производства на поштучное производство (разовое производство), серийное производство (производство «партии» нескольких изделий одновременно, по одному этапу за раз) и поточное производство . (массовое производство, все этапы в процессе одновременно).

История ранних веков

Ранние компьютеры могли запускать одновременно только одну программу. Каждый пользователь имел единоличный контроль над машиной в течение запланированного периода времени. Они приходили к компьютеру с программой и данными, часто на перфокартах , магнитной или бумажной ленте, загружали свою программу, запускали и отлаживали ее, а по завершении уносили вывод.

По мере того, как компьютеры становились быстрее, время установки и отключения стало увеличиваться в процентах от доступного компьютерного времени. Были разработаны программы, называемые мониторами , предшественники операционных систем , которые могли обрабатывать серию или «пакет» программ, часто с магнитной ленты , подготовленной в автономном режиме. Монитор загружался в компьютер и запускал первое задание пакета. В конце задания он восстанавливал контроль, загружал и запускал следующее, пока пакет не был завершен. Часто выходные данные пакета записываются на магнитную ленту и распечатываются или перфорируются в автономном режиме. Примерами мониторов были IBM Fortran Monitor System , SOS (Share Operating System) и, наконец, IBSYS для систем IBM 709x в 1960 году. [1] [2]

Системы третьего поколения

Компьютеры третьего поколения [ нужны разъяснения ] [3] , способные к мультипрограммированию, начали появляться в 1960-х годах. Вместо одновременного запуска одного пакетного задания в этих системах может одновременно выполняться несколько пакетных программ, чтобы обеспечить максимальную занятость системы. Одна или несколько программ могут ожидать ввода, одна активно работает на ЦП, а другие генерируют выходные данные. Вместо автономного ввода и вывода программы, называемые спулерами, считывают задания с карт, дисков или удаленных терминалов и помещают их в очередь заданий для запуска. Чтобы предотвратить взаимоблокировки, планировщику заданий необходимо знать требования к ресурсам каждого задания — памяти, магнитных лент, подключаемых дисков и т. д., поэтому были разработаны различные языки сценариев для структурированного предоставления этой информации. Вероятно, наиболее известным из них является язык управления заданиями IBM (JCL). Планировщики заданий выбирают задания для запуска по множеству критериев, включая приоритет, размер памяти и т. д. Удаленная пакетная обработка — это процедура отправки пакетных заданий с удаленных терминалов, часто оснащенных устройством считывания перфокарт и построчным принтером . [4] Иногда асимметричная многопроцессорная обработка используется для буферизации пакетного ввода и вывода для одного или нескольких больших компьютеров с использованием подключенной меньшей и менее дорогой системы, как в IBM System/360 Attached Support Processor . [а]

Более поздняя история

Пакетный файл CDC NOS для получения файла STARTRK и вывода его на перфоратор карты.

Первая система разделения времени общего назначения, совместимая система разделения времени (CTSS), была совместима с пакетной обработкой. Это облегчило переход от пакетной обработки к интерактивным вычислениям . [5]

С конца 1960-х годов стали обычным явлением интерактивные вычисления, такие как текстовые интерфейсы компьютерных терминалов (как в оболочках Unix или циклах чтения-оценки-печати ), а позже и графические пользовательские интерфейсы . Неинтерактивные вычисления, как разовые задания, такие как компиляция, так и обработка нескольких элементов в пакетах, стали ретроспективно называться пакетной обработкой , а термин «пакетное задание» (в раннем использовании часто «пакет заданий ») стал обычным явлением. Раннее использование особенно встречается в Мичиганском университете , вокруг терминальной системы Мичигана (MTS). [6]

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

Непрерывный

Неинтерактивные вычисления по-прежнему широко распространены в вычислениях, как для общей обработки данных, так и для задач «обслуживания» системы (с использованием системного программного обеспечения ). Программа высокого уровня (выполняющая несколько программ с некоторой дополнительной «связующей» логикой) сегодня чаще всего называется сценарием и пишется на языках сценариев , особенно на сценариях оболочки для системных задач; в IBM PC DOS и MS-DOS это называется пакетным файлом . Сюда входят компьютеры на базе UNIX , Microsoft Windows , macOS (основанной на ядре BSD Unix) и даже смартфоны . Запущенный сценарий, особенно тот, который выполняется из интерактивного сеанса входа в систему , часто называют заданием , но этот термин используется очень неоднозначно.

«Не существует прямого аналога пакетной обработки z/OS в системах ПК или UNIX. Пакетные задания обычно выполняются в запланированное время или по мере необходимости. Возможно, самое близкое сравнение — с процессами, запускаемыми командой at или cron в UNIX, хотя различия значительны». [7]

Современные системы

Пакетные приложения по-прежнему имеют решающее значение в большинстве организаций, во многом потому, что многие распространенные бизнес-процессы поддаются пакетной обработке. Хотя онлайн-системы также могут функционировать, когда ручное вмешательство нежелательно, они обычно не оптимизированы для выполнения крупномасштабных повторяющихся задач. Поэтому даже новые системы обычно содержат одно или несколько пакетных приложений для обновления информации в конце дня, создания отчетов, печати документов и других неинтерактивных задач, которые должны быть надежно выполнены в определенные бизнес-сроки.

Некоторые приложения поддерживают потоковую обработку, а именно те, которым нужны данные только из одного входа одновременно (например, не итоговые данные): запускайте следующий шаг для каждого входа по мере завершения предыдущего шага. В этом случае обработка потока снижает задержку для отдельных входных данных, позволяя завершить их, не дожидаясь завершения всего пакета. Однако многим приложениям требуются данные из всех записей, особенно такие вычисления, как итоговые значения. В этом случае вся партия должна быть завершена, прежде чем будет получен пригодный для использования результат: частичные результаты непригодны для использования.

Современные пакетные приложения используют современные пакетные платформы, такие как Jem The Bee, Spring Batch [8] или реализации JSR 352 [9] , написанные для Java , а также другие среды для других языков программирования, чтобы обеспечить отказоустойчивость и масштабируемость , необходимые для высокой производительности. -объемная обработка. Чтобы обеспечить высокоскоростную обработку, пакетные приложения часто интегрируются с решениями для распределенных вычислений , чтобы разделить пакетное задание на большое количество процессоров, хотя при этом возникают серьезные проблемы с программированием. Пакетная обработка больших объемов также предъявляет особенно высокие требования к архитектуре систем и приложений. Архитектуры, которые обеспечивают высокую производительность ввода-вывода и вертикальную масштабируемость , включая современные мейнфреймы , как правило, обеспечивают более высокую производительность пакетной обработки, чем альтернативы.

Языки сценариев стали популярными по мере их развития вместе с пакетной обработкой. [10]

Пакетное окно

Пакетное окно — это «период менее интенсивной онлайн-активности», [11] когда компьютерная система может выполнять пакетные задания без вмешательства интерактивных онлайн-систем или с ними.

Задания банка в конце дня (EOD) требуют концепции переключения , при которой транзакции и данные отключаются для пакетной активности конкретного дня («депозиты после 15:00 будут обработаны на следующий день»).

Поскольку требования к времени безотказной работы онлайн-систем расширились для поддержки глобализации , Интернета и других потребностей бизнеса, пакетное окно сузилось [12] [13] и все большее внимание стало уделяться методам, которые требуют, чтобы онлайн-данные были доступны в течение максимального периода времени. .

Размер партии

Размер пакета относится к количеству рабочих единиц, которые будут обработаны в рамках одной пакетной операции. Некоторые примеры:

Обычное использование пакетной обработки

Известные среды пакетного планирования и выполнения

Операционная система или платформа z/OS для мэйнфреймов IBM, возможно, имеет наиболее усовершенствованный и развитый набор средств пакетной обработки благодаря своему происхождению, долгой истории и продолжающемуся развитию. Сегодня такие системы обычно поддерживают сотни или даже тысячи одновременных онлайн- и пакетных задач в одном образе операционной системы . Технологии, которые помогают одновременной пакетной и онлайн-обработке, включают язык управления заданиями (JCL), языки сценариев, такие как REXX , подсистему ввода заданий ( JES2 и JES3 ), диспетчер рабочей нагрузки (WLM), диспетчер автоматического перезапуска (ARM), службы восстановления ресурсов (RRS). , совместное использование данных IBM Db2 , Parallel Sysplex , уникальные оптимизации производительности, такие как HiperDispatch , архитектура каналов ввода-вывода и некоторые другие.

Программы Unix cron, atи batch(сегодня batchэто вариант at) позволяют выполнять сложное планирование заданий. В Windows есть планировщик заданий . Большинство высокопроизводительных вычислительных кластеров используют пакетную обработку для максимального использования кластера. [15]

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

Примечания

  1. ^ Использование спутниковых компьютеров для этой цели началось раньше, например, в IBM 7094/7044 Direct Connection System .

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

  1. ^ «Прямая пара для IBM 7090». SoftwarePreservationGroup.org . IBSYS была операционной системой для 7090, которая произошла от SOS (операционная система SHARE).
  2. ^ «История операционных систем» (PDF) . Университет Вашингтона . Архивировано (PDF) из оригинала 9 октября 2022 г. Проверено 10 октября 2019 г.
  3. ^ «Почему ты не умрешь? IBM S/360 и его наследие в 50 лет» . Регистр . 7 апреля 2014 г.
  4. ^ «Справочное руководство по оборудованию пользовательского терминала CDC» (PDF) . БитСейверы . Архивировано (PDF) из оригинала 9 октября 2022 г.
  5. ^ Уолден, Дэвид; Ван Флек, Том , ред. (2011). «Совместимая система разделения времени (1961–1973): обзор, посвященный пятидесятой годовщине» (PDF) . Компьютерное общество IEEE. Архивировано (PDF) из оригинала 9 октября 2022 г. Проверено 20 февраля 2022 г. CTSS назывался «совместимым» в том смысле, что FMS можно было запускать в B-ядре от имени «фонового» пользователя, почти так же эффективно, как на голой машине, а также потому, что программы, скомпилированные для пакетной обработки FMS, могли загружаться и выполняться в среда разделения времени «переднего плана» (с некоторыми ограничениями). ...Эта функция позволила Вычислительному центру осуществить переход от пакетной обработки к разделению времени постепенно.
  6. ^ «Вычислительный центр: достижение соглашения с IBM System/360 Model 67» . Новости исследований . 20 (ноябрь/декабрь). Мичиганский университет: 10. 1969.
  7. ^ Корпорация IBM. «Что такое пакетная обработка?». Концепции zOS . Проверено 10 октября 2019 г.
  8. ^ Минелла, Майкл (13 октября 2011 г.). Про весеннюю партию. Апресс. ISBN 978-1-4302-3453-1.
  9. ^ «Пакетные приложения для платформы Java». Процесс сообщества Java . Проверено 3 августа 2015 г.
  10. ^ "JSR352 ноль" . IBM.com. Архивировано из оригинала 20 октября 2018 г. Проверено 19 октября 2018 г. JSR 352, открытая стандартная спецификация для пакетной обработки Java. ... Используемые языки программирования со временем развивались в зависимости от того, что было доступно.
  11. ^ «Мэйнфреймы, работающие в нерабочее время: пакетная обработка». Концепции мейнфреймов . Корпорация IBM . Проверено 20 июня 2013 г.
  12. ^ Пакетная обработка: проектирование – сборка – запуск: прикладные практики и принципы. Орейли. 24 февраля 2009 г. ISBN 9780470257630.
  13. ^ «Традиционно пакетная обработка выполнялась в ночное время, при этом обрабатывались миллионы заданий… Сегодня пакетное окно постоянно сокращается из-за требований к доступности 24 часа в сутки, 7 дней в неделю».
  14. Гуткович, Бен (10 февраля 2023 г.). «Почему машинное обучение в реальном времени станет модным словом 2023 года». Суперссылка . Проверено 11 апреля 2023 г.
  15. ^ «Учебное пособие по высокопроизводительным вычислениям с контрольным списком и советами по оптимизации» . 25 января 2018 г. Многопользовательская, общая и интеллектуальная система пакетной обработки повышает масштабируемость..... Большинство кластеров HPC работают на Linux.