KR20230167893A - 대규모 스트리밍 데이터를 분산 처리하기 위한 시스템 및 방법 - Google Patents

대규모 스트리밍 데이터를 분산 처리하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20230167893A
KR20230167893A KR1020220068102A KR20220068102A KR20230167893A KR 20230167893 A KR20230167893 A KR 20230167893A KR 1020220068102 A KR1020220068102 A KR 1020220068102A KR 20220068102 A KR20220068102 A KR 20220068102A KR 20230167893 A KR20230167893 A KR 20230167893A
Authority
KR
South Korea
Prior art keywords
data
master service
pod
image data
metadata
Prior art date
Application number
KR1020220068102A
Other languages
English (en)
Inventor
김병천
김영재
강경훈
이영학
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020220068102A priority Critical patent/KR20230167893A/ko
Priority to US18/099,592 priority patent/US20230393893A1/en
Publication of KR20230167893A publication Critical patent/KR20230167893A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터 처리 효율을 극대화시킬 수 있는 데이터 분산 처리 시스템이 제공된다. 상기 데이터 분산 처리 시스템은, 제조공정에서 생성되는 다수의 원시 데이터를 실시간으로 저장하는 데이터 스토리지; 상기 다수의 원시 데이터 각각과 관련된 다수의 정보를 실시간으로 저장하는 데이터베이스; 상기 다수의 정보를 기초로 상기 데이터베이스를 모니터링하여, 상기 다수의 원시 데이터 중에서 처리되어야 할 다수의 처리대상을 선정하고, 상기 다수의 처리대상 각각과 관련된 다수의 메타데이터를 큐(queue)에 저장하는 마스터 서비스; 및 다수의 파드로서, 각 파드는 상기 마스터 서비스에 작업 요청을 하여 상기 마스터 서비스로부터 상기 메타데이터를 제공받고, 제공받은 상기 메타데이터를 이용하여 상기 데이터 스토리지에 저장된 원시 데이터에 접근하여 상기 원시 데이터에 대한 작업을 수행하는 다수의 파드를 포함한다.

Description

