A System Architecture for Parallel Geometric Modelling

A System Architecture for Parallel Geometric Modelling

A System Architecture for Parallel Geometric Modelling F.-L. Krause (2). H. Hayka, M. Munke Received on January 15,1990 Methods to increase the perfor...

810KB Sizes 1 Downloads 55 Views

A System Architecture for Parallel Geometric Modelling F.-L. Krause (2). H. Hayka, M. Munke Received on January 15,1990 Methods to increase the performance of advanced CAD-Systems, especially of geometric modellers, by parallel processing are represented in this paper. First, the exploration of parallelism in geometric modellers and the organization of the parallel processing are shown. Apart from that, it is hinted at the great portion of time for accessing model data and handling its structure-information. In this context a functional unit for parallel handling of model accesses is sketched out. Finally, the hardware architecture is described. Key words: geometric modelling, parallel processing, model structuring, model access

1. Introduction Growing demands on the functionality and the user comfort of CAD-systems as well as on the complexity of design objects set higher requirements on the performance of CAD-computers. In the long run, the conventional computer architectures will not able to cope with these demands. CAD-processes in the field of design engineering are mainly concerned with geometry processing. For this purpose a system architecture for parallel geometric modelling, the geometry machine, is being developed (fig. 1 ) . Two basic approaches are pursued:

-

Parallel processing of geometry in a multi microprocessor system and displacement of algorithms for model structuring as well as for geometry operations in special hardware subsystems.

2 . Parallel Processing i n Solid Modellers

The process of solid modelling largely consists of the description and calculation of geometry as well as of storage access to the geometry information. The parallelism of these three processes is discussed in the following.

rations, a sequential computation tree can be transformed to a parallel one. The height of the computation tree corresponds to the number of steps to be carried out sequentially. The number of nodes on each tree level indicates the degree of parallelism. Lowering the height by increasing the width results in a stronger parallelization of the calculation of the model (fig. 2). Combination operations in solid modellers, especially intersection, are more time-comsuming compared to other modelling actions /l/. Therefore it is recommended to process these in parallel. The parallel processing of two different combination operations depends on the position and constellation of the geometric elements as well as the operation type itself. Basically three types of combination operations can be taken into consideration (fig. 3 ) . In the first case, the two objects do not influence each other, therefore, parallel processing is possible. In the second case, the computation can be executed in parallel, but the modification of the data base must be done sequentially. This ensures the consistency of the data structure. The third case

Fig. 2 : Parallel computation tree Fig. 1: System architecture of the geometry machine P8rallelism in Dependency of the Description Methods The most common description forms are:

-

graphic .interactive input, the use of a design language, - application interface.

-

In the last two points mentioned above, the formation of the object to be modelled is known prior to the geometry processing. During the graphic interactive definition of the object, it is also possible to first undertake the generation of the elements and then their combination to the desired object in order to derive the information pertaining to the formation of the object. This can be represented in form of a computation tree. By taking into account the dependencies between combination ope-

Annals of the ClRP Vol. 3 9 / l / l ~

shows a dependency also for the computation of the combination operation because the elements V2 and V3 intersect. This dependency would not appear by a union operation; in this case these operations can be done in parallel. During parallel processing, intermediate solids of increased geometry complexity emerge the following combination operations. Through parallel processing, the number of intermediate solids and the complexity of the objects to be combined is reduced. This enables an additional acceleration of the modelling process. Parallelism in Dependency of Modelling Methods Constructive Solid Geometry (CSG), Boundary Representation (B-REP) as well as approximative methods such as facette modelling and octree coding are the most commonly used methods for solid modelling. With the CSG-method, all objects are modelled by primiti-

157

ves which are combined by boolean operations. The BREP method represents the objects with their covering surfaces. During facette modelling bended surfaces are approximated by planes. In octree coding objects are represented as an enumeration of volume elements of the same topology.

Vi d4 Case 1 : Independentcombinalbnoperations

Levels of Parallel Processing

v i ; 3 Case 2 : Dependencyof combination operalionson pining of the results

I

If the first volume element has m and the second has n surfaces, thus m*n surfaces have to be compared for a possible penetration. This can be done in parallel for m*n times. One method of determinig an intersection curve of two surfaces is to divide a surface into k straight lines respectively k circles and to calculate the penetration points with the second surface; k is set to the empiric value 4 0 . A degree of parallelism is attained through k (fig.4). A high degree of parallelization on this level is not possible when determining intersection curves analytically. A detailed description of the parallelization of the B-Rep. method is given in / 3 1 .

