{'fraction_non_alphanumeric': 0.011959521619135235, 'fraction_numerical': 0.0, 'mean_word_length': 5.554216867469879, '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}}
Research on Thread Scheduling Algorithm in Automatic Parallelization

This paper firstly takes fully account of the features of Intel multi-core architecture: shared cache architecture and bus interconnection architecture, and then researches on thread scheduling problem in automatic parallelization, finally proposes a greedy heuristic algorithm for thread scheduling. The greedy heuristic algorithm firstly establishes a TIG (Thread Interaction Graph) based on data dependence and communication overhead between each thread. On this basis the algorithm carries out two rounds of operation for TIG, in which the threads are assigned to processors in the first round and the threads are assigned to groups of shared cache cores within a processor in the second round respectively. The experiment results show that greedy heuristic algorithm can find near-optimum solutions in reasonable time and behaves better than random algorithm which widely applied in the current OS and compiler when the number of threads increases, since it can find solutions in much less than random algorithm.