Patent ID: 7765076

Claim:
A method of utilizing computer-executable instructions for allocating processing units of a computer system to generate simulated diffraction signals in optical metrology, the computer system having a controller and a plurality of processing units, the controller configured to perform allocation of processing units, the method comprising: a) obtaining a first request for a first job to generate simulated diffraction signals using multiple processing units of the computer system; b) determining a first number of requested processing units for the first job to generate simulated diffraction signals; c) determining a first number of available processing units; d) when the first number of available processing units is non-zero, assigning the first number of available number of processing units or the first number of requested processing units to a first processing cluster of processing units; designating a first processing unit in the first processing cluster as a master node of the first processing cluster; and assigning the first job to the first processing cluster; e) obtaining a second request for a second job to generate simulated diffraction signals using multiple processing units; f) determining a second number of requested processing units for the second job to generate simulated diffraction signals; g) determining a second number of available processing units; and h) when the second number of available processing units is non-zero, assigning the second number of available number of processing units or the second number of requested processing units to a second processing cluster of processing units, wherein the first processing unit in the first processing cluster is one of the processing units in the second processing cluster; designating the first processing unit in the second processing cluster as a slave node of the second processing cluster; designating a second processing unit in the second processing cluster as a master node of the second processing cluster; and assigning the second job to the second processing cluster.