Heuristic Co-allocation Strategies in Distributed Computing with Non-dedicated Resources
In this work, we introduce heuristic slot selection and co-allocation strategies for parallel jobs in distributed computing with non-dedicated and heterogeneous resources (clusters, CPU nodes equipped with multicore processors, networks etc.). A single slot is a time span that can be assigned to a task, which is a part of a job. The job launch requires a co-allocation of a specified number of slots starting synchronously. The challenge is that slots associated with different resources of distributed computational environments may have arbitrary start and finish points that do not match. Some existing algorithms assign a job to the first set of slots matching the resource request without any optimization (the first fit type), while other approaches are based on an exhaustive search. In our approach, co-allocation strategies formalized by given criteria are implemented by algorithms of linear complexity on an available slots number. The novelty of the approach consists of allocating alternative sets of dynamically updated slots based on the information from local resource managers in the node domains. It provides possibilities to optimize job scheduling during resource selection.