Experimental Results - MEBES Clip Extraction
Now let's run some experiments to get a feel for the clip rates. The first step will be to create a suitable MEBES file.
Synthesized MEBES File
We synthesized a large MEBES file that has the following properties:
Pattern File Size: 82 GB
The Job Deck
We created a very simple job deck to place this chip into the center of a reticle. While this is not absolutely necessary, it seems a reasonable thing to do in order to more accurately model the data a customer might have on hand.
SLICE PRIMARY,17 * MEBES JOBDECK for EXPERIMENT CLIP EXTRACTION * 2016/08/03 RETICLE *SCALE 0.0050000000000,1 *OPTION M CHIP 003,(3,001A010-P0-02,AD=0.01,SF=1.0) ROWS 75000,1,0/75000,1,0 END
Clip Experiment 1: Bottom Row
In this experiment we created a list of 1000 25x25 um clips running across the bottom of the active area. We chose this arrangement of clips because we know that this will result in the minimum traversal of the MEBES data and thus will isolate the part of the program responsible for extracting polygons (and rasterizing them.)
Here is a snippet of the ascii file read by MBS2TIFF which defines the windows to extract:
CWH 25.000000 25.000000 <-- CWH indicates Center, Width (mode) and Height followed by the Width and Height in um 30012.500000 32762.500000 <-- Xc,Yc of first window. 30102.565065 32762.500000 <-- Xc,Yc of second window. 30192.630130 32762.500000 30282.695195 32762.500000 30372.760260 32762.500000 30462.825325 32762.500000 30552.890390 32762.500000 . . . 119807.369870 32762.500000 119897.434935 32762.500000 119987.500000 32762.500000 <-- Xc,Yc of 1000th window
The mbs2tiff log file reports the time for each individual window extraction and keeps a running total of elapsed time. It takes the form:
mbs2tiff: a MEBES to GDSII/TIFF/BITMAP conversion utility, v1.34 (rcs 1.151) 2 Aug, 2016 Copyright (c) 2005-2016 Artwork Conversion Software,Inc. (831)426-6163 firstname.lastname@example.org www.artwork.com Begin Job: Wed Aug 03 15:01:45 2016 Mebes job deck .\demomn9_2.jb opened successfully. Home Extents(llx lly urx ury) : 0 0 152400 152400 Adding Mebes ROI(Region Of Interest) window : 30000.000000 32750.000000 30025.000000 32775.000000. Adding Mebes ROI(Region Of Interest) window : 30090.065065 32750.000000 30115.065065 32775.000000. . . Extracted Window [1/1000] Window Extents: 30000.000 32750.000 30025.000 32775.000 ROI Process Time: 0h:0m:0.04s <-- note that this is 40 milliseconds. Total Elapsed Time: (00:00) (mm:ss) <-- until the sum of the times exceeds 0.5 sec the elapsed time will still show zero. Extracted Window [2/1000] Window Extents: 30090.065 32750.000 30115.065 32775.000 ROI Process Time: 0h:0m:0.03s Total Elapsed Time: (00:00) (mm:ss) . . . Extracted Window [560/1000] Window Extents: 80346.371 32750.000 80371.371 32775.000 ROI Process Time: 0h:0m:0.13s Total Elapsed Time: (00:57) (mm:ss) . . Extracted Window [976/1000] Window Extents: 117813.438 32750.000 117838.438 32775.000 ROI Process Time: 0h:0m:0.19s Total Elapsed Time: (01:39) (mm:ss) Extracted Window [977/1000] Window Extents: 117903.504 32750.000 117928.504 32775.000 ROI Process Time: 0h:0m:0.35s Total Elapsed Time: (01:39) (mm:ss) . . . Best Time: 0h:0m:0.00s [winidx:990] Worst Time: 0h:0m:0.35s [winidx:977] Average Time: 0.101 second per clip
Notes on Experiment 1
1. MEBES File Properties -- The MEBES file we synthesized uses mostly Manhattan trapezoids and makes use of repetition. We often see repetition in "real" MEBES data and wanted to include it now, so that any optimizations we make properly handle it.
2. Clip Output - TIFF. We output TIFF as our clip since this avoids the extra delay associated with Boolean operations on the extracted trapezoids. There are two distinct types of Boolean operations that can be implemented when producing GDSII clips: a) A clipping operation on a trapezoid by trapezoid basis and b) unionization of any touching trapezoids in the extraction window.
3. Disk I/O and OS Buffering - We are accessing an 80 GB MEBES pattern file many times. The operating system buffers disk IO but in a way that is not controlled by mbs2tiff. Further, in this experiment we are making many writes to disk to save small TIFF files.
4. Disk I/O Part II - we ran this using a mechanical hard disk where one can expect about a 100 MB/sec sustained transfer rate. Our customers will normally have their MEBES data stored on a much faster server disk array but if their workstation is connected to the server with a 1Gbps line, then 100 MB/sec is roughly the same transfer rate they can expect to achieve.
5. Hardware - these tests were run on an Intel email@example.comGHz, 16 GB installed RAM and a 1TB mechanical HDD spinning at 7200 RPM. The current model of mbs2tiff does not store the MEBES data in memory.
6. Based on the variations between individual window parameters (which appear to be at least 2:1 even for virtually identical and consecutive windows) we should not pay too much attention to those times because we believe that they vary due to quirks or hiccups in the OS. Instead we will focus on average times over a large number of windows.
The purpose of this experiment was to determine MBS2TIFF's maximum clip rate assuming:
Under these conditions we believe that the rate of 10 clips per second is possible for large MEBES files.