KR102322886B1 - Method and apparatus for constructing e-beam cluster in computation lithography - Google Patents

Method and apparatus for constructing e-beam cluster in computation lithography Download PDF

Info

Publication number
KR102322886B1
KR102322886B1 KR1020200025775A KR20200025775A KR102322886B1 KR 102322886 B1 KR102322886 B1 KR 102322886B1 KR 1020200025775 A KR1020200025775 A KR 1020200025775A KR 20200025775 A KR20200025775 A KR 20200025775A KR 102322886 B1 KR102322886 B1 KR 102322886B1
Authority
KR
South Korea
Prior art keywords
nodes
cluster
model
devs
tat
Prior art date
Application number
KR1020200025775A
Other languages
Korean (ko)
Other versions
KR20210110925A (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 KR1020200025775A priority Critical patent/KR102322886B1/en
Publication of KR20210110925A publication Critical patent/KR20210110925A/en
Application granted granted Critical
Publication of KR102322886B1 publication Critical patent/KR102322886B1/en

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70483Information management; Active and passive control; Testing; Wafer monitoring, e.g. pattern monitoring
    • G03F7/70491Information management, e.g. software; Active and passive control, e.g. details of controlling exposure processes or exposure tool monitoring processes
    • G03F7/705Modelling or simulating from physical phenomena up to complete wafer processes or whole workflow in wafer productions
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70425Imaging strategies, e.g. for increasing throughput or resolution, printing product fields larger than the image field or compensating lithography- or non-lithography errors, e.g. proximity correction, mix-and-match, stitching or double patterning
    • G03F7/70433Layout for increasing efficiency or for compensating imaging errors, e.g. layout of exposure fields for reducing focus errors; Use of mask features for increasing efficiency or for compensating imaging errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01JELECTRIC DISCHARGE TUBES OR DISCHARGE LAMPS
    • H01J37/00Discharge tubes with provision for introducing objects or material to be exposed to the discharge, e.g. for the purpose of examination or processing thereof
    • H01J37/30Electron-beam or ion-beam tubes for localised treatment of objects
    • H01J37/317Electron-beam or ion-beam tubes for localised treatment of objects for changing properties of the objects or for applying thin layers thereon, e.g. for ion implantation
    • H01J37/3174Particle-beam lithography, e.g. electron beam lithography
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01JELECTRIC DISCHARGE TUBES OR DISCHARGE LAMPS
    • H01J2237/00Discharge tubes exposing object to beam, e.g. for analysis treatment, etching, imaging
    • H01J2237/30Electron or ion beam tubes for processing objects
    • H01J2237/317Processing objects on a microscale
    • H01J2237/3175Lithography
    • H01J2237/31761Patterning strategy
    • H01J2237/31762Computer and memory organisation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Exposure And Positioning Against Photoresist Photosensitive Materials (AREA)

Abstract

산출 리소그래피를 위한 E-Beam 클러스터 구성 방법 및 장치가 제시된다. 일 실시예에 따른 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 방법은, N 개의 분산 노드(node)를 갖는 E-beam 클러스터를 이산사건 시스템 명세(Discrete Event System Specification, DEVS) 모델로 모델링하는 단계; 및 모델링된 상기 이산사건 시스템 명세(DEVS) 모델을 활용하여, 로드밸런싱(load balancing) 방법인 FIFO(First In First Out) 환경에서의 소요시간(Turn Around Time, TAT)을 만족시키는 분산 노드 수를 산출하고, E-Beam 작업의 특성과 산출 노드 수의 특성에 따른 소요시간(TAT)을 바탕으로 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하여 적정 노드 수를 산출하는 단계를 포함하여 이루어질 수 있다.A method and apparatus for constructing an E-Beam cluster for computational lithography are presented. An E-beam cluster configuration method for computation lithography according to an embodiment models an E-beam cluster having N distributed nodes as a Discrete Event System Specification (DEVS) model. to do; and the number of distributed nodes that satisfy Turn Around Time (TAT) in a FIFO (First In First Out) environment, which is a load balancing method, using the modeled discrete event system specification (DEVS) model. Calculating the appropriate number of nodes by modeling the improved load balancing with a Discrete Event System Specification (DEVS) model based on the required time (TAT) according to the characteristics of the E-Beam operation and the characteristics of the number of output nodes can be done by

Figure R1020200025775
Figure R1020200025775

Description

산출 리소그래피를 위한 E-Beam 클러스터 구성 방법 및 장치{METHOD AND APPARATUS FOR CONSTRUCTING E-BEAM CLUSTER IN COMPUTATION LITHOGRAPHY}Method and apparatus for constructing an E-Beam cluster for computational lithography

아래의 실시예들은 산출 리소그래피를 위한 E-Beam 클러스터 구성 방법 및 장치에 관한 것으로, 더욱 상세하게는 최소 규모의 클러스터에서 최적의 산출 리소그래피를 가능하게 하는 클러스터를 구축하는 방법 및 장치에 관한 것이다. The following embodiments relate to a method and apparatus for constructing an E-Beam cluster for computational lithography, and more particularly, to a method and apparatus for constructing a cluster enabling optimal computational lithography in a smallest cluster.

리소그래피(Lithography) 공정은 회로도가 그려진 마스크라는 패턴 판에 빛을 노출시켜 감광액이 묻어있는 웨이퍼에 마스크와 같은 형태의 회로 패턴을 축소해서 그리는 노광 기술이다. 리소그래피 공정이 발달 할수록 더욱 작은 칩이 구현 가능하므로, 리소그래피 공정은 반도체 설계의 핵심 공정이라 할 수 있다. 이러한 리소그래피 공정의 핵심 장비는 웨이퍼에 빛을 노출하는 장치인 스캐너이다. 좋은 스캐너일수록 작은 파장의 빛을 사용하여 빛의 산란, 확산 및 회절을 최소화하여 정교한 회로를 그릴 수 있게 해준다.The lithography process is an exposure technology that draws a circuit pattern similar to a mask on a wafer with a photoresist by exposing light to a pattern plate called a mask on which the circuit diagram is drawn. As the lithography process develops, smaller chips can be realized, so the lithography process can be said to be a key process in semiconductor design. The key equipment in this lithography process is a scanner, a device that exposes light to the wafer. A good scanner uses small wavelengths of light to minimize light scattering, diffusion, and diffraction, allowing you to draw sophisticated circuits.

현재 193nm ArF 파장의 광원과 13.5nm의 파장을 갖는 EUV(Extreme Ultra-Violet) 광원을 활용한 스캐너를 활용한다. 그런데 EUV 장치는 매우 고가이고 안정성 문제가 자주 거론됨에 따라 193nm ArF 파장의 광원을 활용하여 고집적 회로를 노광 가능한 이머전(immersion), DPT(double patterning) 및 산출 리소그래피(computation lithography)와 같은 기술이 개발되었다.Currently, a scanner using a light source of 193 nm ArF wavelength and an Extreme Ultra-Violet (EUV) light source having a wavelength of 13.5 nm is used. However, as EUV devices are very expensive and stability issues are frequently discussed, technologies such as immersion, double patterning (DPT) and computation lithography have been developed that can expose high-density circuits using a light source of 193 nm ArF wavelength. .

이 중 산출 리소그래피(computation lithography)의 기술이 적극 활용되나, 산출 리소그래피는 노광을 위해 계산되어야 할 데이터 볼륨의 양이 매우 커지는 문제를 가지고 있으며 마스크(mask) 공정의 소요시간(Turn Around Time, TAT)의 증가로 이어진다. 이를 개선하기 위해서 수많은 양의 컴퓨팅리소스를 산출 리소그래피에 투자하는 스케일업(Scale-up)과, 시스템을 분산화시켜서 스케일아웃(Scale-out) 시키는 등 다양한 형태로 관련 문제를 해결하고자 하고 있다. 하지만, 상용 EDA 툴(tool)(E-Beam)들이 컴퓨팅 코어(core)당 라이센스 가격을 책정하기 때문에 이러한 방향은 막대한 하드웨어(HW) 비용과 소프트웨어(SW) 비용의 증가로 이어지고 있다. 이에 따라 컴퓨팅 자원을 최소로 사용하여 TAT를 줄이는 관리 및 운영론이 매우 중요해지고 있다.Among them, the technology of computation lithography is actively used, but computation lithography has a problem in that the amount of data volume to be calculated for exposure becomes very large, and the turn around time (TAT) of the mask process is leads to an increase in To improve this, we are trying to solve related problems in various forms, such as scale-up, which invests a large amount of computing resources in computational lithography, and scale-out by decentralizing the system. However, since commercial EDA tools (E-Beam) set a license price per computing core, this direction is leading to a huge increase in hardware (HW) costs and software (SW) costs. Accordingly, management and operation theory to reduce TAT by using a minimum of computing resources is becoming very important.

한국공개특허 10-2014-0026285호는 이러한 전자빔 리소그래피를 이용해 판 또는 마스크 상에 인쇄 패턴을 형성하는 방법, 해당 인쇄회로 설계 시스템, 및 컴퓨터 프로그램에 관한 기술을 기재하고 있다.Korean Patent Application Laid-Open No. 10-2014-0026285 describes a method for forming a printed pattern on a plate or mask using such electron beam lithography, a corresponding printed circuit design system, and a technology related to a computer program.

한국공개특허 10-2014-0026285호Korean Patent Publication No. 10-2014-0026285

실시예들은 산출 리소그래피를 위한 E-Beam 클러스터 구성 방법 및 장치에 관하여 기술하며, 보다 구체적으로 최소 규모의 클러스터에서 최적의 산출 리소그래피를 가능하게 하는 클러스터를 구축하는 기술을 제공한다. Embodiments describe a method and apparatus for constructing an E-Beam cluster for computational lithography, and more specifically, provide a technique for constructing a cluster that enables optimal computational lithography in a smallest cluster.

실시예들은 다양한 로드밸런싱 알고리즘을 이산사건 시스템 명세(DEVS)로 손쉽게 모델링하고 모듈화할 수 있고, 클러스터 규모에 따른 알고리즘의 검증을 수행할 수 있는, 산출 리소그래피를 위한 E-Beam 클러스터 구성 방법 및 장치를 제공하는데 있다. Embodiments provide a method and apparatus for constructing an E-Beam cluster for output lithography, which can easily model and modularize various load balancing algorithms as a discrete event system specification (DEVS), and perform verification of the algorithm according to the cluster size. is to provide

일 실시예에 따른 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 방법은, N 개의 분산 노드(node)를 갖는 E-beam 클러스터를 이산사건 시스템 명세(Discrete Event System Specification, DEVS) 모델로 모델링하는 단계; 및 모델링된 상기 이산사건 시스템 명세(DEVS) 모델을 활용하여, 로드밸런싱(load balancing) 방법인 FIFO(First In First Out) 환경에서의 소요시간(Turn Around Time, TAT)을 만족시키는 분산 노드 수를 산출하고, E-Beam 작업의 특성과 산출 노드 수의 특성에 따른 소요시간(TAT)을 바탕으로 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하여 적정 노드 수를 산출하는 단계를 포함하여 이루어질 수 있다. An E-beam cluster configuration method for computation lithography according to an embodiment models an E-beam cluster having N distributed nodes as a Discrete Event System Specification (DEVS) model. to do; and the number of distributed nodes that satisfy Turn Around Time (TAT) in a FIFO (First In First Out) environment, which is a load balancing method, using the modeled discrete event system specification (DEVS) model. Calculating the appropriate number of nodes by modeling the improved load balancing with a Discrete Event System Specification (DEVS) model based on the required time (TAT) according to the characteristics of the E-Beam operation and the characteristics of the number of output nodes can be done by

상기 적정 노드 수를 산출하는 단계는, 산출 노드 수에 따른 E-Beam 작업의 포화 코어점(saturation core point)을 분석하여 코어 모델(core model)을 설계함에 따라 상기 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하고, 상기 코어 모델을 통해 E-Beam 작업에 포화 코어점(saturation core point)을 바탕으로 적절한 산출 노드 수를 계산하고 할당할 수 있다. In the calculating of the appropriate number of nodes, the improved load balancing is performed by designing a core model by analyzing a saturation core point of the E-Beam operation according to the number of calculated nodes. It is modeled with a specification (DEVS) model, and through the core model, an appropriate number of calculation nodes can be calculated and assigned to an E-Beam task based on a saturation core point.

상기 적정 노드 수를 산출하는 단계는, 밀도(density)와 독립적으로 특정 산출 노드 수 이상부터 할당 수가 증가하더라도 소요시간(TAT)이 특정 크기 이상으로 변하지 않는 포화 코어점(saturation core point)을 찾는 단계; 상기 산출 리소그래피를 위한 E-Beam 클러스터를 구성할 경우, 포화 코어점(saturation core point)보다 규모가 적은 클러스터에서는 FIFO 형태의 로드밸런싱을 사용하여 동작하는 단계; 및 상기 포화 코어점(saturation core point)보다 규모가 큰 클러스터에서는 포화 코어(saturation core)를 바탕으로 모델링된 로드밸런서 형태의 로드밸런싱을 사용하여 동작하는 단계를 포함하여 이루어질 수 있다. The calculating of the appropriate number of nodes includes the steps of finding a saturation core point in which the required time (TAT) does not change by more than a specific size even if the number of allocations increases from a specific number of calculation nodes or more independently of density. ; When configuring the E-Beam cluster for the calculation lithography, operating using FIFO type load balancing in a cluster smaller than a saturation core point; and operating using load balancing in the form of a load balancer modeled based on a saturation core in a cluster larger than the saturation core point.

다른 실시예에 따른 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 장치는, N 개의 분산 노드(node)를 갖는 E-beam 클러스터를 이산사건 시스템 명세(Discrete Event System Specification, DEVS) 모델로 모델링하는 DEVS 모델링부; 및 모델링된 상기 이산사건 시스템 명세(DEVS) 모델을 활용하여, 로드밸런싱(load balancing) 방법인 FIFO(First In First Out) 환경에서의 소요시간(Turn Around Time, TAT)을 만족시키는 분산 노드 수를 산출하고, E-Beam 작업의 특성과 산출 노드 수의 특성에 따른 소요시간(TAT)을 바탕으로 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하여 적정 노드 수를 산출하는 적정 노드 수 산출부를 포함하여 이루어질 수 있다. An apparatus for configuring an E-Beam cluster for computation lithography according to another embodiment models an E-beam cluster having N distributed nodes as a Discrete Event System Specification (DEVS) model DEVS modeling unit; and the number of distributed nodes that satisfy Turn Around Time (TAT) in a FIFO (First In First Out) environment, which is a load balancing method, using the modeled discrete event system specification (DEVS) model. The appropriate number of nodes to calculate the appropriate number of nodes by modeling the improved load balancing with a Discrete Event System Specification (DEVS) model It may include a calculation unit.

상기 적정 노드 수 산출부는, 상기 산출 리소그래피를 위한 E-Beam 클러스터를 구성할 경우, 포화 코어점(saturation core point)보다 규모가 적은 클러스터에서는 FIFO 형태의 로드밸런싱을 사용하여 동작하고, 상기 포화 코어점(saturation core point)보다 규모가 큰 클러스터에서는 포화 코어(saturation core)를 바탕으로 모델링된 로드밸런서 형태의 로드밸런싱을 사용하여 동작할 수 있다. When the E-Beam cluster for the calculation lithography is configured, the appropriate number of nodes calculating unit operates by using FIFO-type load balancing in a cluster smaller than a saturation core point, and the saturated core point In a cluster larger than the saturation core point, it can operate using load balancing in the form of a load balancer modeled based on a saturation core.

상기 이산사건 시스템 명세(DEVS) 모델은, 상기 E-Beam 클러스터에서 작업이 생성되는 분포에 맞춰서 E-Beam 작업을 생성하는 생성부; 작업을 큐잉(queueing)하며 유휴 서버의 상태를 관측하고, 큐잉(queueing)된 작업을 적정 서버에 할당하는 로드밸런서(Load Balancer); 들어온 작업에 대해 실제 프로세싱(processing) 작업을 수행하는 서버; 및 종료된 작업을 수집하고, 상기 작업이 전체 할당 서버에서 작업이 종료된 경우 소요시간(TAT)을 포함하는 통계 정보를 수집하는 리포트부를 포함하여 이루어질 수 있다. The discrete event system specification (DEVS) model may include: a generator configured to generate an E-Beam task according to a distribution in which tasks are generated in the E-Beam cluster; A load balancer for queuing a job, observing the status of an idle server, and allocating the queued job to an appropriate server; a server that performs actual processing for the incoming job; and a report unit that collects completed tasks and collects statistical information including a required time (TAT) when the tasks are completed in all allocation servers.

실시예들에 따르면 최소 규모의 클러스터에서 최적의 산출 리소그래피를 가능하게 하는 클러스터를 구축하는, 산출 리소그래피를 위한 E-Beam 클러스터 구성 방법 및 장치를 제공할 수 있다.According to embodiments, it is possible to provide a method and apparatus for constructing an E-Beam cluster for computational lithography, which constructs a cluster that enables optimal computational lithography in a smallest cluster.

실시예들에 따르면 다양한 로드밸런싱 알고리즘을 이산사건 시스템 명세(DEVS)로 손쉽게 모델링하고 모듈화할 수 있고, 클러스터 규모에 따른 알고리즘의 검증을 수행할 수 있는, 산출 리소그래피를 위한 E-Beam 클러스터 구성 방법 및 장치를 제공할 수 있다. According to embodiments, various load balancing algorithms can be easily modeled and modularized as a discrete event system specification (DEVS), and an E-Beam cluster configuration method for computational lithography that can perform verification of the algorithm according to the cluster size, and device can be provided.

도 1은 일 실시예에 따른 E-Beam 클러스트의 특성을 반영한 DEVS 모델을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 FIFO 형태의 E-Beam 클러스터를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 E-Beam 데이터 밀도 파라미터(density Parameter)에 대한 TAT의 변화를 나타내는 그래프이다.
도 4는 일 실시예에 따른 산출 리소그래피를 위한 E-Beam 클러스터 구성 방법을 나타내는 흐름도이다.
도 5는 일 실시예에 따른 적정 노드 수를 산출하는 방법을 나타내는 흐름도이다.
도 6은 일 실시예에 따른 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 장치를 나타내는 블록도이다.
도 7은 일 실시예에 따른 DEVS 모델을 나타내는 블록도이다.
도 8은 일 실시예에 따른 시뮬레이션 결과를 나타내는 그래프이다.
도 9는 일 실시예에 따른 시뮬레이션 결과를 나타내는 그래프이다.
도 10은 일 실시예에 따른 로드밸런서가 TAT를 만족하는 환경에서 처리 가능한 최소 입력 간격(input interval)을 나타낸 그래프이다.
1 is a diagram for explaining a DEVS model reflecting characteristics of an E-Beam cluster according to an embodiment.
2 is a diagram for explaining an E-Beam cluster of a FIFO type according to an embodiment.
3 is a graph illustrating a change in TAT with respect to an E-Beam data density parameter according to an embodiment.
4 is a flowchart illustrating a method of constructing an E-Beam cluster for computational lithography according to an exemplary embodiment.
5 is a flowchart illustrating a method of calculating an appropriate number of nodes according to an embodiment.
6 is a block diagram illustrating an apparatus for configuring an E-Beam cluster for computation lithography according to an exemplary embodiment.
7 is a block diagram illustrating a DEVS model according to an embodiment.
8 is a graph illustrating a simulation result according to an exemplary embodiment.
9 is a graph illustrating a simulation result according to an exemplary embodiment.
10 is a graph illustrating a minimum input interval that can be processed in an environment where the load balancer satisfies TAT according to an embodiment.

이하, 첨부된 도면을 참조하여 실시예들을 설명한다. 그러나, 기술되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명되는 실시예들에 의하여 한정되는 것은 아니다. 또한, 여러 실시예들은 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.Hereinafter, embodiments will be described with reference to the accompanying drawings. However, the described embodiments may be modified in various other forms, and the scope of the present invention is not limited by the embodiments described below. In addition, various embodiments are provided in order to more completely explain the present invention to those of ordinary skill in the art. The shapes and sizes of elements in the drawings may be exaggerated for clearer description.

아래의 실시예들은 최소 규모의 클러스터에서 최적의 산출 리소그래피를 가능하게 하는 클러스터를 구축하는 기술을 제공한다. The examples below provide techniques for building clusters that enable optimal yield lithography in the smallest clusters.

먼저, N 개의 분산 노드(node)를 갖는 E-beam 클러스터를 이산사건 시스템 명세(Discrete Event System Specification, DEVS)로 모델링할 수 있다. 입력 모델(input model)을 위해서는 기존의 E-Beam 작업(Job)의 구성(configuration) 특성에 따른 산출 시간(computation time)을 수집할 수 있다. 그리고 이를 통해 측정된 분포를 바탕으로 경험적 모델(empirical model)을 만들고 입력 모델에 적용할 수 있다. 설계된 DEVS 모델을 활용하여, 먼저 기존의 로드밸런싱(load balancing) 방법인 FIFO(First In First Out) 환경에서의 소요시간(Turn Around Time, TAT)을 만족시키는 분산 노드(node) 수를 산출하며, E-Beam 작업의 특성과 산출 노드(computation node) 수의 특성에 따른 TAT를 바탕으로 기존 환경의 로드밸런스 방식의 문제를 분석할 수 있다. 그리고 이를 활용하여 개선된 로드밸런싱을 DEVS로 모델링하며, 기존의 구성(configuration)과 같은 환경에서 시뮬레이션 하여 적정 노드 수를 산출할 수 있다. 그 결과, 제안한 로드밸런싱 기법이 중 대규모의 클러스터에서 기존의 FIFO 정책에 비해서 최대 x4 처리량을 보임을 확인할 수 있다. 아래에서 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 방법 및 장치에 대해 보다 상세히 설명한다. First, an E-beam cluster having N distributed nodes can be modeled as a Discrete Event System Specification (DEVS). For an input model, a computation time according to a configuration characteristic of an existing E-Beam job may be collected. Then, based on the measured distribution, an empirical model can be created and applied to the input model. Using the designed DEVS model, first, the number of distributed nodes that satisfy the Turn Around Time (TAT) in the FIFO (First In First Out) environment, which is the existing load balancing method, is calculated. Based on the TAT according to the characteristics of the E-Beam operation and the characteristics of the number of computation nodes, the problem of the load balancing method of the existing environment can be analyzed. And using this, the improved load balancing is modeled with DEVS, and the appropriate number of nodes can be calculated by simulating it in the same environment as the existing configuration. As a result, it can be confirmed that the proposed load balancing technique shows maximum x4 throughput compared to the existing FIFO policy in medium and large-scale clusters. A method and apparatus for constructing an E-Beam cluster for computational lithography will be described in more detail below.

도 1은 일 실시예에 따른 E-Beam 클러스트의 특성을 반영한 DEVS 모델을 설명하기 위한 도면이다.1 is a diagram for explaining a DEVS model reflecting characteristics of an E-Beam cluster according to an embodiment.

도 1을 참조하면, 기존에 사용하는 E-Beam 클러스터 운영 형태를 모델링 하여 일 실시예에 따른 E-Beam 클러스트의 특성을 반영한 DEVS 모델(100)을 제안하고, 이에 E-Beam 클러스트의 특성을 반영한 DEVS 모델(100)을 바탕으로 새로운 형태의 DEVS 로드밸런싱 방식을 제안할 수 있다. 그리고 시뮬레이션을 통하여 개선된 형태의 관리 및 운영을 위한 로드밸런싱 방식을 제안할 수 있다.Referring to FIG. 1 , a DEVS model 100 reflecting the characteristics of the E-Beam cluster according to an embodiment is proposed by modeling the existing E-Beam cluster operation form, and the characteristics of the E-Beam cluster are reflected therein. A new type of DEVS load balancing method may be proposed based on the DEVS model 100 . And it is possible to propose a load balancing method for improved management and operation through simulation.

도 2는 일 실시예에 따른 FIFO 형태의 E-Beam 클러스터를 설명하기 위한 도면이다. 2 is a diagram for explaining an E-Beam cluster of a FIFO type according to an embodiment.

먼저, 레거시 모델(Legacy Model)에 대해 설명한다. First, a legacy model will be described.

기존에 사용되던 E-Beam 클러스터는, 도 2에 도시된 바와 같이, 중앙 배치 서버에 노광 작업이 들어오고, 중앙 배치 서버는 전체 작업 노드들이 유휴 상태가 되었을 때 하나씩 작업을 각각의 컴퓨팅 노드(computing node)(221, 222, 223)에 할당하여 병렬적으로 작업을 수행하게 한다. 각각의 컴퓨팅 노드(computing node)(221, 222, 223)에서 작업이 수행될 경우 각각 라이센스 비용과 하드웨어 리소스 비용이 발생하는 특징이 있다. 해당 아키텍처의 구성은 중앙 배치 서버에 있는 작업(Job)의 순서를 쉽게 파악하고, 시간을 쉽게 예측 가능하지만 불필요한 하드웨어 및 라이센스 비용이 발생하는 문제점이 있다.In the previously used E-Beam cluster, as shown in FIG. 2 , an exposure job comes into the central deployment server, and the central deployment server performs the job one by one when all the working nodes are in an idle state. node) (221, 222, 223) to perform tasks in parallel. When an operation is performed in each of the computing nodes 221 , 222 , and 223 , a license cost and a hardware resource cost are generated, respectively. In the configuration of the architecture, the order of jobs in the central deployment server can be easily determined and the time can be easily predicted, but there is a problem in that unnecessary hardware and license costs occur.

