3.2.1 Client-Server Approaches
Next: 3.3 Object-Orientedness
Up: 3.2 Application Procedural Interface
Previous: 3.2 Application Procedural Interface
Fig. 3.3 shows the conceptual view of a client-server approach. The
client application connects to a server via a procedural interface and does
all data access and manipulation queries through calls to procedural interface
routines. The server internal data structures are totally opaque to the
application. In fact, concentrating on a standardization of the procedural
interface definition allows different server implementations to be made with
different internals and thus varying performance when applied to certain
TCAD problems. So, one server might perform well when confronted with
unstructured grid manipulation, while another server might exceed in complex
geometry operations.
Figure 3.3: Conceptual view of the client-server approach
A recent client-server approach is the SWR 1.0 specification of the CFI/TCAD TSC [Yang94][SWRI92][SWRD92][Boni92a], defining an object-oriented
application interface for TCAD data access. The Semiconductor
Engineer's Workbench (SEWB) [Dutt93] from Stanford University uses
this client-server specification together with the ACIS solid
modeller for geometry
manipulation. Visualization is done through the HDF-VSET visualization
format [Bish92] using the AVS scientific visualizer
[Upso89][Star91].
Although the client-server approach looks intriguing, there are major
conceptual drawbacks involved in its design:
- Standardizing a procedural interface is dangerous for all TCAD tools
which are not explicitly designed to work with this interface, since the
interface specification has to define which data structures are to be and how
they are used in communicating with the server. If those applications are
forced to use the conceptually different (because often object-oriented) data
structures of the server procedural interface, considerable effort has to be
undertaken to write interface modules for application-internal translation of
these data structures, often resulting in severe performance and storage
consumption drawbacks. Therefore most implementations are going to isolate
those applications through a wrapper - again an approach which is not
necessarily desirable, as already discussed in Section 2.1.1.
- It is questionable, if a true client-server architecture using the
network will exhibit the required performance in a TCAD environment, since
large data amounts like grids, attributes or solver stiffness matrices
(especially in 3D) have to be communicated between client and server.
Although mapping client memory into the server substantially improves
performance, this approach is neither portable nor does it work over the
network.
Next: 3.3 Object-Orientedness
Up: 3.2 Application Procedural Interface
Previous: 3.2 Application Procedural Interface
Martin Stiftinger
Tue Nov 29 19:41:50 MET 1994