This document proposes a new resource trading architecture called CORT for cloud computing environments. CORT aims to optimize resource allocation, ensure proportional distribution of resources among stakeholders including low-budget ones, manage resource faults through trading of substitute resources, and allow self-adaptation of agent objectives based on system state. The document outlines the design of CORT and implementation of a proof-of-concept simulator to test it. Evaluation of CORT showed it facilitates the resource trading process with features like adaptive agent policies and accounting of agent budgets/debts. Further development areas are also discussed.
This document proposes a new resource trading architecture called CORT for cloud computing environments. CORT aims to optimize resource allocation, ensure proportional distribution of resources among stakeholders including low-budget ones, manage resource faults through trading of substitute resources, and allow self-adaptation of agent objectives based on system state. The document outlines the design of CORT and implementation of a proof-of-concept simulator to test it. Evaluation of CORT showed it facilitates the resource trading process with features like adaptive agent policies and accounting of agent budgets/debts. Further development areas are also discussed.
This document proposes a new resource trading architecture called CORT for cloud computing environments. CORT aims to optimize resource allocation, ensure proportional distribution of resources among stakeholders including low-budget ones, manage resource faults through trading of substitute resources, and allow self-adaptation of agent objectives based on system state. The document outlines the design of CORT and implementation of a proof-of-concept simulator to test it. Evaluation of CORT showed it facilitates the resource trading process with features like adaptive agent policies and accounting of agent budgets/debts. Further development areas are also discussed.
Dipartimento di Informatica, Sistemistica e Comunicazione
Corso di laurea in Informatica
Trading Resources in Cloud Computing: The CORT architecture
Relatore: Dr. Ing. Claudia Raibulet Co-relatore: Dr. Guglielmo Lulli
Sintesi della relazione della prova finale di: Andrea Zaccara Matricola 717280 Cellulare: 346/6080284 Mail: a.zaccara1@campus.unimib.it 3 Appello di Laurea 31/10/2013
Anno Accademico 2012-2013
Page 3
Summary In many systems and applications, multiple stakeholders may need resources, which are only available in a limited number. In these systems, the allocation of resources should always be optimized to take into account the objectives of the overall system as well as of the individual stakeholders. In fact, stakeholders have often objectives that can be in contrast with the efficiency of the overall system and may not want to disclose them to the public. Furthermore the allocation of resources should follow a set of rules, both general purpose e.g., it is not possible to allocate more than the available resources or a unit of resources cannot be assigned to more than one stakeholder and domain specific e.g., a type of resource can be used only once by each stakeholder in a given time interval. The process of resource allocation is often centralized by one or more authorities called providers. The provider owns the resources and sells them for a limited time interval. In these systems the emphasis is posed on the overall performance. In a decentralized system the stakeholders directly trade for the resources among them, so their objectives play a prominent role in the system performance. The focus of this report is to propose a solution with the appropriate trade-off between these two options, creating a solution both centralized and decentralized. The system is centralized in the trading process, which is managed by a single authority. However, it is also decentralized as multiple providers offer resources. As an alternative the system could be completely decentralized by having more trading platforms that can interact among them, but have different models or type of resources offered, or manage providers available in different locations. This solution has three functionalities: (1) the allocation of resources done by the provider for the stakeholders, (2) the trading of resources between stakeholders and/or provider to accommodate changing needs and (3) the adaptation of the stakeholders and providers criterion based on statistics about previous requests. In particular, the second step, the trading process, being done by the stakeholders and then submitted to the provider for approval, allows for the best trade-off among the objectives of the stakeholders and the objectives of the providers. The reason for this enhanced result is that the information about the stakeholders objectives are revealed by the specific request they create. This market solution can attain efficient allocation. This step is also important in case of malfunction or failure of the resources: resources are replaced by other resources obtained via a trading procedure by the provider. The specific subject considered for these type of resource-constrained system is Cloud computing. Cloud computing is a networking solution, in which everything, from
Page 4
computing power to computing infrastructure, applications, business processes to personal collaboration, is delivered as a service wherever and whenever is needed. This document will refer to Provider for the networking solution maintainer and to Stakeholder for every user who needs one or more Cloud services. The Cloud computing environment evolved in the last few years and still has not found a stable and well-defined structure. Most providers adopt a pay-per-use model for the resources, as it is very flexible for the stakeholders, but requires great investment from the provider point of view, making it an oligopoly. The pay-per-use model has become standard practice in the industry. This model consists in paying the service based on the amount of resources used. These could be processor, disk space, or bandwidth usage and is often associated to scalability options, to increase computing power, or geographical redundancy. This report discusses in detail the current state of the art in resource management in cloud computing, and proposes a new method to manage resources in these resource- constrained systems via the study of a proof-of-concept prototype. Furthermore, it confronts this solution to other available ones, finally exploring future development, issues and directions. The purpose of this document is the study and development of an architecture for a resources trading solution with self-adaptation capabilities, with the implementation of a proof-of-concept simulator. The study of this systems lead to the development of the project CORT (Cloud Open Resource Trading). CORT main objectives are: Optimize resource allocation, discouraging idle resources in resources constrained systems Proportional distribution of resources among stakeholders and low budget stakeholders priority Resource fault management, by trading for substitute resources Self-adaptation of single agent objectives, based on the system state A single interface to acquire, manage and exchange resources from different providers For the implementation of this solution, the following design patterns have been used: Builder Pattern, for the construction of complicated objects, such as Providers. Abstract Factory Pattern, for the implementation of a multi-type event factory. Iterator Pattern, to traverse lists of objects, such as the resources.
Page 5
Strategy Pattern, for the implementation of multiple behavior in the Providers self-adaptation process. Observer Pattern, for the GUI implementation and scheduler synchronization. Data Mapper Pattern, for the implementation of multi-platform persistence module. The following steps can summarize the realization of CORT: Study of the state of the art for Cloud Computing services architectures and models, with major focus on the performance of both Providers and Stakeholders, and on the differences between these models. Analysis of single-provider and multi-provider solutions, respectively Windows Azure and RightScale, and confrontation of their characteristics. Definitions of the requirements of a new solutions, design of the architecture of CORT and definition of concurrency models for the trading process, using FSP and Petri Nets. Implementation of a simulator to test possible case studies. The presence of IT demand and supply in utility oriented Clouds has led to the need of a market exchange of resources that can ease the trading process, by providing the required infrastructure for interaction. In this paper, we introduced a novel trading market architecture named CORT with the objectives of facilitating the resource trading process. We identified the current industrial and academic solutions addressing this problem, and describing the various market requirements and challenges in designing such a platform. The CORT architecture is at the first step in its development, but it already offers various services, which are not common even in similar researches. The main functionalities of CORT, which present a new or different way of confronting the trading process, are: Each agent in the system has different policies, which can be adapted to confront the specific market demands and supplies. The Providers can respond to a failure, by acquiring resources as a substitution of the resources lost and that where allocated by Stakeholders. The agents and overall system have an incorporated accounting system, to track their budget, credits and debts.
Page 6
The validation of the architecture has been done by the development of a proof of concept simulator based on three case studies. This application confirmed the validity of the architecture and allowed for the discovery of possible additions to improve it. Some functionalities that have been considered as future development, to improve the CORT architectures extension and applicability, are: The Stakeholder option to offer a limited proprietary amount of resources, and eventually to become a Provider after the achievement of certain requirements. A multiple Trading system could be implemented to manage agents from specific geo locations and structured to interact with each other for the exchange of resources from different areas. A multiple Trading system could be implemented to separate different levels of resources, separated by quality or price, or with different market models, such as an auction or a barter model. Multiple resources types can be added to the system, with type specific properties. Additional resource attributes to identify non-type specific information, such as geo-location, ping times, etc. Some of these functionalities have been successfully implemented in other research studies, such as Mandi (multiple market models available) and GridEcon (no distinction between Providers and Stakeholders, anyone can offer its resources). The complete report is divided in chapters as follows: The first chapter explains the concept of resource-constrained systems and the need for new models of resource management applications, which concern the focus of this project. The second chapter presents the history of Cloud Computing, its evolution and current state, and it presents its most important features to introduce the reader to the subject of the project. The third chapter compares two of the current public solutions, Windows Azure and Rightscale, by analysing the advantages and disadvantages of their systems. The fourth chapter proposes the CORT trading market model, comparing it to the pay- per-use model and showing the advantages of the architecture.
Page 7
The fifth chapter describes in detail the architecture of CORT, presenting each component and mechanism, which gives the appropriate flexibility and optimizes the trade- off between the agents. The sixth chapter describes in detail the concurrency model used by the trading process to manage the resource requests by different agents, using FSP and Petri Nets. The seventh chapter presents a case study for the simulator, to verify and validate the architecture of CORT. It illustrates the problems of the resource management and shows the simulation process. The eight chapter presents some academic researches that have previously confronted the trading market problem, and confronts it to the approach of CORT. The conclusions, future work, and similar research studies are dealt in the last chapter.