Domain partitioning and software modifications towards the parallelisation of the buildingEXODUS evacuation software

This thesis presents a parallel approach to evacuation modelling in order to aid real-time, large-scale procedure development. An extensive investigation into which partitioning strategy to employ with the parallel version of the software was researched so as to maximise its performance. The use of evacuation modelling is well established as part of building design to ensure buildings meet performance based safety and comfort criteria (such as the placements of windows or stairs so as to ease people‘s comfort) . A novel approach to using evacuation modelling is during live evacuations from various disasters. Disasters may be fast developing in large areas and incident commanders can use the model to plan safe escape routes to avoid danger areas. For this type of usage, very fast results must be obtainable in order for the incident commanders to optimise the evacuation plan along with the software‘s capability to simulate large-scale evacuation scenarios. buildingEXODUS provides very fast results for small-scale cases but struggles to give quick results for large-scale simulations. In addition, the loading up of large-scale cases are dependent on the specifications of the processor used thus making the problem case unscalable. A solution to address these shortcomings is the use of parallel computing. Large-scale cases can be partitioned and run by a network of processors, thus reducing the running time of the simulations as well as the ability to represent a large geometry by loading parts of the domain on each processor. This scheme was attempted and buildingEXODUS was successfully parallelised to cope with large-scale evacuation simulations. Various partitioning methods were attempted and due to the stochastic nature of every evacuation scenario, no definite partitioning strategy could be found. The efficiency values ranged from 230% (with both cores being used from 10 dual-core processors) when an idealised case was run to 23% for another test case. The results obtained were highly dependent on the test case‘s geometry, the scenario being applied, whether all the cores are being used in case of multi-cores processors, as well as the partitioning method used. However, the use of any partitioning method will produce an improvement from running the case in serial. On the other hand, the speedups obtained were not scalable to warrant the adoption of any particular partitioning method. The dominant criteria inhibiting the parallel system was processor idleness or overload rather than communication costs, thus degrading the performance of the parallel system. Hence an intelligent partition strategy was devised, which dynamically assesses the current situation of the parallel system and repartitions the problem accordingly to prevent processor idleness and overloading. A dynamic load reallocation method was implemented within the parallelised buildingEXODUS to cater for any degradation of the parallel system. At its best, the dynamic reallocation strategy produced an efficiency value of 93.55% and a value of 36.81% at its worse. As a direct comparison to the static partitioning strategy, an improvement was observed in most cases run. A maximum improvement of 96.48% was achieved from using the dynamic reallocation strategy compared to using a static partitioning approach. Hence the parallelisation of the buildingEXODUS evacuation software was successfully implemented with most cases achieving encouraging speedup values when a dynamic repartitioning strategy was employed.