배치 처리

Batch processing

컴퓨터 배치 처리는 작업이라는 소프트웨어 프로그램을 자동으로 일괄 실행하는 방법입니다.사용자는 작업을 제출해야 하지만 배치를 처리하기 위해 사용자의 다른 작업이 필요하지 않습니다.배치는 예약된 시간에 자동으로 실행될 수 있으며 컴퓨터 리소스의 가용성에 따라 실행될 수도 있습니다.

역사

일괄 가공이란, 종래의 생산 방법분류로부터, 「일회 생산」, 「일회 생산」, 「일회 생산」, 「일회 생산」, 「일회 생산」, 「일회 생산」의 「일회 생산」, 「일회 생산」, 「일회 공정」의 각 단계를 말한다.

초기 역사

초기 컴퓨터는 한번에 하나의 프로그램만 실행할 수 있었다.각 사용자는 정해진 기간 동안 기계를 독점적으로 제어할 수 있었습니다.프로그램 및 데이터를 가지고 컴퓨터에 도착하여(대부분 펀치된 종이 카드, 마그네틱 테이프 또는 종이 테이프), 프로그램을 로드하고 실행 및 디버깅하여 실행한 후 출력을 수행합니다.

컴퓨터의 속도가 빨라짐에 따라 셋업과 테이크다운 시간이 컴퓨터 사용 가능 시간의 큰 비율이 되었습니다.운영 체제의 선구자인 모니터라고 불리는 프로그램이 개발되어 오프라인에서 준비된 자기 테이프에서 일련의 프로그램 또는 "배치"를 처리할 수 있게 되었습니다.모니터가 컴퓨터에 로드되어 배치의 첫 번째 작업이 실행됩니다.작업이 끝나면 제어 및 로드를 다시 시작하고 배치가 완료될 때까지 다음 번에 실행됩니다.대부분의 경우 배지의 출력은 자기 테이프에 쓰여져 인쇄되거나 오프라인으로 출력됩니다.모니터의 예로는 IBM의 Fortran Monitor System, SOS(Share Operating System), 마지막으로 1960년 [1][2]IBM의 709x 시스템용 IBSYS가 있습니다.

제3세대 시스템

멀티프로그래밍이 가능한 3세대[clarification needed][3] 컴퓨터는 1960년대에 등장하기 시작했다.이러한 시스템은 한 번에 1개의 배치 작업을 실행하는 것이 아니라 시스템을 최대한 비지 상태로 유지하기 위해 여러 배치 프로그램을 동시에 실행할 수 있습니다.하나 이상의 프로그램이 입력을 기다리고 있고, 다른 프로그램이 CPU에서 실행 중이며, 다른 프로그램이 출력을 생성하고 있을 수 있습니다.오프라인 입출력 대신 스풀러라고 하는 프로그램은 카드, 디스크 또는 원격 터미널에서 작업을 읽고 실행할 작업 대기열에 배치합니다.교착 상태를 방지하기 위해 작업 스케줄러는 메모리, 자기 테이프, 마운트 가능한 디스크 등 각 작업의 리소스 요구 사항을 알아야 합니다.따라서 이러한 정보를 구조적으로 제공하기 위해 다양한 스크립트 언어가 개발되었습니다.가장 잘 알려진 것은 IBM의 JCL(Job Control Language)입니다.작업 스케줄러는 우선순위, 메모리 크기 등 다양한 기준에 따라 실행할 작업을 선택합니다.리모트 배치란, 리모트 단말로부터 배치 작업을 송신하는 순서입니다.대부분 펀치카드 리더와 라인 [4]프린터가 장착되어 있습니다.IBM System/360 Attached Support [a]Processor와 같이 연결된 더 작고 저렴한 시스템을 사용하여 하나 이상의 대형 컴퓨터에 대한 배치 입출력을 스풀링하는 데 비대칭 다중 처리가 사용되는 경우가 있습니다.

후대의 역사

STARTRK 파일을 가져와 카드 펀치에 출력하기 위한 CDCNOS 배치 파일

최초의 범용 타임 셰어링 시스템인CTSS는 배치 처리와 호환성이 있었습니다.이것에 의해, 배치 처리로부터 인터랙티브 [5]컴퓨팅으로의 이행이 용이하게 되었습니다.

1960년대 후반부터 텍스트 기반 컴퓨터 터미널 인터페이스(유닉스또는 읽기 평가 인쇄 루프)를 통한 인터랙티브 컴퓨팅과 이후 그래픽 사용자 인터페이스가 보편화되었습니다.비인터랙티브 컴퓨팅은 컴파일 및 여러 항목의 일괄 처리와 같은 일회성 작업을 모두 일괄 처리라고 소급하여 불렀고 배치 작업(조기 사용에서는 "작업 일괄 처리"라는 용어)이 보편화되었습니다.초기 사용은 특히 미시건 대학의 미시간 터미널 시스템(MTS) 주변에서 볼 수 있습니다.[6]