이러한 레거시 모델(Legacy Model) 모델은 전통적인 스케줄링 방식인 FIFO 형태로 모델링 가능하다. E-Beam 작업에 대하여 전체 컴퓨팅 노드(computing node)(221, 222, 223)가 유휴한 경우 전체 컴퓨팅 노드(computing node)(221, 222, 223)에 E-Beam 작업을 배당하여 작업을 수행하도록 하는 로드밸런싱 정책이다.Such a legacy model model can be modeled in the form of FIFO, which is a traditional scheduling method. For E-Beam work, when all computing nodes 221, 222, 223 are idle, E-Beam work is assigned to all computing nodes 221, 222, 223 to perform the work. load balancing policy.

아래에서 로드밸런스(LoadBalance) 정책에 대해 설명한다.The following describes the LoadBalance policy.

스케일 아웃된 분산 환경에서의 로드밸런서(LoadBalancer)는 확장성(scalability) 문제와 오버스펙(overspec) 문제가 항상 대두되며, E-Beam 클러스터 아키텍처에서는 해당 문제를 고려한 고려한 새로운 형태의 로드밸런서가 고려되어야 한다.A load balancer in a scaled-out distributed environment always has scalability and overspec issues, and in the E-Beam cluster architecture, a new type of load balancer that considers these issues should be considered. do.

