Browsing by Author "Hauser, Simon"
Now showing 1 - 2 of 2
- Results Per Page
- Sort Options
Item Open Access Implementation of parallel support in OpenDiHu nested solvers using the preCICE adapter(2024) Hauser, SimonRecent hardware advancements mostly hinge on adding more cores to the architecture, with increasing support for additional random access memory. This requires scalable software that make the most out of the cores available, especially for simulation software, which run in HPC server cluster on not just multiple cores, but rather multiple CPUs with intercommunication enabled by MPI. One such simulation software is OpenDiHu, designed to be scaled to more than 10000 cores for modeling skeletal muscles, neural activation and EMG signals. It is currently possible to run the OpenDiHu mechanics solver in parallel if the solver is used as a standalone component, running the solver in parallel with preCICE is currently not possible. We first present a revised algorithm for calculating boundary conditions, that enabled parallel support for mechanics solver coupled with preCICE by looking into their respective ghost values and show that this reduces the execution time by up to 80% depending on the simulation experiment. Afterwards we present a new extendible component for creating checkpoints in a predefined interval, a common technique for increasing the resiliency of simulation software against hard failures. We are able to restart a given simulation at the last successfully written checkpoint. We then implement multiple different checkpointing backends based on two different file formats HDF5, JSON with options that allow us to combine data into a single checkpoint and write this checkpoint collaboratively using MPI-IO as well as an option for an independent writer, where each rank writes their own respective data to an independent file. Last but not least, we present the correctness of these implementations and compare the overall overhead for writing checkpoints for all implementations. The results show that implementations that use the MPI-IO writer result in an overall worse performance, with the highest overhead, in our tests on NFS4 mount points while we see the best performance, with the lowest overhead of around 1 to 2 percent points for independent checkpointing with HDF5 on a local EXT4 mounted disk. Furthermore, we evaluate if loading a checkpoint preforms better than rerunning the simulation from scratch, with an overall cost of rerunning that takes 180 times longer than loading a checkpoint. We also provide a recommendation that the HDF5 based checkpointing backend should be preferred with independent checkpoints onto a local hard drive or better a network attached storage. The later will simplify restoring a checkpoint when multiple compute nodes are participating in the simulation.Item Open Access Optimization of diffusive load-balancing for short-range molecular dynamics(2020) Hauser, SimonIn recent years, multi-core processors have become more and more important for manufacturers, which means that developers now have to think more about how to distribute a single application sensibly over several processes. This is where load balancing comes in, allowing us to move load from an overloaded process to an underloaded process. One way of load balancing is diffusive load balancing, which is a method of moving load in the local neighborhood and therefore no global communication is needed. The advantage of this is that processes that have completed the local communication and thus the load-balancing process can continue with the next calculations. This form of load balancing is found in librepa, a library that deals with the balancing of linked-cell grids and can be used in the simulation software ESPResSo. In the course of this thesis the library has been extended with the First and Second Order Diffusion. Furthermore, a feature was added that allows to keep the initial structure of the grid constant, which means that the neighborhood of each process does not change. This feature is necessary for the Second Order Diffusion. A comparison between the methods shows that both First and Second Order Diffusion distribute the load better in the system than librepa's default and prior to this work only diffusive variant. Furthermore, we show that there is no significant overhead in using the Preserving Structure Diffusion. With the use of flow iteration the imbalance values of First and Second Order Diffusion can be improved even further.