BatchPipes

BatchPipes

In IBM mainframes, BatchPipes is a batch job processing utility designed for the MVS/ESA operating system, and all later incarnations—OS/390 and z/OS.

Core function

In traditional processing, if data records are written out to sequential (QSAM and BSAM) data set on disk or tape, they cannot be at the same time read back in by another job. Hence, these two jobs—"writer" and "reader"—cannot run at the same time. This is termed "file-level interlock" or "data-set-level interlock".

With BatchPipes an installation can arrange for the data to be "piped" between the two jobs. The advantage is that the jobs can run concurrently and it is possible, and very usual, to avoid the time to write the data to secondary storage and to read it back. The combination of these two characteristics, if used judiciously, leads to a reduction in the combined elapsed time of the two jobs, as measured from the start of the writer job to the end of the reader job.

BatchPipes maintains a "short" queue of records being passed between the writer and the reader. The writer adds records to the back of the queue and the reader takes them from the front. This is deemed "record-level interlock" and allows the reader and the writer to run concurrently.

A sort is a special case: "all" the input records must be read before the first output record can be written. Hence there can be no overlap between the input and output phases of a sort. But the input phase "can" be overlapped with the previous job's output phase. Similarly, the output phase of sort can be overlapped with a downstream job that reads the sorted data.

Advanced pipe topologies

More complex topologies than "one reader one writer" are possible.

* "Two readers one writer" is a good example of an attempt to balance reader's speed against a writer's speed. Because the queue is short a faster writer will often be forced to wait for a slower reader to take records off the queue before the writer can continue processing. Using two readers helps to utilize writers capabilities.

* "One job as a reader from one pipe and a writer to another" is often seen where this job edits the records. While traditional batch streams often contain such jobs, this kind of processing can be introduced using, for example IBM's DFSORT product or BatchPipeWorks (part of BatchPipes).

Criticism

One of the key implementation considerations is scheduling the reader and writer jobs to run together. In practical batch schedules this might not be feasible. Furthermore if "any" job in the pipeline fails, recovery actions will be wider than just recovering this single job. For these reasons some installations have found it difficult to implement BatchPipes.

BatchPipePlex

BatchPipes can use the IBM mainframe Coupling Facility to pipe data between different members of a Parallel Sysplex, using the BatchPipePlex facility.

BatchPipeWorks

BatchPipes includes a set of pipeline stages based on IBM's CMS Pipelines product developed for another operating system, VM/ESA. These stages provide additional processing, without the need for additional batch jobs in the pipeline.

History

BatchPipes Version 1 was developed in the late 1980s and early 1990s simply as a technique to speed up MVS/ESA batch processing. In 1997 the functionality of BatchPipes was integrated into a larger IBM product - SmartBatch. However, product was discontinued in April 2000.

Then, BatchPipes Version 2 was released, bringing to the market some new features of SmartBatch - BatchPipes, BatchPipePlex and BatchPipeWorks. Today, BatchPipes remains a marketed IBM product.

See also

* Pipeline (Unix), an original concept
* CMS Pipelines
* ESA/390, a mainframe architecture


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • MVS — For other uses, see MVS (disambiguation). History of IBM mainframe operating systems On early mainframe computers: GM OS GM NAA I/O 1955 BESYS 1957 UMES 1958 SOS 1959 IBSYS 1960 CTSS 1961 On S/360 and successors: BOS/360 1965 TOS/360 1965 …   Wikipedia

  • Batch processing — is execution of a series of programs ( jobs ) on a computer without human interaction.Batch jobs are set up so they can be run to completion without human interaction, so all input data is preselected through scripts or command line parameters.… …   Wikipedia

  • MVS/ESA — MVS/ESA: MVS Enterprise System Architecture. Version of MVS, first introduced as MVS/SP Version 3 in February 1988. Replaced by/renamed as OS/390 late 1995.MVS/ESA OpenEdition: Version of MVS/ESA announced February 1993 with support for POSIX… …   Wikipedia

  • Hartmann pipeline — Pipelines Paradigm(s) Dataflow programming Appeared in 1986 Designed by John P. Hartmann Developer IBM …   Wikipedia

  • Pipeline (computing) — In computing, a pipeline is a set of data processing elements connected in series, so that the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time sliced fashion; in that case,… …   Wikipedia

  • Mainframe sort merge — The Sort/Merge utility is a mainframe program to sort records in a file into a specified order, merge pre sorted files into a sorted file, or copy selected records. Internally, these utilities use one or more of the standard sorting algorithms,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”