Что такое системы пакетной обработки
Что такое системы пакетной обработки
Особенности областей использования операционных систем
Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:
2.1 Системы пакетной обработки
Предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности системы пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используется следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование у системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие отличные требования к ресурсам, так чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины; так, например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается «выгодное» задание. Следовательно, в таких ОС гарантировать выполнение того или иного задания в течении определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказалась от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.
2.2 Системы разделения времени
2.3 Системы реального времени
Рис. 2.1. Блок-схема форм эксплуатации ЭВМ
Рис.2.2. Мультипрограммный режим
*Системы 2. и 3. могут относиться к системам on_line.
Рис. 2.3. Средства, обеспечивающие автоматизацию решения задачи
Рис.2.4. Ресурсы вычислительной системы и программное обеспечение
Пакетная обработка данных: как ускорить работу с big data в десятки раз
Разбираем одну мощнейшую методику обработки данных, позволяющую быстрее работать с большими данными. Это в несколько раз ускоряет бизнес-аналитику, получение отчетности и другие задачи, связанные с обработкой множества файлов.
Что такое пакетная обработка данных
Система пакетной обработки данных — это когда данные обрабатывают пакетами. То есть массив информации, сходной по смыслу или формату, помещают в некоторый контейнер, а потом производят над ней какое-то действие. Например, изменяют или отбирают нужные файлы по заданным критериям. Выбранное действие обязательно применяется сразу ко всем файлам/байтам/записям в пакете.
Как составляются пакеты данных
Существует несколько основных методов группировки информации по разным контейнерам-пакетам:
Отобранные данные отправляются в систему пакетной обработки данных, где с ними происходят нужные действия.
Что означает обработка данных в пакетном режиме
По сути, с данными в одном пакете могут происходить всего две вещи:
Пример решения для пакетной обработки данных, собранных в процессе работы бизнеса, — Apache Hadoop и его механизм обработки MapReduce. Он может работать с огромными массивами информации и используется, если в компании хранят big data.
Как можно выполнять операции пакетной обработки данных
Обработка данных в пакетном режиме означает, что все файлы пакета будут обработаны определенным образом: так, как вы выбрали. Происходить это может двумя способами:
Зачем нужны системы пакетной обработки данных
Кто применяет системы пакетной обработки данных
Пакетную обработку нужно знать и любить всем, кто выстраивает сложные алгоритмы/процессы или работает с большими объемами данных. Обычно это делается в научных системах, проектах с высокими нагрузками или там, где работают с big data.
Как правило, для системы пакетной обработки данных применяют кластеры серверов — с их помощью можно организовать параллельную обработку или построить многоэтапный конвейер.
Вот и всё: теперь вы знаете о пакетной обработке столько же, сколько любой системный архитектор.)
Пакетная обработка
Пакетная обработка
Поскольку составление расписаний машинного времени — долгая и утомительная процедура, нет ничего удивительного в том, что у пользователей ЭВМ появилась идея: а что, если всю организационную работу по составлению и контролю расписания работы пользователей на ЭВМ поручить самой вычислительной машине? По заданию, которое предназначено для компьютерной обработки, в ЭВМ вводятся конкретная программа и исходные данные. К этой информации добавляются специальные сообщения, в которых указывается, насколько срочной считается данная работа и сколько примерно она потребует машинного времени.
Все эти сведения собираются в каком-то одном месте, после чего по соответствующим признакам задается очередность заданий, и они начинают выполняться одно за другим. Данная система называется системой пакетной обработки заданий.
В системах, реализующих пакетную обработку информации, очередность выполнения заданий определяет операционная система компьютера (ОС). Определение очередности выполнения заданий, готовых к обработке, является функцией автоматического планировщика заданий в ОС. При планировании очередности предпочтение отдается заданиям с оговоренной высокой степенью срочности либо таким, которые по предварительным оценкам потребуют малого времени на обработку. Задания менее срочные, а также такие, которые требуют большего времени на обработку, откладываются. Однако для тех заданий, которые стоят в очереди уже давно, степень срочности автоматически повышается.
Если говорить о предварительной оценке времени, необходимого для выполнения задания, то нередко бывает, что программа не укладывается в отведенное для нее время и задание снимается со счета. Обычно предполагаемое для решения время берут с запасом, и если его не хватило, задание все равно снимают по лимиту времени. Бывает, что уже через секунду ясно, что задача не будет решена в отведенное ей время, но, как и в случае останова машины Тьюринга, операционная система данную ситуацию оценить не сможет.
В системе с пакетной обработкой хорошо работать, если задания велики. Тогда коэффициент использования ЭВМ будет высоким. Такой метод практикуется в вычислительных центрах университетов и других высших учебных заведений. Там компьютеры работают круглосуточно, и если в очередях наступает перерыв, в систему вводятся фоновые задания.
Фоновые задания можно всегда прервать, сбросить промежуточные данные на внешний накопитель, a потом в удобное время запустить со средины счета. К категории фоновых заданий относятся программы диагностики работоспособности компьютерной системы или развлекательные программы, например вычисляющие число л с точностью в несколько тысяч десятичных знаков.
Недостаток систем с пакетной обработкой заданий состоит в том, что от момента постановки задания на очередь до получения готовых результатов счета проходит значительное время. Данная ситуация подобна работе почты или почтового ящика. Время, которое проходит от ввода задания в машину до выдачи на руки пользователю готового результата счета, либо время от получения этого результата до постановки на очередь следующего задания на эту же тему называется временем обращения. Для пакетного режима работы ЭВМ время обращения заданий может составлять от нескольких часов до нескольких дней.
Системы пакетной обработки
Использование мультипрограммирования для повышения пропускной способности компьютера главной целью является минимизация простоев всех устройств компьютера, и прежде всего, процессора. Простои могут возникать из-за приостановки задач по внутренним причинам, связанным, например, с ожиданием ввода данных. Данные могут храниться на диске или поступать от пользователя, от измерительной аппаратуры и т. д. При возникновении таких ситуаций самым простым и естественным решением, повышающим эффективность использования процессора, является переключение процессора на выполнение другой задачи, у который есть все данные для обработки. Такая концепция мультипрограммирования лежит в основе пакетных систем.
Системы пакетной обработки предназначались для решения в основном вычислительных задач, не требующих быстрого получения результата. Главным критерием эффективности пакетной системы является пропускная способность – количество решаемых задач в единицу времени.
Для максимизации этого критерия в таких системах используется следующая схема функционирования:
— в начале работы системы формируется пакет заданий,
— каждое задание содержит требование к системным ресурсам,
— из этого пакета задач формируется мультипрограммная смесь, то есть, множество одновременно выполняемых задач.
Для одновременного выполнения выбираются задачи, предъявляемые разные требования к ресурсам, чтобы обеспечивалась сбалансированная загрузка всех устройств компьютера. Например, в мультипрограммной смеси желательно присутствие вычислительных задач и задач с интенсивным вводом и выводом.
Выбор нового задания из пакета зависит от внутренней ситуации в системе, то есть, выбирается выгодное для данной ситуации задание. Из этого следует, что в пакетных вычислительных системах нельзя гарантировать выполнение того или иного задания в течение определенного времени.
Рассмотрим варианты совмещения во времени операций ввода-вывода и вычислений.
Один из вариантов такого совмещения характерен для компьютеров, имеющих специализированный процессор ввода-вывода. В мейнфреймах такие процессоры называют каналами. Обычно канал имеет собственную систему команд, отличающуюся от системы команд центрального процессора. Эти команды предназначены для управления внешними устройствами, и имеют вид:
— проверить состояние устройства,
— установить магнитную головку,
— установить начало листа,
— напечатать строку и т. д.
Канальные программы могут храниться в той же памяти, что и программы центрального процессора. Специальная инструкция центрального процессора передает каналу параметры и указывает, какую программу ввода-вывода он должен выполнить. С этого момента центральный процессор и канал могут работать параллельно (рисунок 7.1).
Другой способ совмещения вычислений с операциями ввода-вывода реализуется в компьютерах, в котором внешние устройства управляются не процессором ввода-вывода, а контроллерами. Обычно каждое внешнее устройство или их группа имеет собственный контроллер, который автономно отрабатывает команды, поступающие от центрального процессора. При этом контроллеры и центральный процессор работают асинхронно.
Рисунок 7.1 – Параллельное выполнение вычислений и операций ввода-вывода в системах с каналом
Рисунок 7.2 – Параллельное выполнение вычислений и операций ввода-вывода в системах с контроллерами
Многие внешние устройства включают в себя движущиеся части, контроллер обычно выполняет свои команды медленнее, чем центральный процессор. Этот факт используется для организации параллельного выполнения вычислений и операций ввода-вывода. Вычисления могут выполняться между выдачей команд контроллерам внешних устройств. Такой механизм показан на рисунке 7.2.
Центральный процессор узнает о том, что контроллер готов принять следующую команду либо по сигналу прерывания, либо периодически опрашивая состояние контроллеров.
Максимальный эффект достигается при наиболее полном перекрытии вычислений и операций ввода-вывода. Если в системе выполняется одна задача, степень ускорения зависит от характера данной задачи и от того, насколько тщательно был учтен возможный параллелизм при программировании. Если в задаче преобладают вычисления или ввод-вывод, ускорение практически отсутствует. Невозможен параллелизм также в тех случаях, когда для продолжения вычислений необходимо полное завершение операций ввода-вывода. В этих случая простои центрального процессора неизбежны.
Если в системе одновременно выполняется несколько задач, появляется возможность совмещения вычислений одной задачи с операциями ввода-вывода другой. Пока одна задача ожидает какого-либо события (разблокирования файла, загрузки страницы или завершения операции ввода-вывода), процессор не простаивает, как при последовательном выполнении программ, а выполняет другую задачу.
Часто общее время выполнения смеси задач оказывается меньше, чем их суммарное время при последовательном выполнении. При этом выполнение отдельной задачи в мультипрограммном режиме может занять больше времени, чем при монопольном выделении процессора этой задаче. При совместном использовании процессора в системе могут возникать ситуации, когда задача готова выполняться, но процессор в это время занят выполнением другой задачи. В этом случае задача, завершившая ввод-вывод, готова выполняться, но вынуждена ждать освобождения процессора, что удлиняет время ее выполнения. Так, на рисунке 7.3 видно, что в однопрограммном режиме задача А выполняется за 6 единиц времени, а в мультипрограммном – 7. Задача В также вместо 5 единиц времени выполняется за 6. Зато суммарное время выполнения обеих задач в мультипрограммном режиме составляет всего 8 единиц, а в однопрограммном – 11.
В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит по инициативе активной задачи – активная задача отказывается от процессора из-за необходимости выполнения операции ввода-вывода.
Рисунок 7.3 – Время выполнения двух задач в однопрограммной системе (О) и в мультипрограммной системе (М)
Этот механизм определяет высокую вероятность того, что одна задача может надолго занять процессор и выполнение других задач прекратится.
Очевидно, что пакетная система повышает эффективность использования аппаратных средств, но делает невозможной работу в интерактивном режиме.
7.2.3 Мультипрограммирование в системах разделения времени —
В системах разделения времени одному или нескольким пользователям предоставляется возможность одновременной интерактивной работы с несколькими приложениями. Для этого каждое приложение периодически должно общаться с пользователем. Очевидно, что системы пакетной обработки не могут предоставить такую возможность.
Для реализации систем разделения времени обычно используется «вытесняющая» многозадачность, при которой операционная система периодически принудительно приостанавливает каждое приложение, не дожидаясь, когда оно добровольно отдаст управление системе. В этом случае каждое приложение периодически получает квант времени для обработки, поэтому каждое из этих приложений может поддерживать диалог с пользователем.
В системах разделения времени, в отличие от систем пакетной обработки, пользователь продолжает общаться со своим приложением на протяжении всего времени его обработки. Это позволяет обнаруживать и исправлять ошибки, вводить данные и получать результаты в реальном времени.
Каждому пользователю в этом случае предоставляется отдельный терминал, а его приложение периодически получает квант времени, в течение которого оно обрабатывается центральным процессором. Так как каждой задаче выделяется только квант процессорного времени, ни одно приложение не может занять процессор надолго, и время реакции системы оказывается приемлемым. Если квант времени достаточно мал, то при достаточной производительности вычислительной системы и соответствующем количестве одновременно работающих пользователей у всех одновременно работающих пользователей создается впечатление монопольного владения вычислительной системой.
Понятно, что системы разделения времени значительно менее эффективны с точки зрения загрузки центрального процессора и устройств системы, чем системы пакетной обработки. Это связано с тем, что в каждый момент времени выполняется не то приложение, которое наиболее эффективно загрузит систему, а приложение, чья очередь подошла на получение очередного кванта времени. Дополнительное снижение производительности происходит из-за необходимости более частого переключения процессора с приложения на приложение – это требует частого переключения контекста процессов, что существенно увеличивает накладные расходы системы.
С другой стороны, использование систем разделения времени повышает эффективность использования вычислительной системы по сравнению с монопольным режимом, так как без заметного ухудшения характеристик обслуживания пользователей система одновременно обслуживает несколько (иногда довольно много) пользователей.
7.2.4 Мультипрограммирование в системах реального времени —
В системах реального времени мультипрограммная смесь представляет собой фиксированный набор заранее разработанных предсказуемых программ. Выбор конкретной программы производится по прерываниям от объекта или в соответствии с планом.
Способность аппаратуры компьютера и операционной системы к гарантированно быстрому ответу зависит от скорости переключения с одной задачи на другую, которая в свою очередь существенно зависит от скорости обработки сигналов прерывания. Если при возникновении прерывания процессор с помощью опроса выясняет, кто именно вызвал прерывание, реакция системы может оказаться чрезмерно медленной.
Для ускорения обработки прерываний используют так называемые векторные прерывания. Они называются векторными потому, что каждому источнику прерывания соответствует свой вектор – адрес, по которому находится процедура обработки именно этого прерывания. Для того, чтобы сопоставить каждому сигналу прерывания его собственную процедуру обработки используются специальные аппаратные устройства, называемые контроллерами прерываний. Помимо уже упомянутого механизма генерации соответствующего вектора прерывания эти контроллеры позволяют использовать различные механизмы управления приоритетами прерываний, а также позволяют маскировать отдельные сигналы прерываний. Создание механизма векторных прерываний позволило существенно ускорить процесс обработки прерываний и улучшить реактивную способность соответствующих операционных систем. В первую очередь системы векторных прерываний были использованы в управляющих вычислительных системах. Затем, по мере удешевления аппаратуры этот механизм стал использоваться повсеместно.
Перед проектировщиками систем реального времени не стоит цель максимально эффективно использовать аппаратные средства. Напротив, при проектировании таких систем процессор обычно выбирается с достаточно большим запасом, чтобы даже при возникновении пиковых нагрузок система справлялась со своими задачами.
Здесь следует отметить, что повсеместно используемый подход к проектированию «обычных» вычислительных систем, основанный на оценке средней нагрузки, средней интенсивности заявок, среднего времени ожидания и т. д. совершенно не подходит к управляющим системам – системам реального времени. Эти системы должны проектироваться из учета возможности возникновения наихудшего сочетания условий при эксплуатации. Это приводит к тому, что управляющая вычислительная система большую часть времени будет бездействовать, а следовательно, средняя загрузка аппаратных средств будет очень малой. Это неизбежная плата за то, что в случае возникновения нештатной (аварийной) ситуации система сработает правильно, и технологический процесс не будет нарушен. Если не придерживаться такого подхода к управляющим системам реального времени, неизбежны новые чернобыли.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Компьютеризированный пакетная обработка представляет собой выполнение «заданий, которые могут выполняться без взаимодействия с конечным пользователем или могут быть запланированы для выполнения, если позволяют ресурсы». [1]
Содержание
История
Термин «пакетная обработка» происходит от традиционной классификации методы производства в качестве работа производство (разовая продукция), серийное производство (производство «партии» нескольких товаров одновременно, по одному этапу за раз), и поточное производство (серийное производство, все этапы сразу).
Ранняя история
Ранние компьютеры могли одновременно запускать только одну программу. Каждый пользователь имел единоличное управление машиной в течение определенного периода времени. Они приходили к компьютеру с программой и данными, часто на перфокартах и магнитной или бумажной ленте, и загружали свою программу, запускали и отлаживали ее, а по завершении уносили свой вывод.
По мере того, как компьютеры становились все быстрее, время настройки и демонтажа становилось все больше и больше доступного компьютерного времени. Программы называются мониторы, предшественники операционные системы, были разработаны, которые могли обрабатывать серию или «пакет» программ, часто из магнитная лента подготовлен офлайн. Монитор загружается в компьютер и запускает первое задание пакета. В конце задания он восстанавливает контроль, загружается и запускается следующим, пока пакет не будет завершен. Часто выходные данные партии записывались на магнитную ленту и распечатывались или перфорировались в автономном режиме. Примеры мониторов были IBM Система мониторинга Fortran, SOS (Совместная операционная система) и, наконец, IBSYS для IBM 709x систем в 1960 году. [2] [3]
Системы третьего поколения
Более поздняя история
С конца 1960-х гг. интерактивные вычисления например, через текстовый компьютерный терминал интерфейсы (как в Оболочки Unix или же циклы чтения-оценки-печати), и позже графический пользовательский интерфейс стало обычным явлением. Неинтерактивные вычисления, как разовые задания, такие как компиляция, так и обработка нескольких элементов в пакетах, ретроспективно стали называть пакетная обработка, а срок пакетная работа (в начале использования часто «партиями» из рабочих мест «). Раннее использование особенно часто встречается в университет Мичигана, вокруг Терминальная система Мичигана (МТС). [6]
Хотя разделение времени существовало, его использование было недостаточно надежным для обработки корпоративных данных; ничего из этого не было связано с более ранними единичное записывающее оборудование, который управлялся человеком.
Непрерывный
Неинтерактивные вычисления по-прежнему широко используются в вычислительной технике, как для общей обработки данных, так и для «служебных» задач системы (с использованием программное обеспечение). Программу высокого уровня (выполнение нескольких программ с некоторой дополнительной «связующей» логикой) сегодня чаще всего называют сценарийи написано на языки сценариев, особенно сценарии оболочки для системных задач; в IBM PC DOS и MS-DOS это вместо этого известно как командный файл. Это включает UNIX-на базе компьютеров, Майкрософт Виндоус, macOS (чьей основой является BSD Ядро Unix) и даже смартфоны. Запущенный скрипт, особенно тот, который выполняется из интерактивного сеанс входа в систему, часто называют работа, но этот термин используется очень неоднозначно.
«Нет прямого аналога пакетной обработки z / OS в системах ПК или UNIX. Пакетные задания обычно выполняются в запланированное время или по мере необходимости. UNIX, хотя различия значительны ». [1]
Современные системы
Пакетные приложения по-прежнему важны для большинства организаций в значительной степени потому, что многие обычные бизнес-процессы поддаются пакетной обработке. Хотя онлайн-системы также могут работать, когда ручное вмешательство нежелательно, они обычно не оптимизированы для выполнения повторяющихся задач большого объема. Поэтому даже новые системы обычно содержат одно или несколько пакетных приложений для обновления информации в конце дня, создания отчетов, печати документов и других неинтерактивных задач, которые должны надежно выполняться в определенные бизнес-сроки.
Некоторые приложения подходят для потоковой обработки, а именно те, которым требуются данные только от одного входа сразу (например, не итоги): начинайте следующий шаг для каждого входа, когда он завершает предыдущий шаг. В этом случае обработка потока снижает задержка для отдельных входов, что позволяет завершить их, не дожидаясь завершения всей партии. Однако многим приложениям требуются данные из всех записей, особенно такие вычисления, как итоги. В этом случае весь пакет должен быть завершен, прежде чем будет получен пригодный для использования результат: частичные результаты не могут использоваться.
Современные пакетные приложения используют современные пакетные фреймворки, такие как Джем пчела, Весенняя партия или реализации JSR 352 [7] написано для Ява, и другие платформы для других языков программирования, чтобы обеспечить Отказоустойчивость и масштабируемость требуется для обработки больших объемов. Для обеспечения высокой скорости обработки пакетные приложения часто интегрируются с сеточные вычисления решения для раздел пакетное задание на большом количестве процессоров, хотя при этом возникают серьезные проблемы программирования. Пакетная обработка больших объемов данных предъявляет особенно высокие требования к архитектуре системы и приложений. Архитектуры с сильными ввод, вывод производительность и вертикаль масштабируемость, в том числе современные мэйнфреймы, как правило, обеспечивают лучшую производительность партии, чем альтернативы.
Языки сценариев стали популярными по мере их развития вместе с пакетной обработкой. [8]
Пакетное окно
А пакетное окно «период менее интенсивной онлайн-активности», [9] когда компьютерная система может выполнять пакетные задания без вмешательства в интерактивные онлайн-системы или с ними.
Банка конец дня (EOD) рабочие места требуют концепции переключение, где транзакция и данные отключаются для пакетной активности определенного дня («депозиты после 15:00 будут обработаны на следующий день»).
Поскольку требования к времени безотказной работы онлайн-систем расширены до поддержки глобализация, то Интернет, и другие бизнес-потребности, окно партии уменьшилось [10] [11] и все больший упор делался на методы, которые потребовали бы, чтобы онлайн-данные были доступны в течение максимального периода времени.
Размер партии
В размер партии относится к количеству единиц работы, которые должны быть обработаны в рамках одной пакетной операции. Вот несколько примеров:
Обычное использование пакетной обработки
Известные среды пакетного планирования и выполнения
В Мэйнфрейм IBM z / OS Операционная система или платформа, возможно, имеет наиболее усовершенствованный и развитый набор средств пакетной обработки благодаря своему происхождению, долгой истории и продолжающейся эволюции. Сегодня такие системы обычно поддерживают сотни или даже тысячи одновременных интерактивных и пакетных задач в рамках одного Операционная система изображение. Технологии, которые помогают одновременной пакетной и онлайн-обработке, включают: Язык управления заданиями (JCL), языки сценариев, такие как REXX, Подсистема ввода вакансий (JES2 и JES3), Диспетчер рабочей нагрузки (WLM), диспетчер автоматического перезапуска (ARM), службы восстановления ресурсов (RRS), DB2 обмен данными, Параллельный сисплекс, уникальные оптимизации производительности, такие как HiperDispatch, Архитектура канала ввода / вывода, и несколько других.