대규모 스트리밍 데이터를 분산 처리하기 위한 시스템 및 방법{System and method for distributed processing of large-scale streaming data}
본 발명은 대규모 스트리밍 데이터를 분산 처리하기 위한 시스템 및 방법에 관한 것이다.
반도체 칩의 제조 과정에서 대규모 제조 데이터가 생성된다. 특히, 머신러닝을 이용하여 대규모 제조 데이터를 실시간으로 처리하고 데이터 처리량을 늘릴려면, 컴퓨팅 자원을 현저하게 늘려야 한다. 그런데, 컴퓨팅 자원을 늘리는 것은 비용 소모가 크기 때문에, 한정된 자원 안에서 파드들의 데이터 처리 효율을 극대화시킬 수 있는 시스템이 필요하다.
미합중국 공개특허 2017-0286864 A1(2017.10.05 공개)
본 발명이 해결하고자 하는 기술적 과제는, 데이터 처리 효율을 극대화시킬 수 있는 데이터 분산 처리 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 데이터 처리 효율을 극대화시킬 수 있는 데이터 분산 처리 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 면(aspect)에 따른 데이터 분산 처리 시스템은, 제조공정에서 생성되는 다수의 원시 데이터를 실시간으로 저장하는 데이터 스토리지; 상기 다수의 원시 데이터 각각과 관련된 다수의 정보를 실시간으로 저장하는 데이터베이스; 상기 다수의 정보를 기초로 상기 데이터베이스를 모니터링하여, 상기 다수의 원시 데이터 중에서 처리되어야 할 다수의 처리대상을 선정하고, 상기 다수의 처리대상 각각과 관련된 다수의 메타데이터를 큐(queue)에 저장하는 마스터 서비스; 및 다수의 파드로서, 각 파드는 상기 마스터 서비스에 작업 요청을 하여 상기 마스터 서비스로부터 상기 메타데이터를 제공받고, 제공받은 상기 메타데이터를 이용하여 상기 데이터 스토리지에 저장된 원시 데이터에 접근하고 상기 원시 데이터에 대한 작업을 수행하는 다수의 파드를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 면에 따른 데이터 분산 처리 시스템은, 제조공정에서 계측된 다수의 이미지 데이터를 실시간으로 저장하는 데이터 스토리지; 상기 다수의 이미지 데이터 각각과 관련된 다수의 정보를 실시간으로 저장하는 데이터베이스; 기설정된 시간마다 상기 데이터베이스를 모니터링하여, 이전 모니터링 시점 이후에 새로 생성된 정보를 감지하고, 새로 생성된 정보에 대응되는 이미지 데이터를 처리대상으로 선정하고, 상기 처리대상과 관련된 메타데이터를 큐(queue)에 저장하는 마스터 서비스; 및 상기 마스터 서비스와 킵얼라이브 연결이 유지된 상태에서 동작하는 다수의 파드를 포함하되, 각 파드는 이전 작업을 완료하여 유휴 상태가 되면 상기 마스터 서비스에 작업 요청을 하여 상기 마스터 서비스로부터 상기 메타데이터를 제공받고, 제공받은 상기 메타데이터를 이용하여 상기 데이터 스토리지에 저장된 이미지 데이터에 접근하고, 머신러닝 모델을 이용하여, 상기 이미지 데이터에 대한 이상 계측 여부를 판정한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 일 면에 따른 데이터 분산 처리 방법은, 데이터 스토리지에 제조공정에서 생성되는 다수의 원시 데이터가 실시간으로 저장되고, 데이터베이스에 상기 다수의 원시 데이터 각각과 관련된 다수의 정보가 실시간으로 저장되고, 마스터 서비스는, 상기 다수의 정보를 기초로 상기 데이터베이스를 모니터링하여, 상기 다수의 원시 데이터 중에서 처리되어야 할 다수의 처리대상을 선정하고, 상기 마스터 서비스는, 상기 다수의 처리대상 각각과 관련된 다수의 메타데이터를 큐에 저장하고, 파드는, 이전 작업을 완료하여 유휴 상태가 되면, 상기 마스터 서비스에 작업 요청을 하고, 상기 마스터 서비스는, 상기 큐에 저장된 메타데이터를, 작업 요청한 상기 파드에 제공하고, 상기 파드는 제공받은 상기 메타데이터를 이용하여 상기 데이터 스토리지에 저장된 원시 데이터에 접근하여 상기 원시 데이터에 대한 작업을 수행하는 것을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 시스템을 설명하기 위한 도면이다.
도 2는 도 1에 도시된 큐를 설명하기 위한 도면이다.
도 3은 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 방법을 설명하기 위한 순서도이다.
도 4는 도 3의 S130 단계를 설명하기 위한 도면이다.
도 5는 도 3의 S150 내지 S170 단계를 설명하기 위한 도면이다.
도 6은 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 다른 실시예에 따른 데이터 분산 처리 시스템을 설명하기 위한 블록도이다.
도 8은 본 발명의 또 다른 실시예에 따른 데이터 분산 처리 시스템을 설명하기 위한 블록도이다.
도 9 및 도 10은 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 시스템의 효과를 설명하기 위한 도면이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고, 이들에 대한 중복된 설명은 생략한다.
도 1은 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 시스템을 설명하기 위한 도면이다. 도 2는 도 1에 도시된 큐를 설명하기 위한 도면이다.
우선 도 1을 참고하면, 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 시스템은 데이터 스토리지(30), 데이터베이스(20), 마스터 서비스(10), 다수의 파드(51~59), 큐(MQ) 등을 포함한다.
구체적으로, 데이터 스토리지(30)는 제조공정에서 생성되는 다수의 원시 데이터를 실시간으로 저장한다.
다수의 원시 데이터는, 제조공정에서 계측된 이미지 데이터(image data)일 수 있으나, 이에 한정되지 않는다.
또한, 다수의 원시 데이터는 예를 들어, 계측/검사 결과, 구조 분석 결과 및 기타 촬영 결과로 생성될 수 있다. 계측/검사는 예를 들어, ADI(After Development Inspection) 및 ACI(After Cleaning Inspection) 진행시의 CD(Critical Dimension) 및/또는 포토레지스트 슬로프(slope) 계측, FEM(Focus Exposure-time Matix) 진행시의 CD 계측/양호 판단, 패키지/웨이퍼의 AVI(Auto Visual Inspection) 등을 포함한다. 구조 분석은 예를 들어, VSEM(Vertical Scanning Eletron Microscope)를 통한 구조/불량 측정, TEM(Transmission Electron Microscope)의 구조 측정, SPAS(Statistical & Precise Analysis using SEM)의 구조 측정 등을 포함한다. 기타 촬영은 공정설비 검사(예, CMP장비, 세정장비), 웨이퍼 외관 검사(예, 패드/셀의 외관/불량 감지), 포토레지스트 노즐 불량 감지(예, 포토장비), 웨이퍼 표면 감지(예, 스핀코터 불량 감지), 헤이즈 맵(haze map), 마스크의 결함 리페어 후 마스크 촬영 등을 포함할 수 있다.
다수의 원시 데이터는 제조공정에서 생성될 때마다, 데이터 스토리지(30)에 실시간으로 저장된다. 다수의 원시 데이터는 시간에 따라 균일하게(또는 일정한 주기에 따라) 생성될 수도 있으나, 불균일하게 또는 이벤트 발생시에만 생성될 수 있다.
데이터베이스(20)에는 생성되는 다수의 원시 데이터 각각과 관련된 다수의 정보(information)가 실시간으로 저장된다. 정보는 대응하는 원시 데이터를 정의할 수 있는 데이터를 포함한다. 정보는 대응하는 원시 데이터와 관련된 메타데이터일 수 있다. 정보는 예를 들어, 원시 데이터가 생성된 공정스텝, 로트번호, 트랙아웃된 시간, 기판 아이디, 검사시간, 검사종류, 대응되는 원시 데이터의 번호, 데이터 스토리지(30) 내 원시 데이터의 저장위치 등을 포함할 수 있다.
마스터 서비스(10)는 다수의 정보를 기초로 데이터베이스(20)를 모니터링하고, 다수의 원시 데이터 중에서 처리되어야 할 다수의 처리대상을 선정한다. 예를 들어, 마스터 서비스(10)는 기설정된 시간마다(또는 주기마다) 다수의 정보를 검색할 수 있다. 마스터 서비스(10)는 이전 주기(또는 이전 모니터링 시점) 이후에 새로 생성된 정보를 감지한다. 새로 생성된 정보에 대응되는 원시 데이터를 처리대상으로 선정할 수 있다.
이전 모니터링 시점 이후에 새로 생성된 모든 정보에 대응되는 모든 원시 데이터를 처리대상으로 선정할 수도 있고, 또는 이전 주기 이후에 새로 생성된 정보들 중에서 특정 조건에 부합하는 원시 데이터를 처리대상으로 선정할 수 있다.
이어서, 마스터 서비스(10)는 선정된 다수의 처리대상 각각과 관련된 다수의 메타데이터를 큐(queue)(MQ)에 저장한다. 즉, 마스터 서비스(10)는 선정된 처리대상을 바로 파드(51~59)에 작업으로 할당하지 않고, 선정된 처리대상에 대응되는 메타데이터를 큐(MQ)에 저장한다.
큐(MQ)에 저장되는 메타데이터는, 데이터베이스(20)에 저장된 정보와 동일할 수도 있고 다를 수도 있다. 즉, 마스터 서비스(10)는 데이터베이스(20)에 저장된 정보를 읽어와서, 상기 정보를 그대로 큐(MQ)에 메타데이터로서 저장할 수 있다. 또는, 마스터 서비스(10)는 데이터베이스(20)에 저장된 정보를 기초로 메타데이터를 생성하고(예를 들어, 정보 중 일부만을 메타데이터화 함), 생성된 메타데이터를 큐(MQ)에 저장할 수 있다.
여기서, 도 2를 참고하면, 큐(MQ)에는 다수의 메타데이터(MD1~MDn)가 저장된다. 도시의 편의상, 큐(MQ) 내의 로우(row)에 기재되는 내용은 생략한다. 메타데이터는 원시 데이터가 생성된 공정스텝(STEP_KEY), 로트번호(LOT_KEY), 트랙아웃된 시간(TKOUT_KEY), 기판 아이디(WAFER_ID), 검사시간(INSP_TIME), 검사종류(ITEM_ID, SUB_ITEM_ID), 대응되는 이미지 데이터의 번호(IMAGE_SEQ), 데이터 스토리지(30) 내 이미지 데이터의 저장위치(RAW_IMAGE_FILE_PATH) 등을 포함할 수 있다.
다시 도 1을 참고하면, 다수의 파드(POD)(51~59)는 마스터 서비스(10)에 작업 요청(RQ1~RQn)을 하고, 마스터 서비스(10)로부터 메타데이터(MD1~MDn)를 제공받는다. 즉, 다수의 파드(51~59)는 마스터 서비스(10)로부터 수동적으로 작업을 받아 처리만 하는 것이 아니라, 능동적으로 작업 요청(RQ1~RQn)을 한다. 다수의 파드(51~59) 각각은, 이전 작업(previous work)을 완료하여 유휴 상태가 되면, 마스터 서비스(10)에 작업 요청(RQ1~RQn)을 한다.
다수의 파드(51~59) 각각은 제공받은 메타데이터(MD1~MDn)를 이용하여 데이터 스토리지(30)에 저장된 원시 데이터에 접근하여 원시 데이터에 대한 작업을 수행한다.
예를 들어, 원시 데이터가 제조공정에서 계측된 이미지 데이터인 경우, 다수의 파드(51~59) 각각은 머신러닝 모델을 이용하여, 데이터 스토리지(30)에 저장된 이미지 데이터가 정상 스펙(spec)에 속하는지 판정하고, 정상 스펙에 해당하지 않는다면 이상 계측 여부를 판정할 수 있다.
이상 계측 여부를 판정하는 것은, 이미지 데이터가 이상 계측에 의해서 생성된 것인지 또는 이미지 데이터가 정상 계측에 의해 생성되었지만 정상 스펙(spec)을 벗어난 것인지를 판정하는 것이다. 여기서, 이상 계측에 의해 생성된다는 것은, 계측 장비에 에러가 발생하였거나, 계측 방식에 에러가 발생하였거나, 계측 장비는 정상이지만 계측 조건에 문제가 있는 것 등을 의미할 수 있다.
머신러닝 모델은, 예를 들어, 딥러닝 추론이 사용될 수 있다. 딥러닝 방식은, 예를 들어, CNN(Convolution Neural Network), RNN(Recurrent Neural Network), GAN(Generative Adversarial Network), RL(Reinforcement Learning) 등이 사용될 수 있으나, 이에 한정되지 않는다.
다수의 파드(51~59) 각각은 원시 데이터에 대한 판정 결과를, 상기 원시 데이터에 대응되는 정보를 업데이트하여 데이터베이스(20)에 저장할 수 있다.
또한, 다수의 파드(51~59) 각각은 다수의 코어와 메모리로 구성될 수 있으나, 이에 한정되지 않는다.
마스터 서비스(10)는 파드(51~59)로부터 작업을 요청받으면, 마스터 서비스(51~59)는 작업을 요청한 파드(51~59)에 기설정된 배치 사이즈(batch size)의 메타데이터(MD1~MDn)를 제공할 수 있다.
배치 사이즈가 늘어나면, 파드(51~59)가 사용할 메모리의 사이즈가 늘어나고, 처리 시간은 감소될 수 있다. 그런데, 배치 사이즈가 늘어남에 따라 사용해야 할 메모리의 사이즈가 선형으로(linearly) 늘어나지만, 배치 사이즈 가 특정 개수(예를 들어, 16개) 이상이 되면, 처리 시간의 감소는 작다. 따라서, 마스터 서비스(10)가 각 파드(51~59)에 작업을 할당할 때 특정 개수(즉, 16개)의 메타 데이터(MD1~MDn)을 할당하면, CPU 이용 효율을 극대화하면서 처리 시간을 줄일 수 있다.
한편, 다수의 파드(51~59) 각각은, 마스터 서비스(10)와 킵얼라이브(keepalive) 연결이 유지되는 상태에서 동작할 수 있다.
전술한 본 발명의 몇몇 실시예와는 달리, 마스터 서비스가 킵얼라이브(keepalive) 연결 등 외부 요인이 있을 때, 로드 밸런싱(load balancing)을 통해서 작업을 할당한다면, 파드의 유휴 시간이 크게 늘어날 수 있다. 구체적으로, 마스터 서비스는 다수의 파드 중 어느 하나를 선택하여 연결할 때, 킵얼라이브 연결을 사용하면 해당 TCP연결이 계속 유지되고, 마스터 서비스는 로드 밸런싱을 적절히 수행하지 못한다. 즉, 마스터 서비스는 킵얼라이브 연결된 파드에 작업을 계속적으로 부여하고, 유휴 상태의 다른 파드에 작업을 부여하지 못할 수 있다. 그렇다고 해서 킵얼라이브 연결을 사용하지 않는다면, 파드와 연결시마다 TCP연결을 새로 해야 한다. 따라서, TCP연결에 많은 시간이 소요되어, TCP연결이 버틀넥(bottleneck)이 된다.
반면, 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 시스템에서는, 다수의 파드(51~59) 각각이 마스터 서비스(10)의 IP를 알고, 마스터 서비스(10)와의 킵얼라이브 연결을 유지할 수 있다. 다수의 파드(51~59) 모두와 마스터 서비스(10)가 킵얼라이브 연결을 한 상태이기 때문에, 작업 요청(RQ1~RQn) 및 메타데이터 할당(MD1~MDn)이 빠르게 진행될 수 있고, TCP연결에 시간을 낭비하지 않는다.
정리하면, 제조공정이 복잡해지고, 검사/분석 대상이 늘어남에 따라 생성되는 원시 데이터의 양은 급격히 증가된다. 즉, 대규모 스트리밍 데이터가 발생되고, 한정된 컴퓨팅 자원을 효율적으로 사용하여, 대규모 스트리밍 데이터를 처리해야 한다. 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 시스템에 따르면, 다수의 파드(51~59)가 작업 요청(RQ1~RQn)을 한 경우 마스터 서비스(10)가 작업 요청한 파드(51~59)에 메타데이터(MD1~MDn)를 할당한다. 이와 같은 방식은, 마스터 서비스가 다수의 파드를 모니터링하면서 유휴 상태의 파드에 작업을 할당하는 방식에 비해, 대규모 스트리밍 데이터의 처리 효율을 높일 수 있다. 뿐만 아니라, 데이터가 불균일하게 생성되는 경우에, 본 발명은 더 높은 효율을 보일 수 있다. 불균일하게 생성되는 원시데이터에 대응되는 메타데이터를 큐(MQ)에 적재하고, 요청이 들어올 때 균등하게 파드들(51~59)에 분배함으로써, 원시 데이터의 생성 균형에 따른 병목 현상을 제거할 수 있다.
이하에서, 도 1 내지 도 6을 참고하여, 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 방법을 설명한다.
도 3은 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 방법을 설명하기 위한 순서도이다. 도 4는 도 3의 S130 단계를 설명하기 위한 도면이다. 도 5는 도 3의 S150 내지 S170 단계를 설명하기 위한 도면이다. 도 6은 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 방법을 설명하기 위한 도면이다. 설명의 편의상, 도 1을 이용하여 설명한 것과 다른 점을 위주로 설명한다.
도 1 및 도 3을 참고하면, 데이터 스토리지(30)에 제조공정에서 생성되는 다수의 원시 데이터가 실시간으로 저장된다(S110). 이어서, 데이터베이스(20)에 다수의 원시 데이터 각각과 관련된 다수의 정보가 실시간으로 저장된다(S120).
전술한 것과 같이, 다수의 원시 데이터는 예를 들어, 계측/검사 결과, 구조 분석 결과 및 기타 촬영 결과로 생성될 수 있다. 검사 장비(또는 계측 장비)(미도시)는, 다수의 원시 데이터를 생성하고, 다수의 원시 데이터 각각에 대응되는 다수의 정보를 생성한다. 생성된 원시 데이터 및 정보는 각각 데이터 스토리지(30), 데이터베이스(20)에 저장된다.
이어서, 마스터 서비스(10)는, 다수의 정보를 기초로 데이터베이스(20)를 모니터링하여, 다수의 원시 데이터 중에서 처리되어야 할 다수의 처리대상을 선정한다(S130).
여기서 도 4를 참고하면, 마스터 서비스(10)는 기설정된 시간마다(또는 주기마다) 다수의 정보를 검색할 수 있다.
시간 t1에서, 마스터 서비스(10)는 데이터베이스(20)를 검색한다(S131). 마스터 서비스(10)는 이전 모니터링 시점 이후에 새로운 정보가 데이터베이스(20)에 올라왔는지 체크한다(S134). 데이터베이스(20)에 새로운 정보가 추가되지 않았다면(S134의 NO) 종료하고, 데이터베이스(20)에 새로운 정보가 추가되었다면(S134의 YES), 마스터 서비스(10)는 새로운 정보에 대응되는 메타데이터를 생성하여 큐(MQ)에 저장한다(S138). 마스터 서비스(10)는 이전 모니터링 시점 이후에 새로 생성된 모든 정보에 대응되는 모든 원시 데이터를 처리대상으로 선정할 수도 있고, 이전 주기 이후에 새로 생성된 정보들 중에서 특정 조건에 부합하는 원시 데이터를 처리대상으로 선정할 수 있다.
시간 t2에서, 마스터 서비스(10)는 데이터베이스(20)를 검색한다(S132). 마스터 서비스(10)는 이전 모니터링 시점(t1)과 현재 모니터링 시점(t2) 사이에 새로운 정보가 데이터베이스(20)에 올라왔는지 체크한다(S135). 데이터베이스(20)에 새로운 정보가 추가되지 않았다면(S135의 NO) 종료하고, 데이터베이스(20)에 새로운 정보가 추가되었다면(S135의 YES), 마스터 서비스(10)는 새로운 정보에 대응되는 메타데이터를 생성하여 큐(MQ)에 저장한다(S138).
시간 t3에서, 마스터 서비스(10)는 데이터베이스(20)를 검색한다(S133). 마스터 서비스(10)는 이전 모니터링 시점(t2)과 현재 모니터링 시점(t3) 사이에 새로운 정보가 데이터베이스(20)에 올라왔는지 체크한다(S136). 데이터베이스(20)에 새로운 정보가 추가되지 않았다면(S136의 NO) 종료하고, 데이터베이스(20)에 새로운 정보가 추가되었다면(S136의 YES), 마스터 서비스(10)는 새로운 정보에 대응되는 메타데이터를 생성하여 큐(MQ)에 저장한다(S138).
이와 같이, 기설정된 주기(시간 t1, t2 및 t3 참고)에 따라 마스터 서비스(10)는 데이터베이스(20)를 검색한다.
다시 도 3을 참고하면, 이어서, 마스터 서비스(10)는, 다수의 처리대상 각각과 관련된 다수의 메타데이터를 큐(MQ)에 저장한다(S140).
구체적으로, 큐(MQ)에 저장되는 메타데이터는, 데이터베이스(20)에 저장된 정보와 동일할 수도 있고 다를 수도 있다. 메타데이터는 원시 데이터가 생성된 공정스텝(STEP_KEY), 로트번호(LOT_KEY), 트랙아웃된 시간(TKOUT_KEY), 기판 아이디(WAFER_ID), 검사시간(INSP_TIME), 검사종류(ITEM_ID, SUB_ITEM_ID), 대응되는 이미지 데이터의 번호(IMAGE_SEQ), 데이터 스토리지(30) 내 이미지 데이터의 저장위치(RAW_IMAGE_FILE_PATH) 등을 포함할 수 있다.
이어서, 파드(51~59)는, 이전 작업을 완료하여 유휴 상태가 되면, 마스터 서비스(10)에 작업을 요청한다(S150). 이어서, 마스터 서비스(10)는, 큐(MQ)에 저장된 메타데이터를 파드(51~59)에 제공한다(S160). 이어서, 파드(51~59)는 메타데이터를 이용하여 데이터 스토리지(30)에 저장된 원시 데이터에 접근하여 작업을 수행한다(S170).
여기서, 도 5를 참고하면, 파드(예를 들어, 51)는 이전작업을 수행하여(S171), 이전작업을 완료한다(S172). 파드(51)는 유휴 상태가 된다.
이어서, 파드(51)는 마스터 서비스(10)에 작업 요청을 한다(S173).
이어서, 마스터 서비스(10)는 큐(MQ)에서 메타데이터를 추출한다(S174). 이어서, 마스터 서비스(10)는 메타데이터를 파드(51)에 제공한다(S175). 즉, 마스터 서비스(10)는 기설정된 배치 사이즈(예를 들어, 16개)의 메타데이터를 추출하여 파드(51)에 제공한다.
이어서, 파드(51)는 제공받은 메타데이터를 이용하여 데이터 스토리지(30)에 저장된 원시 데이터에 접근하여 원시 데이터에 대한 작업을 수행한다(S176).
한편, 도 6을 참고하면, 다수의 파드(51~59) 각각은 이전 작업이 완료되면, 마스터 서비스(10)에 작업을 요청한다. 따라서, 다수의 파드(51~59)는 유휴 상태가 오래 지속되지 않는다.
파드(POD1)는 다수의 작업(W11, W12, W13, W14)을 순차적으로 진행한다. 파드(POD2)는 다수의 작업(W21, W22, W23, W24)을 순차적으로 진행한다. 파드(POD3)은 다수의 작업(W91, W92, W93, W94)을 순차적으로 진행한다. 작업들(예를 들어, W11, W12) 사이에는, 작업 요청 및 메타데이터를 제공받는 단계(RQ-FD)가 위치된다.
다수의 파드(POD1~PODn) 각각이 긴 유휴 상태 없이, 작업(W11~W14, W21~W24, W91~W94)을 꾸준하게 수행할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 데이터 분산 처리 시스템을 설명하기 위한 블록도이다. 설명의 편의상 도 1을 이용하여 설명한 것과 다른 점을 위주로 설명한다.
도 7을 참고하면, 본 발명의 다른 실시예에 따른 데이터 분산 처리 시스템은 데이터 스토리지(30), 데이터베이스(20), 마스터 서비스(10), 다수의 제1 파드(51~59), 다수의 제2 파드(51a~59a), 큐(MQ) 등을 포함한다.
마스터 서비스(10)는 다수의 정보를 기초로 데이터베이스(20)를 모니터링하여, 데이터 스토리지(30)에 저장된 다수의 원시 데이터 중에서 처리되어야 할 다수의 처리대상을 선정한다. 마스터 서비스(10)는 다수의 처리대상 각각과 관련된 다수의 메타데이터를 큐(MQ)에 저장한다.
다수의 제1 파드(51~59) 각각은, 유휴 상태가 되면 마스터 서비스(10)에 작업 요청(RQ1~RQn)을 하여 마스터 서비스(10)로부터 메타데이터(MD1~MDn)를 제공받는다. 제공받은 메타데이터(MD1~MDn)를 이용하여 데이터 스토리지(30)에 저장된 원시 데이터에 접근하여 원시 데이터에 대한 작업을 수행한다.
다수의 제2 파드(51a~59a) 각각은, 유휴 상태가 되더라도 마스터 서비스(10)에 작업을 요청하지 않는다. 마스터 서비스(10)는 로드 밸런싱을 통해서 다수의 제2 파드(51a~59a)에 작업(MDm~MDk)을 할당한다.
즉, 다수의 제1 파드(51~59)는 적극적으로 마스터 서비스(10)에 작업 요청(RQ1~RQn)을 하고, 다수의 제2 파드(51a~59a)는 수동적으로 마스터 서비스(10)로부터의 작업 할당을 기다린다.
한편, 다수의 제1 파드(51~59)는 제1 데이터 처리 서비스에 속하고, 다수의 제2 파드(51a~59a)는 제2 데이터 처리 서비스에 속할 수 있다.
제1 데이터 처리 서비스와 제2 데이터 처리 서비스는 서로 다른 제조공정에서 계측된 이미지 데이터에 대한, 이상 계측 여부를 판정하는 작업을 수행할 수 있다.
작업 대상(이미지 데이터)에 따라서 또는 판정 작업의 방식에 따라서, 파드(51~59)의 작업 요청이 이루어지거나, 작업 요청없이 파드(51a~59a)에게 작업할당이 이루어질 수 있다.
도 8은 본 발명의 또 다른 실시예에 따른 데이터 분산 처리 시스템을 설명하기 위한 블록도이다. 설명의 편의상 도 4를 이용하여 설명한 것과 다른 점을 위주로 설명한다.
도 8을 참고하면, 본 발명의 또 다른 실시예에 따른 데이터 분산 처리 시스템은 서로 다른 제1 모드(MODE1)와 제2 모드(MODE2)로 동작할 수 있다. 예를 들어, 시간t1~시간tn 에서는 제1 모드(MODE1)로 동작하고, 시간 tn+1 ~t2n 에서는 제2 모드(MODE2)로 동작할 수 있다.
시간t1~시간tn 에서, 마스터 서비스(10)는 기설정된 시간마다(또는 주기마다) 데이터베이스(20) 내의 다수의 정보를 검색한다(S131).
마스터 서비스(10)는 이전 모니터링 시점 이후에 새로운 정보가 데이터베이스(20)에 올라왔는지 체크한다(S134). 데이터베이스(20)에 새로운 정보가 추가되지 않았다면(S134의 NO) 종료하고, 데이터베이스(20)에 새로운 정보가 추가되었다면(S134의 YES), 마스터 서비스(10)는 새로운 정보에 대응되는 메타데이터를 생성하여 큐(MQ)에 저장한다(S138). 유휴상태의 파드(51~59)가 작업요청을 하면, 마스터 서비스(10)는 큐(MQ)에 저장한 메타데이터를 작업요청한 파드(51~59)에 제공한다.
시간 tn+1 ~t2n 에서, 마스터 서비스(10)는 기설정된 시간마다(또는 주기마다) 데이터베이스(20) 내의 다수의 정보를 검색한다(S1311).
마스터 서비스(10)는 이전 모니터링 시점 이후에 새로운 정보가 데이터베이스(20)에 올라왔는지 체크한다(S1341). 데이터베이스(20)에 새로운 정보가 추가되지 않았다면(S1341의 NO) 종료하고, 데이터베이스(20)에 새로운 정보가 추가되었다면(S1341의 YES), 마스터 서비스(10)는 작업을 유휴상태의 파드(51~59)에 바로 할당한다(S1381).
마스터 서비스(10)는 데이터베이스(20)에 저장된 정보를, 파드(51~59)에 제공함으로써 작업을 할당할 수 있으나, 이에 한정되지 않는다.
도 9 및 도 10은 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 시스템의 효과를 설명하기 위한 도면이다.
도 9는 시간에 따른 데이터 처리량을 설명하기 위한 도면이다. 도 10은 시간에 따른 파드당 동작시간(busy time)을 설명하기 위한 도면이다.
도 9 및 도 10를 참고하면, 분당 평균 130장(즉, 시간당 7,800장, 하루기준 187,200장) 생성되는 데이터(즉, 이미지 데이터)에 대해서 데이터 처리 능력을 테스트하였다. 균일하게 데이터가 생성되는 경우에는, 일정한 주기로 130장이 생성되고, 랜덤하게 생성되는 경우에는 분당 평균을 기준으로 130장이 생성된다.
"Random"은 랜덤하게 데이터가 생성되는 환경을 나타내고, "Uniform"은 균일하게 데이터가 생성되는 환경을 나타내고, "queue"는 생성되는 데이터들을 큐에 적재하여 균등한 개수대로 파드에 분배하는 환경을 나타낸다. 따라서, "Random queue"는 랜덤하게 데이터가 생성되는 환경에서, 생성되는 데이터들을 큐에 적재하여 파드에 분배하는 환경을 나타낸다. "Uniform queue"은 균일하게 데이터가 생성되는 환경에서, 생성되는 데이터들을 큐에 적재하여 파드에 분배하는 환경을 나타낸다. "Proposed"는 본 발명의 몇몇 실시예에 따른 데이터 분산 처리 시스템을 나타낸다.
도 9를 참고하면, x축은 시간이고, y축은 처리된 데이터 개수를 의미한다. 본 발명이 적용되지 않는 경우(즉, Random, Uniform, Random queue, Uniform queue)는 시간당 5,500장을 처리하여, 모든 데이터(시간당 7,800장)을 처리하지 못하였다. 반면 본 발명이 적용된 경우(즉, Proposed)에는, 모든 데이터를 실시간으로 처리할 수 있었다.
또한, 도 10을 참고하면, x축은 시간이고, y축은 파드당 동작시간을 의미한다. 본 발명이 적용된 경우(즉, Proposed)는 다른 경우(즉, Random, Uniform, Random queue, Uniform queue)에 비해 파드당 동작 시간이 더 적고, 유휴 시간이 더 존재함을 알 수 있다. 따라서, 본 발명이 적용된 경우(즉, Proposed)는 더 많은 데이터를 처리할 수 있는 가능성을 확인할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10: 마스터 서비스
20: 데이터베이스
30: 데이터 스토리지
51~59: 파드
MQ: 큐

