{'fraction_non_alphanumeric': 0.013363028953229399, 'fraction_numerical': 0.0, 'mean_word_length': 5.575609756097561, '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}}
Communications-Aware Process Placement Taking into Account Symmetries of Topology

The speed of communications is not uniform in multilevel high-performance computers and multicore clusters. Therefore the communication performance depends on the location of parallel processes within the system. The communication pattern of a parallel algorithm may also be nonuniform – different processes may need to exchange different amounts of data. Therefore it is preferable to locate the processes that communicate most to the cores where interconnection is the fastest. The best placement of processes can be found by a combinatorial optimization trying to match the communication pattern to multicore hardware. Topology of multicore clusters often has symmetries, for example the cores on the same chip may have the same communication speed. Therefore in this paper a way is proposed to take such symmetries into account reducing the search space and fasten optimization. A branch and bound algorithm for the process placement is proposed and the impact of the avoidance of exploration of equivalent solutions is demonstrated. An experimental investigation has been carried out to evaluate the performance of the developed algorithm. Keywords-high-performance communications; placement of parallel processes; combinatorial optimization; branch and bound