먼저, 로드밸런스의 확장성(scalability) 문제에 대해 설명한다. 대부분의 산출 작업량(computation workload)은 빠른 처리를 위해서 여러 컴퓨팅 노드(computing node)에 병렬 처리를 수행한다. 하지만 포화 코어점(saturation core point)로 인해서 컴퓨팅 노드(computing node) 수에 따라서 선형적(linear)으로 성능이 증가하지 못하며, 포화 코어점(saturation core point)에 도달하게 된다. E-Beam 작업 또한 산출 작업량으로써 같은 문제를 가지며, 포화 코어점(saturation core point) 이상의 산출 노드(computation node) 할당은 불필요한 컴퓨팅 리소스를 낭비시키는 문제를 발생시킨다.First, the scalability problem of the load balance will be described. Most computational workloads perform parallel processing on multiple computing nodes for fast processing. However, due to the saturation core point, the performance does not increase linearly according to the number of computing nodes, and the saturation core point is reached. E-Beam work also has the same problem as a computational workload, and allocation of computation nodes above a saturation core point causes a problem of wasting unnecessary computing resources.

다음으로, 로드밸런스의 오버스펙(overspec) 문제에 대해 설명한다. 로드밸런서가 비효과적으로 동작할 경우 아키텍처 설계자는 성능을 위해서 필요 이상의 하드웨어를 바탕으로 시스템을 설계하게 된다. 이 경우 사용자의 처리 응답 기대시간에 비해 빠른 응답을 주는 장점은 있지만 결과적으로 전체 시간 중 시스템의 사용 시간(usage time)이 매우 낮아지는 문제를 발생시키며, 이는 불필요한 비용을 발생시킨다.Next, the overspec problem of load balance will be described. If the load balancer operates ineffectively, the architecture designer will design the system based on more hardware than necessary for performance. In this case, there is an advantage of giving a faster response than the user's expected processing response time, but as a result, a problem occurs in that the usage time of the system is very low among the total time, which incurs unnecessary costs.

