{'fraction_non_alphanumeric': 0.015331010452961672, 'fraction_numerical': 0.0, 'mean_word_length': 5.084745762711864, '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}}
A genetic algorithm for tasks scheduling in parallel multiprocessor systems

The tasks scheduling problem is a key factor for a parallel multiprocessor system to gain better performance. Because a task can be partitioned into a group of subtasks and represented as a DAG (directed acyclic graph), so the problem can be stated as finding a schedule for a DAG to be executed in a parallel multiprocessor system so that the schedule length can be minimized. The tasks scheduling problem is NP-hard in general, except in a few simplified situations. In order to obtain optimal or suboptimal solutions, a large number of scheduling heuristics have been presented in the literature. The most studied heuristics are based on list heuristic. Recently, genetic algorithm has received much attention as a class of heuristic. This paper presents a new genetic algorithm called TEOL (task execution order list based genetic algorithm) to solve the scheduling problem in parallel multiprocessor systems. It guarantees that all feasible schedules can be reached with some probability, and because the TEOL is based on the restrain of predecessor relationship of the DAG only, so other heuristics can be combined into it to improve the performance. Simulation results comparing with two genetic algorithms and a list algorithm, both from the literature, show that TEOL produces encouraging results in terms of quality of solution and execution speed.