v5 Case 3 : Deuendenw on comwtira of combinatwnouerations

Fig. 3: Parallelism of combination operations The determination of the parallel processing type depends on the method applied. In contrast to analytical methods, approximative methods are characterized by simple algorithms which however require a large database. However, the degree of complexity of the data structure is small. For these reasons, it seems obvious to attempt parallel computation through the decomposition of the data during these methods. Selected facette modelling algorithms such as the calculation of intersection lines of two planes can be realized by using microprogramable VLSI components with SIMD (single instruction multiple data) or pipeline structure. Within octree coding, objects are depicted computer-internally by an hierarchical tree structure. These objects are associated by using set theoretical operations to the elements of this tree structure. Using a suitable Storage structure, these operations can be reduced to simple hardware funL.'ims such as AND and OR. CSG and B-REP are characterized by manifold, more complex algorithms and complex data structures as well as the non-linear rise of time consumption with the complexity of the objects. In the following, the parallelism of 8-REP is described on the basis of the CAD system COMPAC 12/. According to the principal combination operation methods, the surfaces of a volume element are compared to those of another one in pairs concerning their potential penetration. Subsequently, the curves of intersection are calculated in the dependence on the surface type. Since surface limits are not taken into consideration during curve calculation, the curve points, which lay outside the actual penetration area, are removed during actualization. In the next steps, the intersecting surfaces are divided and the remaining areas deleted according to the Combination type. FS

F4