여기에서는 E-Beam 아키텍처 상에서 각각의 문제에 대하여 분석하고, 이를 통하여 스케일 아웃된 환경에서 효과적으로 리소스를 활용 가능한 해결책을 제안한다.Here, we analyze each problem on the E-Beam architecture and propose a solution that can effectively utilize resources in a scaled-out environment.

포화점(saturation point) 정책에 대해 설명한다. Describe the saturation point policy.

기존 E-Beam 클러스터의 동작을 분석해 보면 밀도(density)와는 독립적으로 특정 산출 노드(computation node) 수 이상부터는 할당 수가 증가하더라도 TAT 시간이 크게 변하지 않는 포화 코어점(saturation core point)를 찾을 수 있다. 이는 기존의 FIFO 정책으로 소프트웨어가 동작할 경우 포화 코어점(saturation core point) 이후부터 리소스 대비 컴퓨팅 성능이 감소하게 되며 한 개의 라이센스에서 계산 가능한 총 데이터 양이 고정되는 것을 의미한다. 이는 결과적으로 추가 라이센스 및 하드웨어의 구매에 따른 비용 증가로 이어진다.By analyzing the operation of the existing E-Beam cluster, it is possible to find a saturation core point in which the TAT time does not change significantly even if the number of allocations increases beyond a specific number of computation nodes, independent of the density. This means that when the software operates with the existing FIFO policy, the computing power versus resources decreases after the saturation core point, and the total amount of data that can be calculated from one license is fixed. This in turn leads to increased costs associated with the purchase of additional licenses and hardware.

이러한 문제를 개선하기 위해서, 본 실시예에서는 산출 노드(computation node) 수에 따른 E-Beam 작업의 포화 코어점(saturation core point)을 분석하고, 이를 바탕으로 코어 모델(core model)을 설계할 수 있다. 코어 모델은 E-Beam 작업에 포화 코어점(saturation core point)을 바탕으로 적절한 산출 노드(computation node) 수를 계산하고 할당해 줌으로써 E-Beam 작업에 불필요한 컴퓨팅 자원을 할당하는 것을 방지할 수 있다.In order to improve this problem, in this embodiment, the saturation core point of the E-Beam operation according to the number of computation nodes is analyzed, and a core model can be designed based on this. have. The core model can prevent allocating unnecessary computing resources to the E-Beam task by calculating and allocating the appropriate number of computation nodes based on the saturation core point for the E-Beam task.

임무개시 시간(mission time) 정책에 대해 설명한다.Describes the mission time policy.

포화 코어점(saturation core point)을 바탕으로 E-Beam 작업에 산출 노드(computation node)를 할당할 경우, E-Beam 작업의 특성에 상관 없이 최대한 빠르게 끝나도록 동작할 수 있다. 하지만 이는 성능 관점에서 볼 때의 최적의 모델이며, 비용 관점에서 볼 때 사용자의 요구 사항 이상으로의 오버스펙(overspec)일 가능성이 존재한다. 적절한 하드웨어 및 소프트웨어의 리소스 비용은 실제 사용자의 요구사항에 최적화된 비용으로 결정되어야 한다. 하지만 해당 모델의 실제 사용자의 요구사항이 반영되지 않아서 필요 이상의 성능으로 클러스터가 구성되었을 가능성이 높으며, 이는 불필요한 라이센스 및 하드웨어 비용을 발생시킨다.When a computation node is assigned to an E-Beam task based on a saturation core point, the operation can be completed as quickly as possible regardless of the characteristics of the E-Beam task. However, this is an optimal model from a performance point of view, and there is a possibility that it is an overspec that exceeds the user's requirements from a cost point of view. The resource cost of appropriate hardware and software should be determined at a cost that is optimized for actual user requirements. However, it is highly probable that the cluster is configured with more performance than necessary because the requirements of actual users of the model are not reflected, which incurs unnecessary license and hardware costs.

실제 현업에서 노광 소프트웨어를 사용하는 사용자는 해당 작업이 마무리 되기를 원하는 마감시간(deadline)을 가지고 있으며 관련 자료에 따르면 업계 표준 마감시간은 3~4시간으로 알려졌다. 작업이 요청되어서 완료될 때까지 걸리는 시간을TAT(Turn Around Time)이라 하며, TAT 시간이 마감시간에 최대한 근접하도록 작업에 산출 노드(computation node)를 할당해 줄 때가 사용자의 요구 사항까지 고려한 최적의 산출 노드(computation node) 수의 할당이라 할 수 있다.In practice, users who use exposure software in the field have a deadline that they want their work to be completed, and according to related data, the industry standard deadline is known to be 3-4 hours. The time it takes from requesting a task to completion is called TAT (Turn Around Time), and when allocating a computation node to a task so that the TAT time is as close to the deadline as possible, the optimal time considering the user's requirements is It can be called the allocation of the number of computation nodes.

도 3은 일 실시예에 따른 E-Beam 데이터 밀도 파라미터(density Parameter)에 대한 TAT의 변화를 나타내는 그래프이다. 3 is a graph illustrating a change in TAT with respect to an E-Beam data density parameter according to an embodiment.

도 3을 참조하면, 실제(Real) 시스템에서 E-Beam 데이터 밀도 파라미터(density Parameter)에 대한 TAT의 변화를 나타낸 그래프를 나타내며, 310은 밀도(density)가 5이고, 320은 밀도(density)가 10이며, 330은 밀도(density)가 5이다. Referring to FIG. 3, a graph showing the change in TAT with respect to the E-Beam data density parameter in the real system is shown, 310 is a density of 5, and 320 is a density 10, and 330 is a density of 5.

그래프를 보면 코어 수가 증가할수록 TAT가 감소하고 600 코어 이상에서는 TAT가 유지된다. 즉, E-Beam 데이터의 포화 코어점(saturation core point)는 600이다. 또한, 특정 코어 구간에서 밀도(density)의 양에 따라 TAT가 비례하여 증가한다. 따라서 TAT는 코어 수와 밀도(density)에 따라서 결정되는 함수로 모델링 할 수 있다. 그리고 밀도(density)에 상관없이 코어의 수에 따라 그래프가 로그 형태의 경향성을 보인다. 이는 밀도(density)와 코어가 TAT에 대하여 서로 독립적인 변수로 모델링 가능함을 나타낸다. 앞서 기술한 그래프적 특성을 이용하여 코어와 밀도(density)를 수식적으로 모델링하면 다음과 같이 나타낼 수 있다.Looking at the graph, the TAT decreases as the number of cores increases, and the TAT is maintained above 600 cores. That is, the saturation core point of the E-Beam data is 600. In addition, the TAT is proportionally increased according to the amount of density in a specific core section. Therefore, TAT can be modeled as a function determined according to the number of cores and density. And regardless of the density, the graph shows a logarithmic trend according to the number of cores. This indicates that density and core can be modeled as independent variables for TAT. If the core and density are mathematically modeled using the aforementioned graphical characteristics, it can be expressed as follows.

먼저, 코어 모델(Core Model)을 다음 식과 같이 나타낼 수 있다. First, the core model can be expressed as the following equation.

Figure 112020021844397-pat00001
Figure 112020021844397-pat00001

또한, 밀도 모델(Density Model)을 다음 식과 같이 나타낼 수 있다. In addition, the density model can be expressed as the following equation.

Density Model = 0.000633 x Density 2 + 0.0225 x Density + 0.804 Density Model = 0.000633 x Density 2 + 0.0225 x Density + 0.804

TAT 모델(TAT Model)을 다음 식과 같이 나타낼 수 있다. The TAT model can be expressed as the following equation.

TAT Model = Core Model(core) x Density Model(density) TAT Model = Core Model ( core ) x Density Model ( density )

TAT의 수식적 모델과 실제 데이터를 경험적(Empirical)으로 모델링하여 TAT의 상관관계(correlation)를 구해보면 평균 0.9982의 높은 상관관계를 보인다. 따라서 본 모델에서는 시뮬레이션의 시간을 개선하기 위해서 경험적(Empirical) 모델을 대신하여 TAT 수식적 모델을 사용할 수 있다.When the correlation of TAT is obtained by empirically modeling the mathematical model of TAT and actual data, it shows a high correlation of 0.9982 on average. Therefore, in this model, the TAT mathematical model can be used instead of the empirical model to improve the simulation time.

