next up previous contents
Next: 3.2.3 Optimization Performance Up: 3.2 Optimization Procedure Previous: 3.2.1 Optimization Sequence

3.2.2 SIESTA as the Optimization Environment

The described optimization procedure requires a very flexible TCAD framework. This framework has to perform numerous different tasks: It has to control the simulation flow and the optimization loop, provide the file handling for the simulations, synchronize the simulation tools, have a general interface for defining the simulation flow, submit jobs to workstations, and allow for visualization and user interaction. SIESTA combines all these features, it has been developed especially for this kind of optimization task [55].

Fig. 3.9 shows how SIESTA works. The optimization control core is the central element which controls all the different actions. The actual optimization loop is defined in the evaluation network which gets the optimization parameters and additional auxiliary parameters from the optimization control core and returns the target and constraints after the evaluation.

Figure 3.9: How SIESTA works.
\resizebox{0.8\textwidth}{!}{
\includegraphics[width=0.8\textwidth]{../figures/optsetup-siesta.eps}}

The evaluation network contains several components, each for one specific simulation task. A simulation task consists of a simulation flow and a definition of its input/output interfaces. Additionally, several auxiliary tasks are available in SIESTA's model support, for example, models for arithmetic calculations, for curve file and vector manipulations, or for file copying purposes.

The evaluation network synchronizes its simulation task in a way that each task waits until all its input parameters are available from results of other tasks. Therefore, the sequence of simulation tasks is inherently set by their input-output matching, parallel execution is performed whenever possible.

The simulation jobs necessary for the evaluation network are submitted to the queue manager which has access to a host pool. The queue manager gets periodic load reports from all the workstations in the host pool and decides where to submit the jobs via remote shell (rsh). SIESTA has a powerful job farming system which considers different machine speeds and load limits [58].

SIESTA provides a graphical user interface for the queue status and workstation information (Fig. 3.10) showing all the available hosts and their load status. Furthermore, it lists the queued jobs and their working directory and command line arguments. The second part of the user interface (Fig. 3.11) views the optimization progress and shows the course of optimization parameters and the target and constraints.

Figure 3.10: The SIESTA graphical user interface for the queue status.
\begin{figure}
\begin{center}
\resizebox{0.7\textwidth}{!}{
\includegraphics[width=0.7\textwidth]{../figures/optsetup-qman.eps}}\end{center}\end{figure}

Figure 3.11: The SIESTA graphical user interface visualizing the optimization progress.
\begin{figure}
\begin{center}
\resizebox{\textwidth}{!}{
\includegraphics[width=\textwidth]{../figures/optsetup-optimize.eps}}
\end{center}\end{figure}


next up previous contents
Next: 3.2.3 Optimization Performance Up: 3.2 Optimization Procedure Previous: 3.2.1 Optimization Sequence
Michael Stockinger
2000-01-05