请输入您要查询的百科知识:

 

词条 Batch processing
释义

  1. History

     Early history  Later history  Ongoing 

  2. Modern systems

  3. Batch window

  4. Common batch processing usage

  5. Notable batch scheduling and execution environments

  6. See also

  7. References

Computerized batch processing, since the 1964 introduction of the IBM System/360, has primarily referred to the scripted running of one or more programs, as directed by Job Control Language, with no human interaction other than, if JCL-requested, the mounting of one or more pre-determined input and/or output computer tapes.

The computer's operating system, which pre-scans and deciphers the JCL,[1][2] optimizes the sequencing of this and other jobs

to best make use of the system.

Much of this is done overnight, in the hours called the "Batch Window."[3][4]

History

The term "batch processing" originates in the traditional classification of methods of production as job production (one-off production), batch production (production of a "batch" of multiple items at once, one stage at a time), and flow production (mass production, all stages in process at once).

Early history

Prior to 1964,[5][6] "operating systems" were often called MONITORS,[7] and typically could not run more than one program at a time.

A series of programs, including Fortran Monitor System, SOS (Share Operating System)

and finally IBSYS were the state of the art for IBM's 7090/709/47040/7044

systems;[8] The first 7090s were delivered Nov. 1959.[9]

Later history

From the late 1960s onwards, interactive computing such as via text-based computer terminal interfaces (as in Unix shells or read-eval-print loops), and later graphical user interfaces became common. Non-interactive computation, both one-off jobs such as compilation, and processing of multiple items in batches, became retrospectively referred to as batch processing, and the oxymoronic term batch job (in early use often "batch of jobs") became common. Early use is

particularly found at the University of Michigan, around the Michigan Terminal System (MTS).

[10]

Although timesharing did exist, its use was not robust enough for corporate data processing; none of this was related to the earlier unit record equipment, which was human-operated.

Ongoing

Non-interactive computation remains pervasive in computing, both for general data processing and for system "housekeeping" tasks (using system software). A high-level program (executing multiple programs, with some additional "glue" logic) is today most often called a script, and written in scripting languages, particularly shell scripts for system tasks; however, in DOS this is instead known as a batch file. That includes UNIX-based computers, Microsoft Windows, macOS (whose foundation is the BSD Unix kernel), and even smartphones. A running script, particularly one executed from an interactive login session, is often known as a job, but that term is used very ambiguously.

Modern systems

Batch applications are still critical in most organizations in large part because many common business processes are amenable to batch processing. While online systems can also function when manual intervention is not desired, they are not typically optimized to perform high-volume, repetitive tasks. Therefore, even new systems usually contain one or more batch applications for updating information at the end of the day, generating reports, printing documents, and other non-interactive tasks that must complete reliably within certain business deadlines.

Some applications are amenable to flow processing, namely those that only need data from a single input at once (not totals, for instance): start the next step for each input as it completes the previous step. In this case flow processing lowers latency for individual inputs, allowing them to be completed without waiting for the entire batch to finish. However, many applications require data from all records, notably computations such as totals. In this case the entire batch must be completed before one has a usable result: partial results are not usable.

Modern batch applications make use of modern batch frameworks such as Jem The Bee, Spring Batch or implementations of JSR 352[11] written for Java, and other frameworks for other programming languages, to provide the fault tolerance and scalability required for high-volume processing. In order to ensure high-speed processing, batch applications are often integrated with grid computing solutions to partition a batch job over a large number of processors, although there are significant programming challenges in doing so. High volume batch processing places particularly heavy demands on system and application architectures as well. Architectures that feature strong input/output performance and vertical scalability, including modern mainframe computers, tend to provide better batch performance than alternatives.

Scripting languages became popular as they evolved along with batch processing.[12]

Batch window

A batch window is "a period of less-intensive online activity",[13] when the computer system is able to run batch jobs without interference from, or with, interactive online systems.

A bank's end-of-day (EOD) jobs require the concept of Cutover, where transaction and data are cut off for a particular day's batch activity ("deposits after 3 PM will be processed the next day").

As requirements for online systems uptime expanded to support globalization, the Internet, and other business needs, the batch window shrank[4][14] and increasing emphasis was placed on techniques that would require online data to be available for a maximum amount of time.

Common batch processing usage

  • efficient bulk database updates and automated transaction processing, as contrasted to interactive online transaction processing (OLTP) applications. The extract, transform, load (ETL) step in populating data warehouses is inherently a batch process in most implementations.
  • to perform various operations with digital images such as resize, convert, watermark, or otherwise edit image files.
  • converting computer files from one format to another. For example, a batch job may convert proprietary and legacy files to common standard formats for end-user queries and display.

Notable batch scheduling and execution environments

The Unix programs cron, at, and batch (today batch is a variant of at) allow for complex scheduling of jobs. Windows has a job scheduler. Most high-performance computing clusters use batch processing to maximize cluster usage.[15]