밀도(density)와 TAT는 E-Beam의 입력(input)과 사용자의 요구사항에 의해서 결정되므로 이를 활용하여 적정 산출 노드(computation node) 수를 구할 수 있으며, 해당 값을 로드밸런싱에 적용 가능하다.Since density and TAT are determined by the input of E-Beam and user requirements, it is possible to obtain the appropriate number of computation nodes by using them, and the corresponding values can be applied to load balancing.

도 4는 일 실시예에 따른 산출 리소그래피를 위한 E-Beam 클러스터 구성 방법을 나타내는 흐름도이다. 또한, 도 5는 일 실시예에 따른 적정 노드 수를 산출하는 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a method of constructing an E-Beam cluster for computational lithography according to an exemplary embodiment. 5 is a flowchart illustrating a method of calculating an appropriate number of nodes according to an exemplary embodiment.

도 4를 참조하면, 일 실시예에 따른 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 방법은, N 개의 분산 노드(node)를 갖는 E-beam 클러스터를 이산사건 시스템 명세(Discrete Event System Specification, DEVS) 모델로 모델링하는 단계(S110), 및 모델링된 이산사건 시스템 명세(DEVS) 모델을 활용하여, 로드밸런싱(load balancing) 방법인 FIFO(First In First Out) 환경에서의 소요시간(Turn Around Time, TAT)을 만족시키는 분산 노드 수를 산출하고, E-Beam 작업의 특성과 산출 노드 수의 특성에 따른 소요시간(TAT)을 바탕으로 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하여 적정 노드 수를 산출하는 단계(S120)를 포함하여 이루어질 수 있다. Referring to FIG. 4 , in the method of configuring an E-Beam cluster for computation lithography according to an embodiment, an E-beam cluster having N distributed nodes is configured in a Discrete Event System Specification (Discrete Event System Specification). , DEVS) model step (S110), and using the modeled discrete event system specification (DEVS) model, it takes time (Turn Around) in a FIFO (First In First Out) environment, which is a load balancing method Calculates the number of distributed nodes that satisfy Time, TAT) and uses the improved load balancing as a discrete event system specification (DEVS) model based on the required time (TAT) according to the characteristics of the E-Beam operation and the number of output nodes. Modeling may include calculating the appropriate number of nodes (S120).

도 5를 참조하면, 적정 노드 수를 산출하는 단계(S120)는, 밀도(density)와 독립적으로 특정 산출 노드 수 이상부터 할당 수가 증가하더라도 소요시간(TAT)이 특정 크기 이상으로 변하지 않는 포화 코어점(saturation core point)을 찾는 단계(S121), 산출 리소그래피를 위한 E-Beam 클러스터를 구성할 경우, 포화 코어점(saturation core point)보다 규모가 적은 클러스터에서는 FIFO 형태의 로드밸런싱을 사용하여 동작하는 단계(S122), 및 포화 코어점(saturation core point)보다 규모가 큰 클러스터에서는 포화 코어(saturation core)를 바탕으로 모델링된 로드밸런서 형태의 로드밸런싱을 사용하여 동작하는 단계(S123)를 포함하여 이루어질 수 있다. Referring to FIG. 5 , the step of calculating the appropriate number of nodes ( S120 ) is a saturated core point in which the required time (TAT) does not change to a specific size or more, even if the number of allocations increases from a specific number of calculation nodes or more independently of density. Step of finding (saturation core point) (S121), in the case of configuring an E-Beam cluster for computational lithography, a step of operating using FIFO type load balancing in a cluster smaller than the saturation core point (S122), and in a cluster larger than the saturation core point, the operation using load balancing in the form of a load balancer modeled based on the saturation core (S123). have.

일 실시예에 따른 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 방법의 각 단계를 아래에서 보다 상세히 설명한다. Each step of the method of constructing an E-Beam cluster for computation lithography according to an embodiment will be described in more detail below.

도 6은 일 실시예에 따른 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 장치를 나타내는 블록도이다. 6 is a block diagram illustrating an apparatus for configuring an E-Beam cluster for computation lithography according to an exemplary embodiment.

도 6을 참조하면, 일 실시예에 따른 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 장치(600)는 DEVS 모델링부(610) 및 적정 노드 수 산출부(620)를 포함하여 이루어질 수 있다. Referring to FIG. 6 , an apparatus 600 for configuring an E-Beam cluster for computation lithography according to an embodiment may include a DEVS modeling unit 610 and an appropriate number of nodes calculating unit 620 . .

단계(S110)에서, DEVS 모델링부(610)는 N 개의 분산 노드(node)를 갖는 E-beam 클러스터를 이산사건 시스템 명세(Discrete Event System Specification, DEVS) 모델로 모델링할 수 있다. In step S110 , the DEVS modeling unit 610 may model the E-beam cluster having N distributed nodes as a Discrete Event System Specification (DEVS) model.