타임셰어링은 존재했지만 기업 데이터 처리에 충분히 활용되지 않았습니다.이들 중 어느 것도 인간이 조작한 초기 유닛 기록 장비와 관련이 없었습니다.

진행중

비인터랙티브 컴퓨팅은 일반적인 데이터 처리 및 시스템 "하우스키핑" 작업(시스템 소프트웨어 사용) 모두에서 여전히 널리 사용되고 있습니다.고급 프로그램(여러 프로그램 실행 및 일부 추가 "glue" 로직)은 오늘날 스크립트라고 불리며 스크립트 언어, 특히 시스템 작업을 위한 셸 스크립트로 작성됩니다. IBM PC DOS 및 MS-DOS에서는 배치 파일이라고 합니다.여기에는 UNIX 기반 컴퓨터, Microsoft Windows, macOS(BSD Unix 커널 기반) 및 스마트폰도 포함됩니다.실행 중인 스크립트(특히 인터랙티브로그인 세션에서 실행되는 스크립트)는 작업이라고 불리는 경우가 많지만 이 용어는 매우 모호하게 사용됩니다.

"PC나 UNIX 시스템에서는 z/OS 배치 처리와 직접적인 대응책은 없습니다.배치 작업은 일반적으로 예약된 시간 또는 필요에 따라 실행됩니다.UNIX의 AT 또는 CRON 명령에 의해 실행되는 프로세스와 가장 가까운 비교가 될 수 있습니다.다만, 그 차이는 [7]매우 큽니다」

최신 시스템

많은 일반적인 비즈니스 프로세스가 배치 처리에 적합하기 때문에 대부분의 조직에서는 배치 애플리케이션이 여전히 중요합니다.온라인 시스템은 수동 조작이 필요 없는 경우에도 기능하지만 일반적으로 대량의 반복 작업을 수행하도록 최적화되어 있지 않습니다.따라서 새로운 시스템이라도 일반적으로 업무 마감일 내에 확실하게 완료해야 하는 보고서 생성, 문서 인쇄 및 기타 비대화형 작업을 위해 1개 이상의 배치 애플리케이션을 포함하고 있습니다.

일부 애플리케이션에서는 흐름 처리가 가능합니다.즉, 한 번에 1개의 입력(합계가 아닌 데이터 등)만 필요한 애플리케이션입니다.앞의 스텝이 완료되는 대로, 각 입력에 대해서 다음의 스텝을 개시합니다.이 경우 흐름 처리는 개별 입력의 지연 시간을 줄여 전체 배치가 완료될 때까지 기다리지 않고 입력을 완료할 수 있습니다.그러나 많은 응용 프로그램에서는 모든 기록, 특히 총계 등의 계산이 필요합니다.이 경우 사용 가능한 결과를 얻기 전에 전체 배치를 완료해야 합니다. 부분 결과는 사용할 수 없습니다.

최신 배치 애플리케이션은 Jem The Bee, Spring Batch 또는 Java용으로 작성된 JSR 352[8] 구현과 같은 최신 배치 프레임워크를 사용하여 대량 처리에 필요한 내결함성확장성을 제공합니다.고속 처리를 보증하기 위해 배치 어플리케이션은 많은 경우 그리드 컴퓨팅 솔루션과 통합되어 많은 수의 프로세서에 배치 작업을 분할합니다.단, 이를 위해서는 프로그래밍의 큰 과제가 있습니다.대량 배치 처리로 인해 시스템 및 애플리케이션 아키텍처에 대한 요구가 특히 높아집니다.현대의 메인프레임 컴퓨터를 포함한 강력한 입출력 성능과 수직 확장성을 특징으로 하는 아키텍처는 다른 아키텍처보다 더 나은 배치 성능을 제공하는 경향이 있습니다.

스크립트 언어는 배치 [9]처리와 함께 발전하면서 널리 보급되었습니다.

배치 창

배치 창은 컴퓨터 시스템이 인터랙티브한 온라인 시스템의 간섭이나 간섭 없이 배치 작업을 실행할 수 있는 "집약도가 낮은 온라인 [10]활동 기간"입니다.

은행의 EOD(종료일) 작업에는 컷오버(cutover) 개념이 필요합니다.컷오버에서는 특정 날짜의 배치 작업에 대해 트랜잭션과 데이터가 차단됩니다(다음 날 오후 3시 이후의 입금은 처리됩니다).

글로벌화, 인터넷 및 기타 비즈니스 요구를 지원하기 위해 온라인 시스템 가동 시간의 요건이 확대됨에 따라 배치 윈도우가[11][12] 축소되고 온라인 데이터를 최대한 오래 사용할 수 있어야 하는 기술에 대한 중요성이 높아졌습니다.

배치 크기

배치 사이즈는 1개의 배치 조작 내에서 처리되는 작업 유닛의 수를 나타냅니다.예를 들어 다음과 같습니다.

  • 트랜잭션을 커밋하기 전에 데이터베이스에 로드할 파일에서 줄 수.
  • 큐에서 큐를 해제할 메시지의 수.
  • 1개의 페이로드 내에서 송신하는 요구의 수.