The IBM mainframe z/OS operating system or platform has arguably the most highly refined and evolved set of batch processing facilities owing to its origins, long history, and continuing evolution. Today such systems commonly support hundreds or even thousands of concurrent online and batch tasks within a single operating system image. Technologies that aid concurrent batch and online processing include Job Control Language (JCL), scripting languages such as REXX, Job Entry Subsystem (JES2 and JES3), Workload Manager (WLM), Automatic Restart Manager (ARM), Resource Recovery Services (RRS), DB2 data sharing, Parallel Sysplex, unique performance optimizations such as HiperDispatch, I/O channel architecture, and several others.

See also

  • Background process
  • Batch file
  • Batch queue - for schedulers that plan the execution of batch jobs
  • Batch renaming - to rename lots of files automatically without human intervention, in order to save time and effort
  • Batch scheduler
  • BatchPipes - for utility that increases batch performance
  • Jem The Bee - Job Entry Manager the Batch Execution Environment
  • Job Processing Cycle - for detailed description of batch processing in the mainframe field
  • Processing modes
  • Production support - for batch job/schedule/stream support

References

1. ^{{cite web|quote=scan a job's JCL for syntax errors|url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieab600/xjbtypr.htm|title=TYPRUN parameter}}
2. ^{{cite web|url=https://support.cmfirstgroup.com/en-us/articles//203864180-Source-Scanner-for-IBMJCL|title=Source Scanner for IBM JCL}}
3. ^{{cite web|url=https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/rzahx/zahxwebnavbatchmodel.htm|title=Batch Model |website=IBM.com}}
4. ^{{cite book |title=Batch Processing: Design – Build – Run: Applied Practices and Principles|url=https://www.oreilly.com/library/view/design-build/9780470257630/9780470257630_batch.html|isbn=9780470257630 |publisher=Oreilly}}
5. ^{{cite web |title=What is an Operating System? A historical investigation (1954–1964)|url=https://halshs.archives-ouvertes.fr/halshs-01541602/document|author=M Bullynck |date=2017}}
6. ^{{cite web|title=z/OS Basic Skills Information Center: Mainframe concepts|url=https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zmainframe_book.pdf|quote=... workloads are commonly associated with the mainframe; ... marvel at the ... of the IBM® System/360 in 1964}}
7. ^{{cite web|url=https://superuser.com/questions/809750/before-operating-systems-what-concept-was-used-to-make-them-work|title=Before operating systems, what concept was used to make them work|quote= The earliest electronic digital computers had no operating systems. Machines of the time were so primitive that ... had so called "Monitor" ...}}
8. ^{{cite web |title=The Direct Couple for the IBM 7090|website=SoftwarePreservationGroup.org |url=http://www.softwarepreservation.org/projects/os/dc.html|quote=IBSYS was an operating system for the 7090 that evolved from SOS (SHARE Operating System)}}
9. ^{{cite web|title=IBM delivers 7090 mainframe computers, November 30, 1959|url=https://www.edn.com/electronics-blogs/edn-moments/4443083/IBM-delivers-7090-mainframe-computers--November-30--1959 |date=November 30, 2017|quote=Today in 1959, IBM delivered the first two 7090 mainframe computers}}
10. ^{{cite journal|journal=Research News|publisher=University of Michigan|title=The Computing Center: Coming to Terms with the IBM System/360 Model 67|volume=20|year=1969|issue=Nov/Dec|page=[https://books.google.com/books?id=Qs9VAAAAMAAJ&pg=RA1-PA122&dq=%22batch+job%22 10]}}
11. ^{{cite web|url=https://www.jcp.org/en/jsr/detail?id=352|title=Batch Applications for the Java Platform|publisher=Java Community Process|accessdate=2015-08-03}}
12. ^{{cite web |publisher=IBM.com |title=JSR352 null|url=https://www-01.ibm.com/support/docview.wss?uid=tss1wp102544&aid=5|quote=JSR 352, the open standard specification for Java batch processing. ... The programming languages used evolved over time based on what was available}}
13. ^{{cite web|publisher=IBM Corporation |title=Mainframes working after hours: Batch processing|url=http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp?topic=/com.ibm.zos.zmainframe/zconc_batchproc.htm|work=Mainframe concepts|accessdate=June 20, 2013}}
14. ^"Traditionally batch was an overnight activity, with jobs processing millions of ... Today the batch window is ever decreasing with 24/7 availability requirements."
15. ^{{cite web |date=January 25, 2018|url=https://www.slideshare.net/raamana/high-performance-computing-with-checklist-and-tips-optimal-cluster-usage|title=High performance computing tutorial, with checklist and tips to optimize|quote=a multi-user, shared and smart batch processing system improves the scale ..... Most HPC clusters are in Linux}}

1 : Job scheduling

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/23 4:25:45