Sign up & Download
Sign in

Parallel Strategies for Nonlinear Mask Optimization in Semiconductor Lithography

by Aron Jamil Ahmadia
(2010)

Cite this document (BETA)

Available from dl.dropbox.com
Page 1
hidden

Parallel Strategies for Nonlinear Mask Optimization in Semiconductor Lithography

Parallel Strategies for Nonlinear Mask
Optimization in Semiconductor Lithography
Aron Jamil Ahmadia
Submitted in partial fulfillment of the
requirements for the degree
of Doctor of Philosophy
in the Graduate School of Arts and Sciences
COLUMBIA UNIVERSITY
2010
Page 2
hidden
c©2010
Aron Jamil Ahmadia
All Rights Reserved
Page 3
hidden
ABSTRACT
Parallel Strategies for Nonlinear Mask
Optimization in Semiconductor Lithography
Aron Jamil Ahmadia
We develop a parallel branch-and-bound method for a nonconvex optimization problem aris-
ing in semiconductor lithography. After describing the lithography printing problem and
its physical background, we motivate the posing of the optimization problem as a search
over the surface of a sphere in high dimension. Previous work on this problem and simi-
lar challenges is surveyed. We explore several naive methods for parallel optimization as
well as a mixed-integer quadratic program. As an original contribution, we develop a se-
rial branch-and- bound implementation that achieves five orders of magnitude performance
improvement over commercial solvers. We then describe an implementation of a paral-
lel branch-and-bound method using novel bounding and branching strategies and provide
computational results on the IBM BlueGene/P supercomputer architecture, showing strong
scaling to 80% efficiency on up to 4096 processors.
Page 4
hidden
Table of Contents
1 Introduction 1
2 Motivation 4
2.1 The Rise of Computational Lithography . . . . . . . . . . . . . . . . . . . . 4
2.2 Mathematical Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Global Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Convex Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3 Mixed Integer Quadratic Programs . . . . . . . . . . . . . . . . . . . 9
2.2.4 Optimization Software . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Global Mask Optimization in Simultaneous Source-Mask Design . . . . . . 10
2.4 Equal Area Sphere Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 High Performance Computing . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Hypersphere Work 24
3.1 High Performance Sampling of the Sphere . . . . . . . . . . . . . . . . . . . 24
3.2 A Memory-Efficient Tree Storage Scheme . . . . . . . . . . . . . . . . . . . 25
3.3 Parallel Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.1 A Natural Extension of Leopardi’s Algorithm . . . . . . . . . . . . . 27
3.3.2 Vertex-Based Adaptive Sampling . . . . . . . . . . . . . . . . . . . . 28
3.3.3 Region-Based Adaptive Sampling . . . . . . . . . . . . . . . . . . . . 31
3.4 Memoization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
i
Page 5
hidden
4 Theoretical Results 37
4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Hardness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3 Convex Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3.1 p-space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.2 Local Unenclosed Vector Problem . . . . . . . . . . . . . . . . . . . 41
4.3.3 Digging Unenclosed Vector Problem . . . . . . . . . . . . . . . . . . 41
4.3.4 Relaxed Local Unenclosed Vector Problem . . . . . . . . . . . . . . . 43
4.4 Combinatorial Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4.1 Mixed Integer Quadratic Programs . . . . . . . . . . . . . . . . . . . 44
4.4.2 Spherical Branch and Bound . . . . . . . . . . . . . . . . . . . . . . 44
5 Implementation and Performance 63
5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2 Trial Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3 CPLEX Mixed Integer Quadratic Program Implementation . . . . . . . . . 64
5.4 MATLAB Branch-and-Bound Prototype Implementation . . . . . . . . . . . 65
5.5 Spatial Branch-and-Bound Analysis . . . . . . . . . . . . . . . . . . . . . . 66
5.6 High Performance Scalable Branch-and-Conquer . . . . . . . . . . . . . . . 67
5.6.1 The Path to High Performance . . . . . . . . . . . . . . . . . . . . . 67
5.6.2 Serial Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.6.3 The Path to Scalability . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.6.4 Parallel Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6 Conclusion and Future Work 74
Bibliography 75
A Notation 82
ii
Page 47
hidden
CHAPTER 3. HYPERSPHERE WORK 36
Processor X
Vertex Assignee
Processor Y
Overlay 1 Manager
Processor Z
Overlay II Manager
Processor X
Vertex Assignee
Processor Y
Overlay 1 Manager
Processor Z
Overlay II Manager
Overlay Vertex Caching
Highest-Overlay
OverlayVertex
Exists?
Yes
No
OverlayVertex
Exists?
Yes
No
OverlayVertex
Exists?
Yes
No
OverlaidVertexFactory()
ManageOverlayRequest()
CheckOverlayResponses()
OverlayVertexFactory()
Overlay Request
Observer Response
Observed Response
Figure 3.4: Distributed Overlay Management

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

3 Readers on Mendeley
by Discipline
 
 
by Academic Status
 
67% Ph.D. Student
 
33% Researcher (at an Academic Institution)
by Country
 
67% Saudi Arabia
 
33% United States