Archive | 2019
A Modified Method of Multiagent Resource Dispatching in a Heterogeneous Cloud Environment
Abstract
At present the level of development of telecommunication technologies gives new opportunities for organization of distributed calculations, based on a set of spacedistributed computational resources, with the help of a serviceoriented infrastructure, which provides “calculations on demand”. Owing to these opportunities a new paradigm of cloud calculations has appeared: large-scale distributed calculations based on a pool of abstract, virtualized, dynamically redistributable computational resources, granted to external users via Internet on their demands. Nowadays cloud computing environments (CCE) get wider and wider application for solution of large-scale scientific and technical problems in various domains, such as high-energy physics, chemistry and biology; cosmology and astrophysics; ecological and technical safety; industry, pharmacy; material science; oil and gas production; medicine, etc. [2]–[7]. The specific feature of such large-scale scientific problems is their complex inner structure, which, as a rule, consists of several data coupled subtasks. Besides, it happens rather often that efficiency of such subtasks considerably depends on the type of computational resource, which is used for their implementation. One of the main advantages of the concept of cloud calculations is applicability of different-type (heterogeneous) computational resources within one CCE. In general case such computational resources can have different real performance for various tasks. This circumstance, on the one hand, allows to gain in efficiency (time decreasing) of implementation of large-scale user tasks, owing to use of such CCE computational resources, which provide the highest real performance for these tasks (or for their subtasks). However, on the other hand, it causes the problem of optimal distribution (dispatching) of solving tasks (or their subtasks) to different-type computational resources of the CCE. The problem becomes much more complex in the case, when the CCE has to provide solution of a certain set (flow) of miscellaneous user tasks coming in arbitrary time, but not the only task. It requires development of new methods and algorithms of adaptive resource dispatching for heterogeneous CCEs for processing of a flow of large-scale tasks. In this paper we suggest a method of multi-agent resource dispatching in a heterogeneous CCE, which provides automatic distribution of the CCE resources during implementation of the user tasks flow. Such multi-agent organization of the dispatcher provides quasi-optimal adaptive distribution of the CCE resources and takes into account their real performance and bandwidth capacity of their channels; high productive loading of the CCE resources; capability of unlimited scaling of the CCE heterogeneous computational resources; improved fault-tolerance of the CCE, because it contains no nodes, that can fail and cause catastrophic consequences for the whole system. However, we assume that Customers set the time when they require their tasks to be solved. This requirement can lead to the situation, where it is impossible to solve some tasks because Customers have set unacceptable time for their solution. As a result, it will cause decreasing of efficiency of the whole CCE. That is why in the paper we consider a more general statement of the problem of CCE resource dispatching, when the required solution time for user tasks is not set, and the CCE dispatcher has to minimize the time of their solution with the help of available computational resources of the CCE. Keywords—component; formatting; style; styling; insert I. FORMAL TASK STATEMENT Let us assume that the CCE receives a certain set (flow) of different large-scale tasks 1 2 , ,..., M Z Z Z \uf03d\uf03c \uf03e Z from different Customers in different time. Here a large-scale task is a task, which consists of a certain set of information-dependent (coupled) subtasks, each with a considerable computational complexity. Formally, each large-scale task l Z \uf0ceZ can be represented in the form of an acyclic graph ( , ) l l l G Q X (see Figure I). Its vertices j l q \uf0ceQ correspond to some subtasks j O , which belong to the subtask set 1 2 , ,..., c O O O \uf03d\uf03c \uf03e O . Its edges 1 ( , ) j j l x q q \uf02b \uf0ceX determine information connections among the subtasks (i.e., if two vertices j q and 1 j q \uf02b are connected by the edge 1 ( , ) j j x q q \uf02b , then it means that the results of the subtask j O , which corresponds to the vertex j q , is initial data for the subtask 1 j O \uf02b , which corresponds to the vertex 1 j q \uf02b . Let us consider, that each vertex j l q \uf0ceQ has a type of a solving subtask j O \uf0ceO and its computational complexity j v , which is evaluated by the number of elementary computational operations performed for solution of the subtask. Besides, each edge 1 ( , ) j j l x q q \uf02b \uf0ceX has data amount 1 , j j d \uf02b , transferred from the subtask j O , assigned to the vertex j q , to the subtask 1 j O \uf02b , assigned to the vertex 1 j q \uf02b (see Figure I). International Conference on Electronical, Mechanical and Materials Engineering (ICE2ME 2019) Copyright © 2019, the Authors. Published by Atlantis Press. This is an open access article under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/). Advances in Engineering Research, volume 181