단계(S120)에서, 적정 노드 수 산출부(620)는 모델링된 이산사건 시스템 명세(DEVS) 모델을 활용하여, 로드밸런싱(load balancing) 방법인 FIFO(First In First Out) 환경에서의 소요시간(Turn Around Time, TAT)을 만족시키는 분산 노드 수를 산출하고, E-Beam 작업의 특성과 산출 노드 수의 특성에 따른 소요시간(TAT)을 바탕으로 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하여 적정 노드 수를 산출할 수 있다. In step S120, the appropriate number of nodes calculation unit 620 utilizes the modeled discrete event system specification (DEVS) model, and the required time in a FIFO (First In First Out) environment, which is a load balancing method ( Discrete Event System Specification (DEVS) calculates the number of distributed nodes that satisfy Turn Around Time (TAT) The appropriate number of nodes can be calculated by modeling with a model.

여기서, 적정 노드 수 산출부(620)는 산출 노드 수에 따른 E-Beam 작업의 포화 코어점(saturation core point)을 분석하여 코어 모델(core model)을 설계함에 따라 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하고, 코어 모델을 통해 E-Beam 작업에 포화 코어점(saturation core point)을 바탕으로 적절한 산출 노드 수를 계산하고 할당할 수 있다. Here, the appropriate number of nodes calculation unit 620 analyzes the saturation core point of the E-Beam task according to the number of calculated nodes to design a core model, thereby performing improved load balancing in the discrete event system. It is modeled with a specification (DEVS) model, and through the core model, an appropriate number of output nodes can be calculated and assigned based on the saturation core point for the E-Beam task.

보다 구체적으로, 단계(S121)에서, 적정 노드 수 산출부(620)는 밀도(density)와 독립적으로 특정 산출 노드 수 이상부터 할당 수가 증가하더라도 소요시간(TAT)이 특정 크기 이상으로 변하지 않는 포화 코어점(saturation core point)을 찾을 수 있다. 그리고, 단계(S122)에서, 적정 노드 수 산출부(620)는 산출 리소그래피를 위한 E-Beam 클러스터를 구성할 경우, 포화 코어점(saturation core point)보다 규모가 적은 클러스터에서는 FIFO 형태의 로드밸런싱을 사용하여 동작할 수 있다. 단계(S123)에서, 적정 노드 수 산출부(620)는 포화 코어점(saturation core point)보다 규모가 큰 클러스터에서는 포화 코어(saturation core)를 바탕으로 모델링된 로드밸런서 형태의 로드밸런싱을 사용하여 동작할 수 있다. More specifically, in step S121 , the appropriate number of nodes calculating unit 620 determines that the required time (TAT) does not change beyond a specific size even if the number of assignments increases from a specific number of calculation nodes or more independently of density. You can find the saturation core point. And, in step S122, when configuring the E-Beam cluster for calculation lithography, the appropriate number of nodes calculating unit 620 performs FIFO-type load balancing in a cluster smaller than the saturation core point. can be used to operate. In step S123, the appropriate number of nodes calculating unit 620 operates using load balancing in the form of a load balancer modeled based on a saturation core in a cluster larger than a saturation core point. can do.

도 7은 일 실시예에 따른 DEVS 모델을 나타내는 블록도이다. 7 is a block diagram illustrating a DEVS model according to an embodiment.

도 7을 참조하면, DEVS 모델(700)은 크게 4개의 구성요소(component)로 설계될 수 수 있다. 보다 구체적으로, DEVS 모델(700)은 생성부(Generator, 710), 로드밸런서(Load Balancer, 720), 서버(Server, 730) 및 리포트부(Report, 740)를 포함하여 이루어질 수 있다. Referring to FIG. 7 , the DEVS model 700 may be largely designed with four components. More specifically, the DEVS model 700 may include a generator 710 , a load balancer 720 , a server 730 , and a report 740 .

생성부(Generator, 710)는 E-Beam 클러스터에서 작업이 생성되는 분포에 맞춰서 E-Beam 작업을 생성할 수 있다. E-Beam 작업은 밀도(density)의 속성값을 포함할 수 있다. 밀도(density) 속성값은 가우시안(Gaussian) 분포를 따를 수 있다.The generator 710 may generate an E-Beam job according to a distribution in which a job is generated in the E-Beam cluster. The E-Beam operation may include an attribute value of density. The density attribute value may follow a Gaussian distribution.

로드밸런서(Load Balancer, 720)는 작업을 큐잉(queueing)하며 유휴 서버의 상태를 관측할 수 있다. 이후 큐잉(queueing)된 작업을 적정 서버에 할당하는 작업을 수행할 수 있다.The load balancer (Load Balancer, 720) queues the work and can observe the state of the idle server. Thereafter, the task of allocating the queued task to an appropriate server can be performed.

서버(Server, 730)는 들어온 작업에 대해서 실제 프로세싱(processing) 작업을 수행할 수 있다. 프로세싱 시간은 작업의 코어의 할당 수와 밀도(density)에 따른 가우시안(Gaussian) 분포를 따를 수 있다. 작업이 끝나 유휴 상태가 될 때 로드밸런서(Load Balancer)에 자신의 상태를 알릴 수 있다.The server (Server, 730) may perform actual processing (processing) work for the incoming task. The processing time may follow a Gaussian distribution according to the allocation number and density of cores of the task. When the task is finished and it becomes idle, it can notify the load balancer of its state.

리포트부(Report, 740)는 작업이 끝난 작업을 수집하고, 해당 작업이 전체 할당 서버에서 작업이 끝난 경우 소요시간(TAT), 대기 시간(Wait Time), Until Time 등의 통계 정보를 수집할 수 있다.The report unit (Report, 740) collects completed tasks, and when the tasks are completed in all assigned servers, statistical information such as TAT, Wait Time, Until Time, etc. can be collected. have.

도 8은 일 실시예에 따른 시뮬레이션 결과를 나타내는 그래프이다. 8 is a graph illustrating a simulation result according to an exemplary embodiment.

도 8을 참조하면, 3시간의 입력 간격(input interval)에서 코어(computation node) 수에 따라서 소요시간(TAT)이 어떻게 변하는지 보여주는 그래프이다. 여기서, 810은 디폴트(default)(FIFO) 정책에 500개의 코어를 할당한 클러스터이고, 820은 일 실시예에 따라 제안된 정책에 500개의 코어를 할당한 클러스터이며, 830은 일 실시예에 따라 제안된 정책에 1000개의 코어를 할당한 클러스터이다. 디폴트(default)(FIFO) 정책에 500개의 코어를 할당한 클러스터에서 3~4시간의 TAT를 만족한다. 하지만 제안된 정책은 500개의 코어를 할당한 클러스터에서 TAT가 지속적으로 증가한다. 이는 요청된 작업에 비해서 산출 노드(computation node)의 수가 부족하다는 의미이다. 제안된 정책에 코어 수를 1000개로 증가하여 같은 실험을 반복해보면 디폴트 정책의 500개 규모의 클러스터처럼 3~4시간의 TAT를 만족한다.Referring to FIG. 8 , it is a graph showing how the time required (TAT) changes according to the number of cores (computation nodes) in an input interval of 3 hours. Here, 810 is a cluster in which 500 cores are allocated to a default (FIFO) policy, 820 is a cluster in which 500 cores are allocated to a policy proposed according to an embodiment, and 830 is a cluster in which 500 cores are allocated to a policy proposed according to an embodiment. It is a cluster with 1000 cores allocated to the policy. In a cluster with 500 cores assigned to the default (FIFO) policy, a TAT of 3 to 4 hours is satisfied. However, the proposed policy continuously increases the TAT in a cluster that has allocated 500 cores. This means that the number of computation nodes is insufficient for the requested work. If the same experiment is repeated by increasing the number of cores to 1000 in the proposed policy, it satisfies the TAT of 3 to 4 hours like a cluster of 500 size in the default policy.

도 9는 일 실시예에 따른 시뮬레이션 결과를 나타내는 그래프이다. 9 is a graph illustrating a simulation result according to an exemplary embodiment.

도 9를 참조하면, 1.5시간의 입력 간격(input interval)에서 코어(computation node) 수에 따라서 소요시간(TAT)이 어떻게 변하는지 보여주는 그래프이다. 여기서, 910은 디폴트(FIFO) 정책에 1000개 규모의 클러스터이고, 920은 디폴트(FIFO) 정책에 1500개 규모의 클러스터이며, 930은 디폴트(FIFO) 정책에 2000개 규모의 클러스터이다. 또한, 940은 일 실시예에 따라 제안된 정책에 1000개 규모의 클러스터이고, 950은 일 실시예에 따라 제안된 정책에 1500개 규모의 클러스터이며, 960은 일 실시예에 따라 제안된 정책에 2000개 규모의 클러스터이다.Referring to FIG. 9 , it is a graph showing how the required time (TAT) changes according to the number of cores (computation nodes) in an input interval of 1.5 hours. Here, 910 is a cluster with a size of 1000 for a default (FIFO) policy, 920 is a cluster with a size of 1500 for a default (FIFO) policy, and 930 is a cluster with a size of 2000 for a default (FIFO) policy. Also, according to an embodiment, 940 is a cluster with a scale of 1000 in a proposed policy according to an embodiment, 950 is a cluster of a scale of 1500 in a proposed policy according to an embodiment, and 960 is a cluster of a scale of 2000 in a proposed policy according to an embodiment. It is a dog-sized cluster.

디폴트(FIFO) 정책에 1000, 1500 및 2000개 규모의 클러스터에서 TAT가 지속적으로 증가한다. 이는 디폴트 정책은 클러스터 규모를 확장하더라도 1.5시간의 입력 간격(input interval) 환경에서 목표 TAT를 절대로 달성하지 못함을 나타낸다. 반면에, 제안된 정책에서는 1500개 규모 이상의 클러스터에서 3~4시간의 TAT를 만족한다. 즉, 기존의 FIFO 정책으로 달성 불가능한 TAT 요구사항을 클러스터 규모를 확장하여 달성 가능하게 해준다. TAT continues to increase in clusters of 1000, 1500 and 2000 in default (FIFO) policy. This indicates that the default policy never achieves the target TAT in the 1.5 hour input interval environment even if the cluster size is expanded. On the other hand, the proposed policy satisfies the TAT of 3 to 4 hours in clusters of 1500 or more. In other words, it makes it possible to achieve TAT requirements that cannot be achieved with the existing FIFO policy by expanding the cluster size.

도 8 및 도 9의 결과에 도시된 바와 같이, 클러스터 규모와 입력 간격(input interval)에 따라 TAT를 만족하는 정책이 달라짐을 시뮬레이션을 통해서 확인할 수 있다. 따라서 코어 수와 정책에 따라서 TAT를 만족하는 최대 입력 간격(input interval)이 어떻게 바뀌는지 검증할 필요가 있다.As shown in the results of FIGS. 8 and 9 , it can be confirmed through simulation that the policy satisfying the TAT varies according to the cluster size and the input interval. Therefore, it is necessary to verify how the maximum input interval that satisfies the TAT is changed according to the number of cores and the policy.

도 10은 일 실시예에 따른 로드밸런서가 TAT를 만족하는 환경에서 처리 가능한 최소 입력 간격(input interval)을 나타낸 그래프이다.10 is a graph illustrating a minimum input interval that can be processed in an environment where a load balancer according to an embodiment satisfies TAT.

도 10을 참조하면, 코어 수가 증가함에 따라서 기존의 로드밸런서(default)와 일 실시예에 따른 제안된 로드밸런서(proposed)가 TAT를 만족하는 환경에서 처리 가능한 최소 입력 간격(input interval)을 나타낸 그래프이다. 여기서, default(1010)는 기존의 로드밸런서를 나타내고, proposed(1020)는 일 실시예에 따른 제안된 로드밸런서를 나타내며, hybrid(1030)는 default(1010) 정책 및 proposed(1020) 정책을 융합한 로드밸런서를 나타낸다.Referring to FIG. 10 , as the number of cores increases, an existing load balancer (default) and a proposed load balancer (proposed) according to an embodiment are a graph showing the minimum input interval that can be processed in an environment that satisfies the TAT am. Here, default (1010) represents an existing load balancer, proposed (1020) represents a proposed load balancer according to an embodiment, and hybrid (1030) is a fusion of the default (1010) policy and the proposed (1020) policy. Represents a load balancer.

디폴트의(1010) 경우 일 실시예에 따라 제안된 로드밸런서(proposed)(1020)에서 보다 500 코어에서 0.5 시간 정도 짧은 입력 간격(input interval)을 처리한다. 이는 E-Beam 클러스터의 포화 코어점(saturation core point)가 600개이기 때문이다. In the case of the default 1010, an input interval shorter by about 0.5 hours is processed in 500 cores than in the load balancer (proposed) 1020 proposed according to an embodiment. This is because the E-Beam cluster has 600 saturation core points.

따라서 600개 보다 작은 코어 수에서는 디폴트(1010) 정책처럼 최대한 많은 코어를 사용하여 컴퓨팅을 하는 것이 최적이다. 하지만 코어수가 증가하는 경우, 디폴트(1010) 정책은 포화 코어점(saturation core point) 인 600개 이상의 코어를 불필요하게 할당하게 된다. 그 결과, 입력 간격(input interval)이 개선되지 않고 2.2 시간으로 클러스터의 처리 가능한 입력 간격(input interval)이 수렴한다. 반면, 제안된 로드밸런서(proposed)(1020) 정책은 포화 코어점(saturation core point)와 mission deadline을 고려하여 적절한 코어를 배분한다. 따라서 코어 수가 많아 질수록 훨씬 더 효과적으로 E-Beam 작업을 계산가능하고 결과적으로 클러스터의 처리 가능한 입력 간격(input interval)이 감소하게 된다.Therefore, in the number of cores less than 600, it is optimal to perform computing using as many cores as possible as in the default (1010) policy. However, when the number of cores increases, the default 1010 policy unnecessarily allocates more than 600 cores, which are saturation core points. As a result, the input interval is not improved, and the processable input interval of the cluster converges to 2.2 hours. On the other hand, the proposed load balancer (proposed) 1020 policy allocates appropriate cores in consideration of a saturation core point and a mission deadline. Therefore, as the number of cores increases, it is possible to calculate the E-Beam task much more effectively, and as a result, the processing input interval of the cluster decreases.

하이브리드(hybrid)(1030) 정책은 위의 특성을 둘 다 반영한 정책이다. 포화 코어점(saturation core point)보다 작은 규모의 클러스터에서는 디폴트(1010) 정책으로 동작하고 포화 코어점(saturation core point) 이상의 규모의 클러스터에서는 제안된 로드밸런서(proposed)(1020) 정책으로 동작하는 로드밸런서를 모델링할 수 있다. 그 결과, 전체 클러스터 규모에 대하여 최소의 입력 간격(input interval)으로 로드밸런싱이 동작함을 그래프에서 확인 가능하다.A hybrid (1030) policy is a policy that reflects both of the above characteristics. In a cluster with a size smaller than the saturation core point, the default (1010) policy operates, and in a cluster with a size larger than the saturation core point, the load operating with the proposed load balancer (proposed) (1020) policy. You can model a balancer. As a result, it can be confirmed from the graph that load balancing operates with the minimum input interval for the entire cluster size.

따라서, 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터를 구성할 경우 포화 코어점(saturation core point)보다 적은 규모의 클러스터에서는 FIFO 형태의 로드밸런싱을 사용해야 하고, 클러스터의 규모가 포화 코어점(saturation core point)보다 큰 클러스터 규모에서는 포화 코어(saturation core)를 바탕으로 모델링된 제안된 로드밸런서(proposed) 형태의 로드밸런싱을 활용해야 비용 최적화를 달성할 수 있다.Therefore, when configuring an E-Beam cluster for computation lithography, FIFO-type load balancing must be used in a cluster smaller than the saturation core point, and the cluster size is larger than the saturation core point. At a cluster size larger than the core point), cost optimization can be achieved only by utilizing the load balancing of the proposed load balancer modeled on the basis of a saturation core.