Claims (20)

  1. 제조공정에서 생성되는 다수의 원시 데이터를 실시간으로 저장하는 데이터 스토리지;
    상기 다수의 원시 데이터 각각과 관련된 다수의 정보를 실시간으로 저장하는 데이터베이스;
    상기 다수의 정보를 기초로 상기 데이터베이스를 모니터링하여, 상기 다수의 원시 데이터 중에서 처리되어야 할 다수의 처리대상을 선정하고, 상기 다수의 처리대상 각각과 관련된 다수의 메타데이터를 큐(queue)에 저장하는 마스터 서비스; 및
    다수의 파드로서, 각 파드는 상기 마스터 서비스에 작업 요청을 하여 상기 마스터 서비스로부터 상기 메타데이터를 제공받고, 제공받은 상기 메타데이터를 이용하여 상기 데이터 스토리지에 저장된 원시 데이터에 접근하고 상기 원시 데이터에 대한 작업을 수행하는 다수의 파드를 포함하는 데이터 분산 처리 시스템.
  2. 제 1항에 있어서, 상기 각 파드가 이전 작업(previous work)을 완료하여 유휴 상태가 되면, 상기 각 파드는 상기 마스터 서비스에 작업 요청을 하는, 데이터 분산 처리 시스템.
  3. 제 2항에 있어서, 상기 다수의 파드 각각은 상기 마스터 서비스와의 킵얼라이브(keepalive) 연결이 유지되는 상태에서 동작하는, 데이터 분산 처리 시스템.
  4. 제 1항에 있어서, 상기 마스터 서비스가 다수의 정보를 기초로 상기 데이터베이스를 모니터링하는 것은,
    상기 마스터 서비스가 기설정된 시간마다 상기 데이터베이스를 모니터링하되, 이전 모니터링 시점 이후에 새로 생성된 정보를 감지하고, 새로 생성된 정보에 대응되는 원시 데이터를 처리대상으로 선정하는 것을 포함하는, 데이터 분산 처리 시스템.
  5. 제 1항에 있어서,
    상기 마스터 서비스가 상기 파드로부터 작업 요청을 받으면, 상기 마스터 서비스는 작업 요청한 상기 파드에 기설정된 배치 사이즈(batch size)의 메타데이터를 제공하는, 데이터 분산 처리 시스템.
  6. 제 1항에 있어서,
    상기 메타데이터는, 대응되는 이미지 데이터가 생성된 공정 스텝, 로트 번호, 트랙아웃된 시간, 기판 아이디, 검사종류, 대응되는 이미지 데이터의 번호, 대응되는 이미지 데이터의 저장위치 중 적어도 하나를 포함하는, 데이터 분산 처리 시스템.
  7. 제 1항에 있어서, 상기 원시 데이터는 제조공정에서 계측된 이미지 데이터를 포함하고,
    상기 각 파드는 머신러닝 모델을 이용하여, 상기 이미지 데이터에 대한 이상 계측 여부를 판정하는 작업을 수행하는, 데이터 분산 처리 시스템.
  8. 제 7항에 있어서, 상기 이미지 데이터에 대한 이상 계측 여부를 판정하는 작업은,
    상기 이미지 데이터가 이상 계측에 의해서 생성된 것인지 또는 상기 이미지 데이터가 정상 계측에 의해 생성되었지만 스펙을 벗어난 것인지 판정하는 것을 포함하는, 데이터 분산 처리 시스템.
  9. 제 1항에 있어서, 다수의 데이터 처리 서비스를 포함하되, 각 데이터 처리 서비스는 상기 다수의 파드 중 적어도 하나를 포함하고,
    상기 다수의 데이터 처리 서비스 각각은 서로 다른 제조공정에서 계측된 이미지 데이터에 대한, 이상 계측 여부를 판정하는 작업을 수행하는, 데이터 분산 처리 시스템.
  10. 제 1항에 있어서,
    다수의 제2 파드를 더 포함하되, 상기 각 제2 파드는 유휴 상태가 되더라도 상기 마스터 서비스에 작업을 요청하지 않고,
    상기 마스터 서비스는 로드 밸런싱을 통해서 다수의 제2 파드에 작업을 할당하는, 데이터 분산 처리 시스템.
  11. 제조공정에서 계측된 다수의 이미지 데이터를 실시간으로 저장하는 데이터 스토리지;
    상기 다수의 이미지 데이터 각각과 관련된 다수의 정보를 실시간으로 저장하는 데이터베이스;
    기설정된 시간마다 상기 데이터베이스를 모니터링하여, 이전 모니터링 시점 이후에 새로 생성된 정보를 감지하고, 새로 생성된 정보에 대응되는 이미지 데이터를 처리대상으로 선정하고, 상기 처리대상과 관련된 메타데이터를 큐(queue)에 저장하는 마스터 서비스; 및
    상기 마스터 서비스와 킵얼라이브 연결이 유지된 상태에서 동작하는 다수의 파드를 포함하되, 각 파드는
    이전 작업을 완료하여 유휴 상태가 되면 상기 마스터 서비스에 작업 요청을 하여 상기 마스터 서비스로부터 상기 메타데이터를 제공받고,
    제공받은 상기 메타데이터를 이용하여 상기 데이터 스토리지에 저장된 이미지 데이터에 접근하고,
    머신러닝 모델을 이용하여, 상기 이미지 데이터에 대한 이상 계측 여부를 판정하는, 데이터 분산 처리 시스템.
  12. 제 11항에 있어서,
    상기 마스터 서비스가 상기 파드로부터 작업 요청을 받으면, 상기 마스터 서비스는 작업 요청한 상기 파드에 기설정된 배치 사이즈(batch size)의 메타데이터를 제공하는, 데이터 분산 처리 시스템.
  13. 제 11항에 있어서,
    상기 메타데이터는, 대응되는 이미지 데이터가 생성된 공정 스텝, 로트 번호, 트랙아웃된 시간, 기판 아이디, 검사종류, 대응되는 이미지 데이터의 번호, 대응되는 이미지 데이터의 저장위치 중 적어도 하나를 포함하는, 데이터 분산 처리 시스템.
  14. 제 11항에 있어서,
    상기 이미지 데이터에 대한 이상 계측 여부를 판정하는 것은,
    상기 이미지 데이터가 이상 계측에 의해서 생성된 것인지 또는 상기 이미지 데이터가 정상 계측에 의해 생성되었지만 스펙을 벗어난 것인지 판정하는 것을 포함하는, 데이터 분산 처리 시스템.
  15. 제 11항에 있어서, 다수의 데이터 처리 서비스를 포함하되, 각 데이터 처리 서비스는 상기 다수의 파드 중 적어도 하나를 포함하고,
    상기 각 데이터 처리 서비스는 서로 다른 제조공정에서 계측된 이미지 데이터에 대한, 이상 계측 여부를 판정하는 작업을 수행하는, 데이터 분산 처리 시스템.
  16. 제 11항에 있어서,
    다수의 제2 파드를 더 포함하되, 상기 각 제2 파드는 유휴 상태가 되더라도 상기 마스터 서비스에 작업을 요청하지 않고,
    상기 마스터 서비스는 로드 밸런싱을 통해서 다수의 제2 파드에 작업을 할당하는, 데이터 분산 처리 시스템.
  17. 데이터 스토리지에 제조공정에서 생성되는 다수의 원시 데이터가 실시간으로 저장되고,
    데이터베이스에 상기 다수의 원시 데이터 각각과 관련된 다수의 정보가 실시간으로 저장되고,
    마스터 서비스는, 상기 다수의 정보를 기초로 상기 데이터베이스를 모니터링하여, 상기 다수의 원시 데이터 중에서 처리되어야 할 다수의 처리대상을 선정하고,
    상기 마스터 서비스는, 상기 다수의 처리대상 각각과 관련된 다수의 메타데이터를 큐에 저장하고,
    파드는, 이전 작업을 완료하여 유휴 상태가 되면, 상기 마스터 서비스에 작업 요청을 하고,
    상기 마스터 서비스는, 상기 큐에 저장된 메타데이터를, 작업 요청한 상기 파드에 제공하고,
    상기 파드는 제공받은 상기 메타데이터를 이용하여 상기 데이터 스토리지에 저장된 원시 데이터에 접근하여 상기 원시 데이터에 대한 작업을 수행하는 것을 포함하는, 데이터 분산 처리 방법.
  18. 제 17항에 있어서,
    상기 파드는 상기 마스터 서비스와의 킵얼라이브(keepalive) 연결이 유지되는 상태에서 동작하는, 데이터 분산 처리 방법.
  19. 제 17항에 있어서,
    상기 마스터 서비스가 다수의 정보를 기초로 상기 데이터베이스를 모니터링하는 것은,
    상기 마스터 서비스가 기설정된 시간마다 상기 데이터베이스를 모니터링하되, 이전 모니터링 시점 이후에 새로 생성된 정보를 감지하고, 새로 생성된 정보에 대응되는 원시 데이터를 처리대상으로 선정하는 것을 포함하는, 데이터 분산 처리 방법.
  20. 제 17항에 있어서,
    상기 마스터 서비스가 상기 파드로부터 작업 요청을 받으면, 상기 마스터 서비스는 상기 파드에 기설정된 배치 사이즈(batch size)의 메타데이터를 제공하는, 데이터 분산 처리 방법.
