You are on page 1of 7

Universit degli Studi di Milano-Bicocca

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.

You might also like