{'fraction_non_alphanumeric': 0.023172905525846704, 'fraction_numerical': 0.0017825311942959, 'mean_word_length': 5.491329479768786, '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}}
Mapping parallel programs onto hypercube computers to minimize link-contention degree

Mapping parallel programs onto multiprocessor computers is one of the most significant research topics in parallel processing. A program can be partitioned into communicating tasks. The allocation of the communicating tasks to processors is called process-to-processor mapping (mapping). Communicating tasks should be allocated in a way to balance the computation load and to minimize the communication load. Link contention degree increases the communication cost due to communication congestion caused by multiple communicating processes sharing the same communication link, therefore should be minimized. The paper proposes a new mapping algorithm for hypercube computers which aims at minimizing the link contention degree at every processor to below a certain (preset) level. For mapping an arbitrary task graph onto a hypercube computer, the algorithm has a worst case time complexity O(n/sup 4/+p/sup 6/). Our algorithm has been implemented in C++ programming language and its performance is evaluated through extensive testing.