Adaptive Deployment of Multi-Agent Systems on Cloud Environments
Multi-agent systems (MAS) are highly dynamic and require powerful computational resources to be properly executed. However, such resources are not available for all organizations due to many reasons such as budget constraints. Thus to support more flexibility and enjoy greater scalability, it is common today to outsource totally or partially various types of applications to the cloud environments. The main challenge in this regard is to ensure an optimal allocation of cloud resources over-time. For MAS, this challenge is deepened due to irregular workload progress and intensive communications between the agents, which may result in high computing and data transfer costs. Our research work contributes to the deployment of MAS on various cloud environments. It proposes a generic pre-deployment method to ensure a cost-efficient adaptive deployment of agent-based systems on various cloud infrastructures. Firstly, we propose a conceptual framework and its operationalization for recommending partitioning algorithms to efficiently distribute MAS on cloud resources. The framework supports the MAS designers in: (i) determining the MAS types based on a set of defined recurrent criteria; (ii) analysing the appropriateness of the partitioning algorithms based on the types of both MAS and target cloud environment; and (iii) providing guidelines to develop new distributed systems. Secondly, we propose a set of new partitioning algorithms that support the deployment of different MAS types on various cloud environments. The algorithms are made up from the combinations of extended versions of two basic graph-based partitioning algorithms, which are Fiduccia-Mattheyses (FM) and Pairwise Movement Fiduccia-Mattheyses algorithms (PMFM). Unlike the existing partitioning algorithms for MAS, the new algorithms support the cloud specifications, allow allocating low cost resources that fulfil the system requirements, and maintain reduced communications costs. Thirdly, our research work provides a prediction process that estimates and optimizes the deployment costs. The process allows monitoring the changes in the MAS requirements in terms of computational resources and invoking, once required, the set of candidate algorithms to enhance the quality of the partitioning. It uses a cost-deployment model to compare the obtained deployment solutions and then recommend the suitable one. To validate our approach, we develop two case studies including the deployment of a crisis evacuation MAS on a hybrid cloud as well as the deployment of a dynamic business process on a cloud federation. Experimental results highlight the efficiency of our approach and show that deployment costs are sensitive to many factors such as the initial deployment, the used partitioning algorithm and the cloud configuration settings.