{'fraction_non_alphanumeric': 0.014854827819041188, 'fraction_numerical': 0.0, 'mean_word_length': 5.443478260869565, '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 clustering approach to schedule workflows to run on the cloud

Scientific workflows can be considered a useful modeling method to model different scientific applications. Service-oriented computing is an attractive platform for most users to execute these applications in a pay-as-you-go manner. Therefore, scheduling workflows on the cloud as the latest trend in service-oriented computing and meeting the required users' Quality of Service requirements is an important problem to be tackled. Furthermore, the scheduling algorithms must consider the available multicore processing resources on the commercial Infrastructure as a Service cloud. Hence, considering multicore resources in addition to Quality of Service constraints makes the workflow scheduling problem more challenging to be solved. In this research, a static workflow scheduling algorithm is proposed which considers the available multicore resources on the cloud and attempts to minimize the leasing costs of the processing resources while considering not violating a user-defined deadline. The proposed algorithm uses a clustering technique to divide the workflow into a number of clusters and attempts to combine the clusters in such a way to achieve the algorithms' main goals. A flexible and extendable scoring approach chooses the best combination available in each step. Extensive simulations reveal a great reduction in the leasing costs of the workflow execution while meeting the user-defined deadline.