일반적인 배치 처리 사용법

  • 인터랙티브한 온라인 트랜잭션 처리(OLTP) 애플리케이션과 달리 효율적인 대량 데이터베이스 업데이트 및 자동 트랜잭션 처리.데이터 웨어하우스를 채우는 ETL(Extract, Transform, Load) 단계는 대부분의 구현에서 본질적으로 배치 프로세스입니다.
  • 크기 조정, 변환, 워터마크 또는 이미지 파일 그룹 편집과 같은 디지털 이미지에 대한 벌크 작업 수행.
  • 컴퓨터 파일을 한 형식에서 다른 형식으로 변환합니다.예를 들어, 배치 작업은 독점 파일과 레거시 파일을 최종 사용자의 쿼리 및 표시를 위해 공통 표준 형식으로 변환할 수 있습니다.

주목할 만한 배치 스케줄링 및 실행 환경

IBM 메인프레임 z/OS 운영 체제 또는 플랫폼은 그 기원, 오랜 역사 및 지속적인 진화 덕분에 가장 정교하고 진화된 배치 처리 설비를 보유하고 있습니다.오늘날 이러한 시스템은 일반적으로 단일 운영 체제 이미지 내에서 수백 또는 수천 개의 온라인 및 배치 작업을 동시에 지원합니다.동시 배치 및 온라인 처리를 지원하는 기술로는 JCL(Job Control Language), REXX, Job Entry Subsystem(JES2 JES3), Workload Manager(WLM), Automatic Restart Manager(ARM), Resource Recovery Services(RRS), IBM DB2 Data Sharing, Paralleallelizationsysplex Unique Performance 등이 있습니다.atch, I/O 채널 아키텍처 및 기타 여러 가지 기능을 제공합니다.

Unix 프로그램cron,at,그리고.batch(오늘은batch의 변형입니다.at )를 사용하면 복잡한 작업 스케줄링이 가능합니다.Windows 에는 작업 스케줄러가 있습니다.대부분의 고성능 컴퓨팅 클러스터는 배치 처리를 사용하여 클러스터 [13]사용률을 극대화합니다.

「 」를 참조해 주세요.

메모들

  1. ^ 이러한 목적을 위한 위성 컴퓨터의 사용은 IBM 7094/7044 Direct Coupled System과 같이 일찍 시작되었습니다.

레퍼런스

  1. ^ "The Direct Couple for the IBM 7090". SoftwarePreservationGroup.org. IBSYS was an operating system for the 7090 that evolved from SOS (SHARE Operating System)
  2. ^ "History of Operating Systems" (PDF). University of Washington. Retrieved Oct 10, 2019.
  3. ^ "Why won't you DIE? IBM's S/360 and its legacy at 50". The Register. April 7, 2014.
  4. ^ "CDC User Terminal Hardware Reference manual" (PDF). BitSavers.
  5. ^ Walden, David; Van Vleck, Tom, eds. (2011). "Compatible Time-Sharing System (1961-1973): Fiftieth Anniversary Commemorative Overview" (PDF). IEEE Computer Society. Retrieved February 20, 2022. CTSS was called “compatible” in the sense that FMS could be run in B-core as a “back-ground” user, nearly as efficiently as on a bare machine, and also because programs compiled for FMS batch could be loaded and executed in the “foreground” time-sharing environment (with some limitations). ... This feature allowed the Computation Center to make the transition from batch to timesharing gradually
  6. ^ "The Computing Center: Coming to Terms with the IBM System/360 Model 67". Research News. University of Michigan. 20 (Nov/Dec): 10. 1969.
  7. ^ IBM Corporation. "What is batch processing?". zOS Concepts. Retrieved Oct 10, 2019.
  8. ^ "Batch Applications for the Java Platform". Java Community Process. Retrieved 2015-08-03.
  9. ^ "JSR352 null". IBM.com. Archived from the original on 2018-10-20. Retrieved 2018-10-19. JSR 352, the open standard specification for Java batch processing. ... The programming languages used evolved over time based on what was available
  10. ^ "Mainframes working after hours: Batch processing". Mainframe concepts. IBM Corporation. Retrieved June 20, 2013.
  11. ^ Batch Processing: Design – Build – Run: Applied Practices and Principles. Oreilly. 2009-02-24. ISBN 9780470257630.
  12. ^ 「종래의 일괄 처리는 하룻밤에 행해지는 작업이었습니다.작업은 수백만 건을 처리하고 있었습니다.현재는 24시간 365일 가용성이 요구됨에 따라 배치 윈도우가 계속 줄어들고 있습니다."
  13. ^ "High performance computing tutorial, with checklist and tips to optimize". January 25, 2018. a multi-user, shared and smart batch processing system improves the scale ..... Most HPC clusters are in Linux