Parallel Strategies for Nonlinear Mask Optimization in Semiconductor Lithography
Available from dl.dropbox.com
Page 1
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
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
c©2010
Aron Jamil Ahmadia
All Rights Reserved
Aron Jamil Ahmadia
All Rights Reserved
Page 3
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.
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
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
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
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
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
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
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!
Readership Statistics
3 Readers on Mendeley
by Discipline
67% Mathematics
33% Engineering
by Academic Status
67% Ph.D. Student
33% Researcher (at an Academic Institution)
by Country
67% Saudi Arabia
33% United States


