{'fraction_non_alphanumeric': 0.022036474164133738, 'fraction_numerical': 0.0, 'mean_word_length': 5.393203883495145, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Software Engineering for a High-Performance Parallel Astrophysical Visualization Tool

In this thesis, I present and document the underlying design and the performance of Hubble in a Bottle!, a high-performance real-time visualization tool for astrophysical TIPSY files. The data can be rotated intuitively in real-time by a virtual trackball using quaternions, and was in contrast to TIPSY and it’s successor NChialada designed with only one target in mind: Scalability and Speed. Therefore many optimzations with respect to memory consumption, computational power as well as interconnection bandwith were investigated. The main contribution of this thesis is the parallel reduction-tree pipeline, an elegant and easy way to ascribe partial results from all nodes to the master node, while concurrently performing operations on the collected data. This tree-structure can be extended to all other collective MPI-operations, and additionally hides the communication completely behind the computation. Furthermore a novel CORDIClike algorithm to efficiently taking logarithms, which is used here for the scaling, is described in the appendix. But I also want to identify the weak points of Hubble in a Bottle!, like the limited scalability, and give some references for further improvements for a potential developer.