이상과 같이, 산출 리소그래피 기술은 기존의 노광 장치를 활용하여 마스크 공정을 고도화 가능하게 해준다. 고가의 EUV 장치를 추가적으로 구매하는 것 이외에 기존의 노광 장치를 활용 가능하기 때문에 마스크 공정에서의 좋은 기술 대안이 될 수 있다. 산출 리소그래피를 위해서는 주로 하나의 중앙 로드밸런서와 수천 대의 컴퓨팅 노드(computing node)로 구성된 분산 아키텍처를 채택할 수 있다. 해당 아키텍처에서 각각의 산출 노드(computation node)는 동작을 지원하기 위해서 상용 툴(Tool)을 사용해야 한다. 따라서 관련 클러스터를 구축하기 위해서는 노드 수에 비례하는 하드웨어(HW) 비용뿐만 아니라 툴(Tool)을 위한 라이센스 비용이 발생한다. 이러한 비용 문제로 인하여 산출 리소그래피를 운영하는 팀에서는 최소 규모의 클러스터에서 최적의 산출 리소그래피를 가능하게 하는 클러스터를 구축해야 한다.As described above, the computational lithography technique makes it possible to advance the mask process by utilizing the existing exposure apparatus. In addition to purchasing an additional expensive EUV device, existing exposure devices can be utilized, so it can be a good technology alternative in the mask process. For computational lithography, a distributed architecture consisting mainly of one central load balancer and thousands of computing nodes can be adopted. In the architecture, each computation node must use a commercial tool to support the operation. Therefore, in order to build a related cluster, not only the hardware (HW) cost proportional to the number of nodes, but also the license cost for the tool occurs. Due to this cost problem, a team operating computational lithography must build a cluster that enables optimal computational lithography in the smallest cluster.

본 실시예에서는 해당 문제를 로드밸런싱을 위한 문제로 재정의 하고, DEVS 방법론을 이용하여 해당 시스템을 모델링 하였다. 그리고 실제 E-Beam 클러스터에서 사용되는 데이터들을 바탕으로 동작하는 모델 함수를 설계하였다. 이를 활용하면 다양한 패턴에서 발생하는 노드 할당 문제 및 스케줄링 문제를 실제 클러스터 구성없이 수 분 이내에 소프트웨어로 검증 가능하다. 또한, 다양한 로드밸런싱 알고리즘을 DEVS로 손쉽게 모델링하고 모듈화하여 클러스터 규모에 따른 알고리즘의 검증 또한 가능하도록 지원한다.In this embodiment, the problem is redefined as a problem for load balancing, and the system is modeled using the DEVS methodology. And we designed a model function that operates based on the data used in the actual E-Beam cluster. Using this, node allocation problems and scheduling problems that occur in various patterns can be verified with software within minutes without actual cluster configuration. In addition, various load balancing algorithms can be easily modeled with DEVS and modularized to enable verification of algorithms according to cluster size.

일 실시예에서 검증된 DEVS 모델을 활용하여 실제 업계에서 사용중인 E-beam 클러스터에 대한 비용 적절성 여부를 검증할 수 있고, 더욱 나아가 최적화된 형태의 클러스터 구성을 제안 가능하다. 이를 통해 반도체 산업계에서는 관련 클러스터 구성을 위해 발생하는 H/W, S/W 비용 절감을 통한 가격 경쟁력을 확보 가능하다.Using the DEVS model verified in an embodiment, it is possible to verify whether the cost is appropriate for the E-beam cluster being used in the actual industry, and furthermore, it is possible to propose an optimized cluster configuration. Through this, in the semiconductor industry, it is possible to secure price competitiveness by reducing H/W and S/W costs that occur for cluster configuration.

나아가 산출 리소그래피 분야뿐 아니라, 비슷한 형태의 분산 아키텍처를 구성하는 산업 분야에서도 본 실시예에서 검증된 DEVS 모델을 적용하여 시스템의 비용 적절성 여부를 검증하고, 최적화 가능하도록 지원 확장 가능하다.Furthermore, the DEVS model verified in this embodiment is applied not only in the field of computational lithography but also in the field of industry constituting a similar type of distributed architecture to verify whether the system is cost-effective or not, and the support can be extended to enable optimization.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. may be embodied in The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and carry out program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (6)