One approach of parallelization of a given problem is to divide it into sub-tasks, to determine the interfaces in between and to minimize dependencies in order to achieve a higher degree of parallelism. Dividing the problem can be done by selecting different granulation. This indicates the precision of the division. For granulation selection, the structural characteristics of the algorithm as well as the architecture of the parallel processor system are taken into consideration. For an effective parallel processing the parallel portion of an algorithm must be very large compared to the sequential portion (Amdahl's Law). Furthermore, the organization overhead must remain very small compared with the proper processing time. For an optimal parallel processing in solid modellers three hierarchical levels of parallel processing with decreasing granularity are defined based on that described up till now:

- geometry modules,

-

geometry functions, geometry and data handling operations.

On the first level, the generation of basic volumes and their combination to more complex objects can be executed in parallel. The parallelism of the geometry modules mainly depends on the description and complexity of the geometry. The degree of parallelism is quite low when combining single basic volumes. However, in the case of multiple combinations, the parallel structure is used effectively. The grain size of parallelism on this level is coarse. The parallelization of geometry modules leads to parallel processing on surfaces and contours on the second level. Thus the parallelism is determined by the applied modelling method and the amount of data. On the third level, geometry and data handling operations with high frequency are considered. These operations are fine grained. Organization of the Parallel Processing

The parallel processing tree forms the basis for parallel processing on the level of geometry modules. This tree is derived from the description of the construction object and represented in the information layer of the computer internal representation of the model (CIR) (fig. 5 ) . Here, the elements of the CIR correspond to the modelling actions and the relations to the dependencies. A process responsible for the organization of the parallel processing creates tasks from this information basis and put them as well as input data necessary in a task pool. Each task corresponds to an application interface call realized in COMPAC. The free processors pick up the tasks. After the tasks have been processed, the results are recorded in a queue or directly in the CIR according to task type. Although a relatively high degree of parallelism can be achieved in the initial steps of this scheme depending on the geometric complexity of the design object, it is generally low in the the last steps. In order to achieve a higher degree of parallelism in these steps, parallelization of the individual geometric modules on the function level is required. Parallel processing structures are determined for the time-consuming calls of the application interface which represent the parallel and sequential runable components of the modellers on the geometry function level. These structures are stored in form of tables. According to the number of processors and available tasks, it is determined whether the individual geometry modules are to be divided in further tasks to achieve a better load balancing. They are also put in the task pool, however, they are treated with a lower priority. The level of the geometry and data handling operations are carried out in dedicated hardware-subsystems.

Fig. 4 : Example of parallelism in the B-Rep. method

158

One problem of parallel processing is the provision of data consistency. If attributes of a geometric entity are changed by a process it must be guaranteed that other processes no longer need the former

attributes. This problem as well as the problem of time consumption evoked the idea of working in local copies of the CIR. At the beginning of parallel processing, each processor takes a copy of the CIR in its own local data memory. All modifications are done on this copy and marked accordingly. Since most of the modifications represent interim results, the amount of data representing the final result is relatively small. Subsequently, the results of each processor will be put together sequentially. This approach also has the advantage that the communication overhead can be reduced and the common data base will not be a bottleneck in the system.

necks in the outer field of modelling as well as in advanced CAD. A basic idea for a speed-up is to displace some model-access algorithms by a functional unit which is then a part of the hardware system. The functional unit operates on the data structure immediately and is therefore faster than a microprocessor which is loaded by the von Neumann bottleneck which is caused by program control. The system combines an access algorithm that is partly realized in the hardware-level together with a hardware orientated data structure. In regard to a hardware-supported model access, the runtime analysis reveals that it is important to distinguish between two categories of model requests. These are the data dependent access and the data independent access. The first category includes those access types that perform reading operations for fetching geometry data or element relations for ascertaining the topology of the model. The access types of the second category perform "including" or "deleting" operations on the data structure of the model. For this, the modelling process does not expect a data output. The distribution of access types of a model example shows that the reading access types of the first category, i. e. for fetching geometry data or relations of object elements are used much more frequently than the second-category access types (fig. 7). Although the writing and deleting accesses seem to be relatively rare, it has to be stressed that they need more time for specific access.

Fig. 5 : Organization of the parallel processing

3.

A

l'mctional

Unit for Model Access

In the field of model access, it can be seen that model access to the internal computer representation of the model has a great influence on the modelling process runtime. Model access in this context is understood to be all the basic high-level-constructs, i.e. subroutines, that are necessary for storing and structuring of any model information. In the case of geometry, all structure entities concern the boundary representation of the model. The demands on the data structure of models for CAD considered in this context imply that an arbitrary number of elements and an arbitrary number of relations between these elements can be represented. Address processing as well as data transferring and comparison operations in the data fields of the main memory consume most of the time which is needed for these software constructs.

Two advantages can be utilized when processing the model access by a specialized functional unit. The first advantage is that the most interesting readout algorithms for the geometry information needed immediately can be displaced by the hardware structure of the memory control system. This is possible because these algorithms have a relatively simple form for a hardware realization. The following example shows that all kinds of model information requests permit some parallelism in the initialization of the functional unit: For changing the shape of a model one of the most frequent access activities is concerned with the investigation of the related elements of a geometry entity. Before the proper processing of the model.structure can start, supplementary specification of the information frame has to be precalculated to make the model request nonambiguous. The sequence of these specification steps can be exploited to overlap the initialization of

The ratio between the numerical processing parts of modelling and the model access is evidently more a function of the applied method of combining the elementary parts of a geometric model than of the complexity of the model. The proportion is depicted in fig. 6 . This example reveals that modelling an object by applying the method of contact surfaces followed by a hidden-line-removal and a viewing process

Fig. 7: Analysis of the frequency of basic model accesses (model a) the functional unit because it has to ascertain the starting point of the needed algorithm (fig. 8 ) . The activities of the central unit concerning the model access can be reduced to send initial codes and parameters to the functional unit as well as model data if necessary. In the case of a multiple data output, the data access of the central unit from the functional unit can be pipelined.

Fig. 6: Runtime analysis of two model examples results in a surmounting proportion of model-access. In contrast to this, the modelling of objects which makes the intersection method necessary needs extensive numerical processing and displaces the boundary-line of the proportion. Concerning the runtime it is obvious that extensive model access and numerical operations are bottle-

Structure-manipulating operations as well as variants of access requests require a higher degree of flexibility and complexity of the access algorithms. The second advantage results from the fact that these complex operations can be done by an additional processor completely in parallel in respect to the central unit that runs the modelling process assuming that there is data independence. A survey of the coherencies on model requests concerning the access complexity, time and kind of structure processing is represented in fig. 9. The message and data transfer between the central unit and the functional unit are done through separate input/output

159

buffer queues for balancing the different speeds of the units. The software interface between a modelling process and a functional unit lies on a low

I

Modelling Process

Model Access

that these operations can be speeded up by taking advantage of the inherent parallelism of vector calculations. The design of the vector subsystem is based on micro programmable VLSI components. Therefore a flexible usage concerning the calculation of complex numerical operations is possible / 4 / .

R& Start model access reauest

Geometry Machlno system

Workdlation

Nodataoulpn

r”.r :

... .. ..... .................. ....... FdDutpn Pmiciiestaie Geometw Subsvstem

i-,Return

m Functional Storage Unlt

m idle state

Fig. 8:

Interaction of the central unit and the functional unit

level, that means that basic functions like defining entities o r relations between entities as well as adding, reading or deleting entities can be done. Low-level operation codes are a presupposition for a flexible application for storing any kind of model information. 4 . Bardware Structure of t h s Geometry machine

The hardware structure of the geometry machine is a symmetric multiprocessor system based on eight standard processor modules that are coupled through the VME-bus. The multiprocessor is connected with a standard UNIX-workstation which supplies the graphical environment enabling the whole system to appear as a single workstation for the user (fig. 10). data independent I

model access type

+

hioh C o m x i l y low access frequence

characteristics

long access time

I

interactinn between functional unil central andunii

Fig. 9:

I

dats dependent I

4 low cOll.piexity hlgh

frequency

short to medhrnaccess time

V

V

buffered dala Input and psrslkl structure processing

plpellned “la procesrlng

Coherencies between access characteristics and process interaction

The symmetry of the multiprocessor system allows for flexible usage and a steady rate of utilization of the processor modules. Flexibility is important because the limits of parallel geometry processing, which are decided by the system structure and by the additional system overhead, require an adaptation of the performance concerning the quantity of the geometry tasks. The tasks of the first and second level of geometry processing are distributed in the processor modules. The applied geometry programs reside in the memory of each processor module. The reason for this is their high rate of utilization. The running tasks offer a relatively low bus utilization when the tasks need to communicate. Because of the communication overhead that can be relevant for the execution time, third-level-operations such as model access or geometry operations require a closed coupling to the higher-level-tasks. The special subsystems for model access and model structuring as well as for geometry vector operations are coupled with the assigned processor directly via a local bus. In the field of the third-level geometry processing, elementary vector operations and calculations of intersecting quantities are basic operations of the intersection process. The analysis of utilization and data quantity of intersection algorithms shows

160

controller

vector arithmellc unl

memory for the model

I

Fig. 10: Hardware architecture for parallel geometry processing 5 . Conclusion

In order to accelerate the geometric modelling process, methods for the parallelization of geometric modellers were developed. To apply these methods, a geometric modeller was parallelized and implemented on a parallel processing system. Management and communication structures were developed and implemented and approaches were taken towards the provision of model consistency during simultaneous modification of computer-internal models. The individual modelling activities can be carried out in parallel by calling up functions of an application interface. One goal is to secure the applicability of the developed methods in various geometric modellers. Concerning storing and structuring of model information the functional storage unit utilizes the advantages of concurrent storing operations and the relational kind of access. Using low-level operation codes offers a flexible application, i.e. not only storing of geometry data but, more generally, of product model information. The aim of the further research will be the usage of the geometry machine in dedicated application systems for product modelling /S/. Acknowledgement

These research works are carried during the Sonderforschungsbereich 203 supported by the DFG (German National Science Foundation). Speaker of the SFB 203: Prof. Dr.-Ing. Drs. h. c. G. Spur. References

(1) Krause, F.-L., Hayka, H., Munke, M., 1987, Beschleunigung von geometrischen Modellierungsprozessen, ZwF, 12, 676:679. (2) Spur, G., DaBler, R., Germer, H.-J., Imam, M., 1984, COMPAC - Aspects of Geometry Modelling, Proceedings of MICAD 84, Paris. ( 3 ) Spur, G., et al., 1990, Research Report on Sonderforschungsbereich 203 “Rechnerunterstiitzte Konstruktionsmodelle im Maschinenwesen”, 19871990, Berlin. ( 4 ) Spur, G., et al., 1987, Research Report on Sonderforschungsbereich 203 “Rechnerunterstutzte Konstruktionsmodelle im Maschinenwesen”, 19841987, Berlin, C2-43:C2-56. (5) Krause, F.-L. et al., 1989, System Architecture for Flexible Integration of Product Gestaltung, Proceedings of Advanced Geometric Modelling for Engineering Applications, Berlin.