На мэйнфреймах IBM, BatchPipes - это утилита пакетной обработки заданий, которая работает в операционной системе MVS / ESA и более поздних версиях - OS / 390 и z / OS.
При традиционной обработке, если записи данных записываются в последовательный (QSAM и BSAM ) набор данных на диске или ленте, они не могут быть прочитаны одновременно другим заданием. «Писатель» и «читатель» не могут работать одновременно. Это называется блокировкой на уровне файла или блокировкой на уровне набора данных.
С помощью BatchPipes установка может организовать передачу данных между двумя заданиями. Преимущество состоит в том, что задания могут выполняться одновременно, и можно, что очень часто, избежать записи данных в вторичное хранилище и их считывания обратно. Комбинация этих двух характеристик, при разумном использовании, приводит к сокращению совокупного истекшего времени двух заданий, измеряемого от начала задания записи до конца задания чтения.
BatchPipes поддерживает короткую очередь записей, передаваемых между писателем и читателем. Писатель добавляет записи в конец очереди, а читатель берет их спереди. Это считается блокировкой на уровне записи и позволяет считывающему устройству и устройству записи работать одновременно.
A sort - особый случай: все входные записи должны быть прочитаны до того, как будет записана первая выходная запись. Следовательно, не может быть перекрытия между входной и выходной фазами сортировки. Но фаза ввода может перекрываться с фазой вывода предыдущего задания. Точно так же фаза вывода сортировки может перекрываться нижележащим заданием, которое считывает отсортированные данные.
Возможны более сложные топологии, чем «один читатель - один писатель».
Одним из ключевых аспектов реализации является планирование совместного выполнения заданий чтения и записи. В практических графиках партий это может оказаться невозможным. Более того, в случае сбоя любого задания в конвейере действия по восстановлению будут шире, чем просто восстановление этого отдельного задания. По этим причинам в некоторых установках было сложно реализовать BatchPipes.
BatchPipe может использовать мэйнфрейм IBM Coupling Facility для передачи данных между различными элементами Parallel Sysplex с помощью функции BatchPipePlex.
BatchPipes включает набор этапов конвейера, основанный на продукте CMS Pipelines от IBM, разработанном для VM / ESA операционная система. Эти этапы обеспечивают дополнительную обработку без необходимости в дополнительных пакетных заданиях в конвейере.
BatchPipes Версия 1 была разработана в конце 1980-х - начале 1990-х годов просто как метод ускорения пакетной обработки MVS / ESA. В 1997 г. функциональные возможности BatchPipes были интегрированы в более крупный продукт IBM (который включал в себя две функции продукта BMC Corporation: DataAccelerator и BatchAccelerator). Однако производство SmartBatch было прекращено в апреле 2000 года.
APT International, базирующаяся в Монако, произвела конкурентоспособный продукт под торговой маркой. Через несколько месяцев после запуска этого продукта IBM переименовала свой продукт OS / 2 в OS / 2 Warp 4, что противоречит маркетингу продукта с высокими характеристиками, который был единственным конкурентом BatchPipes.. Это привело к 7-летнему судебному разбирательству в Tribunal de grande instance de Paris
. Впоследствии была выпущена версия 2 BatchPipes, включающая BatchPipes версии 1 и некоторые дополнительные функции SmartBatch: BatchPipePlex и BatchPipeWorks. BatchPipes Version 2 по-прежнему продается на рынке IBM.