산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 방법에 있어서,
N 개의 분산 노드(node)를 갖는 E-beam 클러스터를 이산사건 시스템 명세(Discrete Event System Specification, DEVS) 모델로 모델링하는 단계; 및
모델링된 상기 이산사건 시스템 명세(DEVS) 모델을 활용하여, 로드밸런싱(load balancing) 방법인 FIFO(First In First Out) 환경에서의 소요시간(Turn Around Time, TAT)을 만족시키는 분산 노드 수를 산출하고, E-Beam 작업의 특성과 산출 노드 수의 특성에 따른 소요시간(TAT)을 바탕으로 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하여 적정 노드 수를 산출하는 단계
를 포함하고,
상기 적정 노드 수를 산출하는 단계는,
산출 노드 수에 따른 E-Beam 작업의 포화 코어점(saturation core point)을 분석하여 코어 모델(core model)을 설계함에 따라 상기 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하고, 상기 코어 모델을 통해 E-Beam 작업에 포화 코어점(saturation core point)을 바탕으로 적절한 산출 노드 수를 계산하고 할당하는 것으로,
밀도(density)와 독립적으로 특정 산출 노드 수 이상부터 할당 수가 증가하더라도 소요시간(TAT)이 특정 크기 이상으로 변하지 않는 포화 코어점(saturation core point)을 찾는 단계;
상기 산출 리소그래피를 위한 E-Beam 클러스터를 구성할 경우, 포화 코어점(saturation core point)보다 규모가 적은 클러스터에서는 FIFO 형태의 로드밸런싱을 사용하여 동작하는 단계; 및
상기 포화 코어점(saturation core point)보다 규모가 큰 클러스터에서는 포화 코어(saturation core)를 바탕으로 모델링된 로드밸런서 형태의 로드밸런싱을 사용하여 동작하는 단계
를 포함하는, 산출 리소그래피를 위한 E-Beam 클러스터 구성 방법.
A method for constructing an E-Beam cluster for computation lithography, the method comprising:
modeling an E-beam cluster having N distributed nodes with a Discrete Event System Specification (DEVS) model; and
Using the modeled Discrete Event System Specification (DEVS) model, the number of distributed nodes that satisfy Turn Around Time (TAT) in a FIFO (First In First Out) environment, which is a load balancing method, is calculated. and calculating the appropriate number of nodes by modeling the improved load balancing with the Discrete Event System Specification (DEVS) model based on the required time (TAT) according to the characteristics of the E-Beam task and the number of output nodes.
including,
Calculating the appropriate number of nodes comprises:
As a core model is designed by analyzing the saturation core point of the E-Beam task according to the number of output nodes, the improved load balancing is modeled as a discrete event system specification (DEVS) model, and the By calculating and assigning the appropriate number of output nodes based on the saturation core point to the E-Beam task through the core model,
finding a saturation core point in which the required time (TAT) does not change beyond a specific size even if the number of assignments increases from a specific number of output nodes or more independently of the density;
When configuring the E-Beam cluster for the calculation lithography, operating using FIFO type load balancing in a cluster smaller than a saturation core point; and
In a cluster larger than the saturation core point, operating using load balancing in the form of a load balancer modeled based on a saturation core
A method of constructing an E-Beam cluster for computational lithography, comprising:
삭제delete 삭제delete 산출 리소그래피(computation lithography)를 위한 E-Beam 클러스터 구성 장치에 있어서,
N 개의 분산 노드(node)를 갖는 E-beam 클러스터를 이산사건 시스템 명세(Discrete Event System Specification, DEVS) 모델로 모델링하는 DEVS 모델링부; 및
모델링된 상기 이산사건 시스템 명세(DEVS) 모델을 활용하여, 로드밸런싱(load balancing) 방법인 FIFO(First In First Out) 환경에서의 소요시간(Turn Around Time, TAT)을 만족시키는 분산 노드 수를 산출하고, E-Beam 작업의 특성과 산출 노드 수의 특성에 따른 소요시간(TAT)을 바탕으로 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하여 적정 노드 수를 산출하는 적정 노드 수 산출부
를 포함하고,
상기 적정 노드 수 산출부는,
산출 노드 수에 따른 E-Beam 작업의 포화 코어점(saturation core point)을 분석하여 코어 모델(core model)을 설계함에 따라 상기 개선된 로드밸런싱을 이산사건 시스템 명세(DEVS) 모델로 모델링하고, 상기 코어 모델을 통해 E-Beam 작업에 포화 코어점(saturation core point)을 바탕으로 적절한 산출 노드 수를 계산하고 할당하는 것으로,
밀도(density)와 독립적으로 특정 산출 노드 수 이상부터 할당 수가 증가하더라도 소요시간(TAT)이 특정 크기 이상으로 변하지 않는 포화 코어점(saturation core point)을 찾고, 상기 산출 리소그래피를 위한 E-Beam 클러스터를 구성할 경우, 포화 코어점(saturation core point)보다 규모가 적은 클러스터에서는 FIFO 형태의 로드밸런싱을 사용하여 동작하고, 상기 포화 코어점(saturation core point)보다 규모가 큰 클러스터에서는 포화 코어(saturation core)를 바탕으로 모델링된 로드밸런서 형태의 로드밸런싱을 사용하여 동작하는 것
을 특징으로 하는, 산출 리소그래피를 위한 E-Beam 클러스터 구성 장치.
An apparatus for constructing an E-Beam cluster for computation lithography, comprising:
DEVS modeling unit for modeling an E-beam cluster having N distributed nodes as a Discrete Event System Specification (DEVS) model; and
Using the modeled Discrete Event System Specification (DEVS) model, the number of distributed nodes that satisfy Turn Around Time (TAT) in a FIFO (First In First Out) environment, which is a load balancing method, is calculated. and calculate the appropriate number of nodes to calculate the appropriate number of nodes by modeling the improved load balancing with the Discrete Event System Specification (DEVS) model based on the required time (TAT) according to the characteristics of the E-Beam operation and the characteristics of the number of nodes to be calculated. wealth
including,
The appropriate number of nodes calculating unit,
As a core model is designed by analyzing the saturation core point of the E-Beam task according to the number of output nodes, the improved load balancing is modeled as a discrete event system specification (DEVS) model, and the By calculating and assigning the appropriate number of output nodes based on the saturation core point to the E-Beam task through the core model,
Independently of density, we find a saturation core point in which the required time (TAT) does not change beyond a certain size even if the number of assignments increases from a specific number of calculation nodes or more, and an E-Beam cluster for the calculation lithography is found. In the case of configuration, in a cluster smaller than the saturation core point, the FIFO type of load balancing is used, and in the cluster larger than the saturation core point, the saturation core (saturation core) Operating using load balancing in the form of a load balancer modeled based on
An apparatus for constructing an E-Beam cluster for output lithography, characterized in that
삭제delete 제4항에 있어서,
상기 이산사건 시스템 명세(DEVS) 모델은,
상기 E-Beam 클러스터에서 작업이 생성되는 분포에 맞춰서 E-Beam 작업을 생성하는 생성부;
작업을 큐잉(queueing)하며 유휴 서버의 상태를 관측하고, 큐잉(queueing)된 작업을 적정 서버에 할당하는 로드밸런서(Load Balancer);
들어온 작업에 대해 실제 프로세싱(processing) 작업을 수행하는 서버; 및
종료된 작업을 수집하고, 상기 작업이 전체 할당 서버에서 작업이 종료된 경우 소요시간(TAT)을 포함하는 통계 정보를 수집하는 리포트부
를 포함하는, 산출 리소그래피를 위한 E-Beam 클러스터 구성 장치.
5. The method of claim 4,
The Discrete Event System Specification (DEVS) model is
a generation unit that generates an E-Beam job according to a distribution in which jobs are generated in the E-Beam cluster;
A load balancer for queuing a job, observing the status of an idle server, and allocating the queued job to an appropriate server;
a server that performs actual processing for the incoming job; and
A report unit that collects completed tasks and collects statistical information including the required time (TAT) when the tasks are completed in all allocation servers
An apparatus for constructing an E-Beam cluster for output lithography, comprising:
KR1020200025775A 2020-03-02 2020-03-02 Method and apparatus for constructing e-beam cluster in computation lithography KR102322886B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200025775A KR102322886B1 (en) 2020-03-02 2020-03-02 Method and apparatus for constructing e-beam cluster in computation lithography

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200025775A KR102322886B1 (en) 2020-03-02 2020-03-02 Method and apparatus for constructing e-beam cluster in computation lithography

Publications (2)

Publication Number Publication Date
KR20210110925A KR20210110925A (en) 2021-09-10
KR102322886B1 true KR102322886B1 (en) 2021-11-05

Family

ID=77777223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200025775A KR102322886B1 (en) 2020-03-02 2020-03-02 Method and apparatus for constructing e-beam cluster in computation lithography

Country Status (1)

Country Link
KR (1) KR102322886B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013190828A (en) 2007-06-04 2013-09-26 Asml Netherlands Bv Method for performing model-based lithography guided layout design
US20140195993A1 (en) 2007-08-14 2014-07-10 Asml Netherlands B.V. Three-dimensional mask model for photolithography simulation
US20140208278A1 (en) 2008-11-10 2014-07-24 Asml Netherlands B.V. Pattern selection for lithographic model calibration

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL2008311A (en) * 2011-04-04 2012-10-08 Asml Netherlands Bv Integration of lithography apparatus and mask optimization process with multiple patterning process.
FR2994749B1 (en) 2012-08-24 2015-07-24 Commissariat Energie Atomique METHOD FOR PREPARING A PRINTING PATTERN ON PLATE OR MASK BY ELECTRON BEAM LITHOGRAPHY, PRINTED CIRCUIT DESIGN SYSTEM AND CORRESPONDING COMPUTER PROGRAM.

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013190828A (en) 2007-06-04 2013-09-26 Asml Netherlands Bv Method for performing model-based lithography guided layout design
US20140195993A1 (en) 2007-08-14 2014-07-10 Asml Netherlands B.V. Three-dimensional mask model for photolithography simulation
US20140208278A1 (en) 2008-11-10 2014-07-24 Asml Netherlands B.V. Pattern selection for lithographic model calibration

Also Published As

Publication number Publication date
KR20210110925A (en) 2021-09-10

Similar Documents

Publication Publication Date Title
JP4129988B2 (en) How to provision resources
Chowdhury et al. Implementation and performance analysis of various VM placement strategies in CloudSim
Aziza et al. Bi-objective decision support system for task-scheduling based on genetic algorithm in cloud computing
Copil et al. Multi-level elasticity control of cloud services
JP2012533808A (en) Method and system for job scheduling in a distributed data processing system using identification of optimal network topology
US20230115165A1 (en) Quantum circuit synthesis using csp
CN111177984B (en) Resource utilization of heterogeneous computing units in electronic design automation
US11281988B1 (en) Re-generation of a gate-level quantum circuit based on gate-level analysis
Subashini et al. Comparison of multi-objective evolutionary approaches for task scheduling in distributed computing systems
JP6107801B2 (en) Information processing apparatus, information processing system, task processing method, and program
US10579764B2 (en) Co-modeling post-lithography critical dimensions and post-etch critical dimensions with multi-task neural networks
KR20200114233A (en) Apparatus and Method of managing Mobile device memory for analyzing a user utilization pattern by a neural network algorithm to predict a next application
Khazaei et al. Performance modeling of microservice platforms
Ruiz-Alvarez et al. Toward optimal resource provisioning for cloud mapreduce and hybrid cloud applications
Lin et al. Capacity optimization for resource pooling in virtualized data centers with composable systems
JP6796994B2 (en) Information processing system
Goudarzi et al. Design of a universal logic block for fault-tolerant realization of any logic operation in trapped-ion quantum circuits
US20230112525A1 (en) Provisioning fucntional-level information to be utilized in gate-level processing of quantum circuits
KR102322886B1 (en) Method and apparatus for constructing e-beam cluster in computation lithography
Nguyen et al. Maximizing the serviceability of partially reconfigurable fpga systems in multi-tenant environment
Carrusca et al. Microservices management on cloud/edge environments
US8127259B2 (en) Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium
JP2010500692A (en) Multiprocessor architecture with hierarchical processor structure
Sanchez-Ramirez et al. Rosnet: A block tensor algebra library for out-of-core quantum computing simulation
US20230111924A1 (en) Functional-level processing component for quantum computers

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant