Distributed Rendering Techniques using Virtual Walls ... - CiteSeerX

0 downloads 0 Views 204KB Size Report
grate the user application modul easily into the. 2 ... in the area of distributed programming 15, 16]. The load ..... ture we achieved a nearly linear speedup with.
Accepted for First European PVM Users Group Meeting, October 9-11 1994, Rome, Italy

Distributed Rendering Techniques using Virtual Walls  K. Menzel, O. Schmidt, F. Stangenberg y Chr. Hornung, B. Lange z A. Holecek, J. Prikryl, J. Zara yy September 1994 or related areas like Computer Aided Design (CAD), wheather forecasting, and uid dynamics. All problems in these areas have in common a relationsship between its geometrical objects, the solution of the global problem depends of. Without superpower computers, many of these challenges cannot be made within a reasonable time period. Achieving high performance depends not only on using faster and more reliable hardware devices but also on major improvements in computer architecture and processing techniques. With the concept of the Virtual Walls and the power of parallelism it is possible to decrease the computational time of geometrical based problems drastically. The Virtual Walls concept is based on the geometric distribution of the given object space by virtual walls into cells. The solution of the global problem is achived by iteration of computation local to each cell and combination of neighbouring solutions. The Virtual Walls concept can be mapped ef ciently onto parallel multiprocessor systems. Especially in closely coupled multiprocessor systems the combination of neighbouring solutions can be achieved by only direct neighbour communication and local computation. There is no need for broadcasting or gossiping. The distribution of the object space among all processing elements allows the calculation of very complex data sets. A modul for supporting dynamic scenes has been integrated as well as loadbalancing modules, especially designed to t to the Virtual Walls concept. The base idea is to move the virtual walls slightly which results in an optimal system exploitation. The Virtual Walls concept is generic. It consists of a generic user dependend modul responsible for the local computations on static scenes within one cell. This generic modul allows to adopt arbitrary applications onto the Virtual

Abstract This framework presents a new generic solution to arbitrary geometrical problems using the Virtual Walls concept. It is based on the geometric distribution of the given object space by virtual walls into cells. The solution of the global problem is achieved by iteration of computation local to each cell and combination of neighbouring solutions. The Virtual Walls concept can be mapped eciently onto massively parallel multiprocessor systems. Loadbalancing strategies have been especially designed to achieve an optimal system exploitation. An interface library supports process generation and communication facilities that allows the user to write an application modul that can be easily integrated within the Virtual Walls concept. The Virtual Walls concept have been designed for Transputer architectures as well as for all architectures that supply PVM, the Parallel Virtual Machine communication environment. As an example Raytracing and Radiosity algorithms have been adopted to the Virtual Walls concept.

1 Introduction High{performance computers are increasingly in demand in geometrical based applications  Virtual Walls is funded by the German ministry of research and technology BMFT, Reg. No. 01 IR 409 A y University of Paderborn, Center for Parallel Computing (PC2 ), Germany z Fraunhofer Insititute, Computer Graphics Research Group, Germany yy Czech Technical Unviersity, Computer Graphics Research Group, Czech Republic

1

Walls concept. An interface library supports

process generation and communication facilities that allows the user to write an application modul that can be easily integrated within the Virtual Walls concept. Process generation and communication is based on the underlying operating system and runtime environment. To give represantative examples we have adopted Raytracing and Radiosity methods to the Virtual Walls concept. It has been designed for Transputer architectures as well as for all architectures that supply PVM, the Parallel Virtual Machine communication environment. In the next chapter we will introduce the Virtual Walls concept with its di erent moduls. In the following chapters the Raytracing and Radiosity algorithms are presented. Previous to the conclusion we will give the experimental results when adopting the Virtual Walls concept onto several multiprocessor architectures.

Figure 1: Concept of the Virtual Walls

2 Virtual Walls Virtual Walls stands for a general concept for solving three dimensional problems on distributed memory architectures. Within this concept the space is divided into cells. Neighbouring cells are divided by the so called virtual walls. The objects of the scene are located in the appropriate cell due to its location (Fig. 1). Virtual walls are some kind of catalyst. They are used only for the transport of certain information from one cell to a neighbouring cell and do not change the information. Hence, the concept of the Virtual Walls build a communicating system made of cells. It is used for solving global geomtrical based problems with only neighbouring information transfer (Fig. 2). The Virtual Walls concept is a computational frame built of a generic user dependend modul for arbitrary static scenes, a loadbalancing module to exploit the parallel system in the most ecient way, a mapping module to map the communicating cell system onto the underlying hardware architecture, and a module that supports dynamic scenes and interactive manipulation of the scene by the user. These four modules are described in the following sections.

Figure 2: Direct Neighbour Information Exchange

2.1 Generic Modul for Static Scenes A global solution to a given problem is gained by iteration of computation local to each cell and communication with neighbouring cells. Therefore it is necessary to map the given problem onto the concept of the Virtual Walls. That means that the user has to design on the one hand a sequential algorithm to calculate a solution local to each cell and to de ne on the other hand the relations between objects of neighbouring cells in order to combine neighbouring solutions to larger ones by direkt cell-to-cell communication. Iterating local computation and neighbouring exchange of information leads to the global solution, the user looks for. With the supported interface library it is possible to integrate the user application modul easily into the 2

Virtual Walls concept.

2.2 Dynamic Loadbalancing

The distributed system consisting of communicating cells has to be controlled in such a way that each cell is kept on working and does not become idle. Control mechanism of this kind are called loadbalancing strategies and well known in the area of distributed programming [15, 16]. The load balancing strategies used within the concept of the Virtual Walls are especially designed for geometric loadbalancing and are either based on process generation or on slight moves of the virtual walls. In the case of moving 3: Division by hyperplanes in all dimena virtual wall, the shape of its associated cells is Figure sions changed and due to that some of the previously contained objects belong to neighbouring cells afterwards. The presented methods are called dynamic parallel move into the center of the scene. because the load is compensated within the system during the program run. In this context dynamic loadbalancing methods are adequate strategies for balancing the load among all cells, since the objects of the scene may be divided or new objects may be generated during the program run. In the following four di erent loadbalancing strategies will be considered. The rst strategy is especially designed for closely coupled multiprocessor systems and is based on moving the virtual walls and rotation the scene. The second approach is developed for loosely coupled systems and is based on changing the cell shape. The last two strategies are especially designed for those systems, where process generation and Figure 4: Unfavourable geometric situation manipulation is supported by the underlying operating system. The last action to perform is to rotate the 2.2.1 Rotating the scene scene until the resulting line will be horizontal vertical. At this point of the algorithm, the In this loadbalancing strategy the world is di- or virtual can be moved again into an axis vided by hyperplanes in all dimensions. One parallel walls direction, move of a virtual wall into an axis parallel direc- optimal (Fig. 5). until the load of the system is tion is equivalent to the movement of all virtual walls lying within the a ected hyperplane (Fig. The advantages of this loadbalancing strategy 3). is that the neighbourhood of the cells are preIt may be the case that most of the objects are served which is very important in the case of positioned in such a way that this kind of axis direct neighbour communication in closely couparallel move is not sucient (Fig. 4). There- pled processor architectures. The disadvantage fore all cells calculate the center of gravity local is that the loadbalancing is only as good as the to its cell. Afterwards a weighted straight line straight line approximation is. That means that approximation of these center of gravities is cal- there exist some situations where rotation of the culated. The resulting line is repositioned by a scene will not always improve the load situation. 3

Figure 6: Division by hyperplanes in each slice Figure 5: Optimizing by rotating the scene

2.2.2 Optimizing the cell shape Applying this loadbalancing strategy the world is divided by hyperplanes not in all dimensions at the same time but rst with respect to the x{ then to the y{ and at last to the z{dimension (Fig. 6). The division by n1 hyperplanes with respect to the x{dimension leads to n1 + 1 subcubes. Each of this subcubes is divided in the same way by n2 hyperplanes with respect to the y{dimension which leads to n2 + 1 subsubcubes for each subcube. In the last step each of this subsubcubes is divided by n3 hyperplanes into n3 + 1 subsubsubcubes. One move of a virtual wall into an axis parallel direction is equivalent to the movement of all virtual walls lying within that hyperplane the virtual wall lies in. This kind of moving the virtual walls will lead to the following situation: The advantage of this loadbalancing method is that the loadbalancing can be always done in an optimal way. There are no worst case situations. The loadbalancing of the previously presented unfavourable geometric situation is shown in Fig. 7. The disadvantage is that the direct neighbourhood of the cells is destroyed. Hence, communication between neighbouring cells will not always be a direct neighbour communication. This might be a problem if communication in closely coupled networks is expensive.

Figure 7: Optimizing the cell shape

2.2.3 Optimizing by cell division

This strategy is based on dynamic process generation. In the case that a cell is overloaded it is divided into smaller subcells (Fig. 8). Each subcell is attached to a distinct process which has to be placed on some free processor in the system. This can be elegantly done by PVM, since PVM supplies functions for process generation and direct placement of processes. Therefore this loadbalancing strategy is adequate to use on all multiprocessor machines that support PVM as the underlying communication facility. Information about the direct neighbourhood must be recalculated during the loadbalancing and is automatically done by the loadbalancer.

2.2.4 Optimizing by duplicating cells

The concept of duplicating cells is in this context equivalent to the farming construct which is for 4

2.3 Cell to Processor Mapping

Process to processor mapping is a well known research area in the eld of distributed and parallel programming. Important work in this area has been done by [19, 20]. To adopt the concept of the Virtual Walls to various multiprocessor architectures, a mapping from the communicating system to the given processor network must be performed. One example of an optimal mapping is the partitioning of the scene by virtual walls in x{ and y{direction and mapping of the resulting cuboids onto a two dimensional processor grid such that neighbouring cells are directly mapped onto neighbouring processors. This example is preferable for instance when mapping onto 2{ dimensional transputer grids build of T800 processors (Fig. 10). Using 3-dimensional processor networks the three dimensional cell structure directly placed onto the underlying processor network (Fig. 11). Examples for this are the Inmos T9000 or the NCube Hypercube architecture.

Figure 8: Optimizing by cell division example used in the Helios operating system. In contrast to the other loadbalancing strategies no objects but messages that are sent from neighbouring cells are balanced. Therefore the processes attached to overloaded cells are copied together with the scene data and with only one part of the incoming message bu er. This kind of loadbalancing is only possible in the case that messages can be handled independently. One well known application where this strategy is often used is distributed raytracing, wherin each ray can be handled independendly in the case that the global database is known on all processors. Using this loadbalancing strategy the neighbourhood of the cells is not altered. But it is necessary to declare the original cell as the master cell in order to collect messages from neighbouring cells and to distribute the messages among all slave cells.

T 800

Figure 10: Mapping onto a 2D hardware topology In the case that the underlying network of processors is loosely coupled (e. g. a workstation cluster) other mappings have to be considered in order to minimize communication costs and maximize the system exploitation. Especially the process generation under PVM combined with the direct placement facility can be used to perform loadbalancing in workstation clusters and networks of heterogenous workstations. In general the initial mapping depends

Figure 9: Optimizing the duplicating cells 5

tracing. Raytracing is a photorealistic rendering technique in which rays are shot from the eyepoint through the pixels of the viewport into the scene. They are re ected by the objects until the ray goes to universe or a certain recursion depth is reached. During backtracing at each intersection point the intensities due to the light sources are calculated until the ray passes the viewport again to give the corresponding pixel its intensity value [3, 7, 9]. Parallelization of Raytracing is well known and trivial in the case that the database is known on each processing node. In this particular case all rays can be distributed among the processors and processed independently. In the case that huge databases are used this method of parallelization is not practicable due to memory limitations. This leads to the use of spatial subdividing methods as already done by Amanatides [1] and Fujimura [8]. For the Virtual Walls Raytracing the following preprocessing step has to be performed. The viewport, through which the initial rays are shot, has to be projected onto the cells. This is necessary because it must be known from which cells initial rays have to be shot into the scene (Fig. 12). The mapping of the Raytracing problem onto the it Virtual Walls concept can now be described in the following way: the objects of the scene correspond to the objects of the Virtual Walls concept. The load of a cell depends on the number of objects of the scene, the number of pixels that are due to the projection of the viewport onto the cells and the number of messages that have been received by neighbouring cells. The exchange of information of a certain cell with its neighbouring cell consist of the rays that are re ected within the cell and are on the way out to the corresponding neighouring cell (Fig. 12). For eciency we have integrated the so called distributed pixel processing that allows to calculate parts of the intensities of a pixel during the corresponding ray is traced through the scene. This strategy generates only forward rays until the recursion depth is reached or the ray leaves the scene. Backtracing the rays to the original sending cell is therefore unnecessary. Partly evaluated pixel intensities are collected at the node where they have been calculated and are sent in packages to the output process. In addition the loadbalancing strategy that optimizes the load behaviour by duplicating the

T 9000

Figure 11: Mapping onto a 3D hardware topology on the given type of workstation and the performance of the underlying communication network. Furthermore, during the mapping procedure it has to be taken into account in which way the quality of the solution depends on the shape of the cell and in which way the processor load and hence the calculation time of the workstation depends on process scheduling.

2.4 Dynamic Scene Handler

Interactive manipulation of objects by the user changes the location of objects within the scene. Clipping algorithms local to each cell ensure the transport of moved objects to the correct cell. In addition the integration of distributed collision detection and intersection detection algorithms is possible. Collision detection is based on the test whether the destination position of a repositioned object is in con ict with the positions of all the other objects of the scene. Intersection detection is the more accurate way of testing whether the repositioning of an object is valid or not. Applying intersection detection all the way from the source to the destination is taken into account when testing on collision with the other objects of the scene. Due to the situation that objects are not de ned explicitely, it is not possible to nd general collision detection or intersection detection strategies for arbitrary objects. Since we mainly use the Virtual Walls concept in the area of computer graphics we support intersection detection algorihms for triangle based scenes. Appropriate for applying these tests are the algorithms of [21, 4].

3 Raytracing on Virtual Walls The rst application that has been adopted to the Virtual Walls concept is rendering by ray6

cells has been implemented to achieve an optimal system exploitation. Due to loadbalancing activities overloaded cells are copied and placed on an underloaded processor in the case that such a processor has been detected.

B. Arnaldi and R. van Liere [2, 14] used a discretization of the virtual walls for gathering the energy shot from scene patches onto a patch of the virtual wall. After all energies have been shot onto the virtual walls the energy is transferred to the corresponding neighbouring cell and shot in the scene. Iteration of local computation, exchange of energy and shooting of the transferred energy into the local subscene leads to a global solution of the radiosity equational system. The quality of the solution depends on the discretization of the walls and the shape of the cell. In addition due to the discretization a great amount of memory is needed for the discretization of the walls and huge amounts of data have to be send via the virtual walls to neighbouring cells in order to combine local solutions to larger ones. The authors only used a one dimensional array as the underlying cell structure. Applying two or three dimensional arrays as the underlying cell structure, it is likely that due to the right angles of the cells and the approximated energy transfer via the discretized virtual walls, the solution will not converge to the solution of the radiosity equational system. Hence, this method of mapping radiosity onto the virtual wall concept is not practicable. Our mapping of the radiosity approach onto the Virtual Walls concept is as follows: the patches of the scene correspond to the objects of the Virtual Walls concept. The load of a cell depends on the number of patches local to it and the number of messages that have been received by neighbouring cells. The computation local to each cell consists of one iteration of the traditional shooting method: 1. Determining the patch with the most unshot energy. 2. Projection of all other patches local to its cell onto its hemicube. 3. Shooting of energy local to the subscene. The following information exchange between neighbouring cells is described by a socalled hemicube bitmap that is sent through the network within a certain neighbourhood from neighbouring cell to neighbouring cell. The hemicube bitmap consist of as much entries as the hemicube has. A bit of the hemicube bitmap is set to 1 if and only if the corresponding pixel of the hemicube has been affected by projections in previously used cells. If a hemicube bitmap is sent to a neighbouring cell projections are only performed on those pixels of the hemicube with the corresponding bitmap entry set to 0. The projections onto a hemicube are nished if all hemicube bitmap entries are

Eyepoint

Viewport

Figure 12: Mapping Raytracing onto Virtual Walls

4 Radiosity Walls

on

Virtual

The second application that has been adopted to the Virtual Walls concept is rendering by radiosity. Radiosity is a numerical approximation to solve complex integral equational systems describing the energy ow within a closed environment. In opposite to the raytracing techniques radiosity is viewpoint independent. Once the energy ow has been computed, walk through animations can be performed by fast backend machines using hardware supported interpolation techniques [11, 22]. Chalmers and Paddon [5], Purgathofer and Zeiller [22] have parallelized Radiosity shooting approach by distributing the database among the processors without using spatial subdividing methods. On each processing node a shooting patch is selected and the hemicube projections are performed. Due to that the database has to be send to all processing nodes which results in a cost intensive communication. Using the Virtual Walls concept this can be done more eciently by just sending a bitcoded hemicube to neighbouring nodes. There are no parts of the database exchanged between any processors. The mapping of the Radiosity method onto the Virtual Walls concept can be done by the use of the shooting method. We assume that the objects are approximated by a polygon mesh model. 7

set to 1 or if the hemicube has been sent to all neighbours within a certain neighbourhood (i. e. energy transfer is too small due to quadratic decrease of the transfered energy with respect to the distance) (Fig. 13). Note, that there is no discretization of the virtual walls. The transferred data will not be altered. No additional approximation will be performed. Since no energy is added or extracted it is obvious that the result will converge to the solution of the global radiosity equational system.

single processor Sun Sparc workstation with an identical processor. In the following the rst measurements are presented. The speedup is de ned by speedup = fastest sequential time / fastest parallel time and the eciency is de nd by eciency = speedup / number of processors. The speedup is optimal in the case that it equals the number of used processors. The eciency is therefore optimal if it is equal to 1. In case of Raytracing, the application raytraces a scene with di erent numbers of spheres with one light source outside the cell system. The test scenes consist of 100, 500 and 1000 spheres loadbalanced by 50 % and 100 % among the scenes. We used the cell topologies 1  1, 1  2, 2  2, 2  3 and 2  4. The rst series of tests were made on a network of 8 Sun Sparc workstations under Solaris using PVM Release 3.3.4. The machines were exclusively reserved for the measurements. The network is partitioned into two subnets connected by Ethernet bridges. The second series of tests were made on the Sun Sparc Center 1000 architecture with 8 processors, running under Solaris using the same PVM Release. Since the distributed raytracer consists of several processes that are placed by the Sun Sparc Center operating system automatically onto several processors, measurements on the shared memory architecture were only made with 8 processors. The tests show that the costs of the communication compensate the speedup of the computation in case of Ethernet communication. Using the Sun Sparc Center the shared memory communication is less expensive and the performed tests show that an eciency close to 100 % can be achieved. Due to situation that there are still some bugs concerning initiation and releasing of dynamic processes it was not possible to make any measurements using our dynamic loadbalancing approach. Therefore we made the measurements with an inital static subdivision of the scene. For this it is remarcable that using the shared memory architecture the eciency of all measurements are beyond 50 %. However, to increase the eciency of the system outgoing rays will be collected and sent in chunks to the neighbouring cells. In addition processes will not be initiated and released on demand, they will be initiated at program start and only the processed data will be changed on demand ( g. 14). In case of Radiosity, the application calculates

Figure 13: Transfer of the hemicube bitmap

5 Experimental Results The concept of the Virtual Walls has been implemented for the distributed communication environment PVM (Parallel Virtual Machine). Experiments were done on networks of Sun Sparc workstations and the shared memory architecture Sun Sparc Center 1000 with 8 processors. The cell to processor mapping is performed such that each processor of the system is responsible for exactly one cell of the Virtual Walls cell structure (e. g. 1:1 mapping). Concerning the Sun Sparc Center architecture the number of cells equals the number of processors. The process to processor placement is done by the system and therefore cannot be explicitely controlled by the user. The measurements for the single processor version have been done on a 8

6 Conclusion 1.0

We have presented a generic solution to arbitrary geometrical problems using the Virtual Walls concept which is based on the geometric distribution of the given object space by virtual walls into cells. The solution of the global problem is achieved by a user de ned iterative algorithm. Two applications have been adopted to the Virtual Walls concept, a raytracing and the radiosity shooting method. They have been implemented under the communication environment PVM. The rst results are encouraging and show that with the presented loadbalancing strategies an nearly optimal eciency can be achieved. Furthermore, the implemented raytracing and radiosity methods as representative applications show that the Virtual Walls concept is applicable to a wide range of geometric problems.

efficiency

Sp100, SSC

0.5

Sp500, SSC

0.1

Sp100, Lb100, Ethern Sp100, Lb50, Ethern Sp500, Lb100, Ethern Sp500, Lb50, Ethern 1

2

4

8 #proc.

6

Figure 14: Eciency of the raytracer a visualization of a room consisting of about 3600 patches. The scene is lighted by one di use light source. In case that the gradient across the surfaces di ers too much, a dynamic subdivision of the scene is performed. The software has also been implemented using PVM Release 3.3.4. In this case the costs of communication are small compared to the costs of computation. So there are considerable speedups using Ethernet communication as well as shared memory communication. Although no loadbalancing has been integrated yet, using the Ethernet communication an eciency of 68 % has been achieved. Using the Sun Sparc Center architecture we achieved a nearly linear speedup with 6 processors using the Sun Sparc Center. Using 8 processors the eciency is only about 50 % due to the size of the cells and the initially subdivision of the scene. This shows that integrating a dynamic loadbalancer will increase the eciency of the system drastically. In g. 15 SF represents the local shooting factor. The computation is nished i in all cells the energy to be shot is below this limit.

References [1] J. Amanatides, Raytracing with Cones, SIGGRAPH 84, pp. 129-135. [2] B. Arnaldi, X. Pueyo, J. Vilaplana, On the Division of Environments by Virtual Walls for Radiosity Computation, Proceedings of tne 2nd Eurographics Workshop on Rendering, Barcelona 1991. [3] A. Appel, Some Techniques for Shading Machine Rendering of Solids, SJCC, 1968, pp. 37-45. [4] J. W. Boyse, Interference Detection Among Solids and Surfaces, Communications of the ACM, Vol. 22, No. 1, January 1979, pp. 3-9. [5] A. Chalmers, D. Paddon, Parallel Radiosity Methods, D. L. Fielding (Ed.), Transputer Research and Applications 4, IOS Press, Amsterdam 1990, pp. 183-193. [6] R. Diekmann, K. Menzel, F. Stangenberg: How to implement distributed algorithms eciently, accepted for 2nd EuroMicro Workshop on Parallel and Distributed Processing, 1994. [7] J. Foley, A. van Dam, S. Feiner, J. Hughes, Computer Graphics { Priciples and Practice, 2nd Edition, Addison Wesley, 1990.

1.0

efficiency

SF0.0001, SSC SF0.005, SSC SF0.001, SSC

0.5

SF0.0001, SSC SF0.001, Ethern SF0.0001, Ethern 0.1 1

2

4

6

8

#proc.

Figure 15: Eciency of the raytracer 9

[8] K. Fujimura, T. L. Kunii, A Hierarchical [18] K. Menzel, M. Ohlemeyer: Walk{Through Space Indexing Method, in Kunii, T. L. Animation in 3D{Scenes on Massively Pared. Computer Graphics: Visual technology allel Systems, The Visual Computer, Inand Art, Proceedings of Computer Graphternational Journal of Computer Graphics, ics Tokyo '85 Conference, Springer, 1985, Aug. 93, Vol. 9, No. 8, 1993, pp. 417-425. pp. 21-34. [19] B. Monien, J. Sudborough, Embedding one Interconnection Network in Another, Com[9] R. A. Goldstein, R. Nagel, 3D{Visual Simputing Suppl. 7: 257-282, 1990. ulation, Simulation, 16(1), Jan. 1971, pp. 25-31. [20] B. Monien, H. Sudborough, Comparing Interconnection Networks, Proc. of 13th [10] C. M. Goral, K. E. Torrance, D. P. GreenMath. Foundations of Computer Science berg, B. Battaile, Modeling the Interaction (MFCS '88), Springer LNCS 324, pp. 138of Light Between Di use Surfaces, SIG153. GRAPH 84, pp. 213-222, 1984. [21] M. Moore, J. Wilhelms, Collision Detec[11] D. P. Greenberg, M. F. Cohen, K. E. Tortion and Response for Computer Animarance, Radiosity: A Method for Computing tion, Computer Graphids, Vol. 22, No. 4, Global Illumination, The Visual Computer, August 1988, pp. 289-298. Vol. 2, No. 5, Sept. 1986, pp. 291-297. [22] W. Purgathofer, M. Zeiller, Fast Radiosity by Parallelization, K. Bouatouch, C. [12] B. Lange, C. Hornung, A Solution to Bouville (Ed.), Photorealism in Computer Global Illumination by Genetic Algorithms Graphics, Springer, 1990, pp. 171-181. Arti cial Neural Nets and Genetic Algorithms, Proceedings of the International Conference in Innsbruck, Austria, 1993, Wien, New York: Springer Verlag, 1993, pp. 595 - 601. [13] B. Lange, The Simulation of Radiant Light Transfer with Stochastic Ray-Tracing Proceedings of the Second Eurographics Workshop on Rendering, 1991. [14] R. van Liere, Divide and Conquer Radiosity, Proceedings of tne 2nd Eurographics Workshop on Rendering, Barcelona 1991. [15] R. Luling, B. Monien, Load Balancing for Distributed Branch & Bound Algorithms, Proc. of the 6th International Parallel Processing Symposium 1992, pp. 543-549. [16] R. Luling, B. Monien, F. Ramme, Load Balancing in Large Networks: A Comparative Study. Proc. of 3rd IEEE Symposium on Parallel and Distributed Processing: 686-689, 1991. [17] K. Menzel, B. Monien, Weighted Parallel Triangulation of Simple Polygons, Proc. of the 15th Int. Workshop on GraphTheoretic Concepts in Computer Science (WG '89), Springer LNCS 411, pp. 302-315. 10