KR1020220068102A 2022-06-03 2022-06-03 대규모 스트리밍 데이터를 분산 처리하기 위한 시스템 및 방법 KR20230167893A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220068102A KR20230167893A (ko) 2022-06-03 2022-06-03 대규모 스트리밍 데이터를 분산 처리하기 위한 시스템 및 방법
US18/099,592 US20230393893A1 (en) 2022-06-03 2023-01-20 System and method for distributed processing of large-scale streaming data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220068102A KR20230167893A (ko) 2022-06-03 2022-06-03 대규모 스트리밍 데이터를 분산 처리하기 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20230167893A true KR20230167893A (ko) 2023-12-12

Family

ID=88976657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220068102A KR20230167893A (ko) 2022-06-03 2022-06-03 대규모 스트리밍 데이터를 분산 처리하기 위한 시스템 및 방법

Country Status (2)

Country Link
US (1) US20230393893A1 (ko)
KR (1) KR20230167893A (ko)

Also Published As

Publication number Publication date
US20230393893A1 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
US11237872B2 (en) Semiconductor inspection and metrology systems for distributing job among the CPUs or GPUs based on logical image processing boundaries
US7515982B2 (en) Combining automated and manual information in a centralized system for semiconductor process control
CN106325998B (zh) 一种基于云计算的应用部署的方法和装置
CN107710200A (zh) 用于并行化smp数据库中的基于散列的运算符的系统和方法
JP2005332402A (ja) マルチプロセッサ・システムにおいて処理エラーを扱う方法と装置
CN112052068A (zh) 一种Kubernetes容器平台CPU绑核的方法与装置
WO2015149710A1 (en) System and method for massively parallel processing database
US20050216115A1 (en) Transport management system and method thereorf
JP2023539568A (ja) リピータ欠陥検出のための教師なし学習
CN107515781A (zh) 一种多处理器系统确定性调度和负载均衡方法
CN111163140A (zh) 资源获取和分配的方法、装置和计算机可读存储介质
CN114551296B (zh) 分区管理方法、装置、计算机设备和存储介质
CN105872082B (zh) 基于容器集群负载均衡算法的细粒度资源响应系统
KR20230167893A (ko) 대규모 스트리밍 데이터를 분산 처리하기 위한 시스템 및 방법
CN112130927A (zh) 一种可靠性增强的移动边缘计算任务卸载方法
US8412368B2 (en) Method and apparatus for routing dispatching and routing reticles
US8850440B2 (en) Managing the processing of processing requests in a data processing system comprising a plurality of processing environments
WO2023138863A1 (en) Method for operating laboratory system and laboratory system
US20190373053A1 (en) Ranked session affinity to improve load balancing efficiency for stateful requests
US20130007181A1 (en) Method and system for offloading computation flexibly to a communication adapter
Aydt et al. Symbiotic simulation for optimisation of tool operations in semiconductor manufacturing
Rothe et al. Novel approaches to optimizing carrier logistics in semiconductor manufacturing
CN111459651B (zh) 一种负载均衡方法、装置、存储介质及调度系统
US7289860B1 (en) Method and apparatus for reserving a processing tool in a semiconductor fabrication facility
US20240231943A9 (en) Bin Packing