Professional Documents
Culture Documents
School of Computer Science and Electronic Engineering, University of Essex, Wivenhoe Park, Colchester, CO4 3SQ, UK
Telecom ParisTech - LTCI - UMR 5141 CNRS, 46, rue Barrault F 75634 Paris Cedex 13, France
article
info
Article history:
Received 25 May 2011
Received in revised form
25 March 2012
Accepted 29 March 2012
Available online 23 April 2012
Keywords:
Cloud computing
Topology abstraction
Resource virtualization
Service provisioning
Scheduled traffic
Distributed storage
Integer linear programming
Heuristic
abstract
The rapid development and diversification of Cloud services occurs in a very competitive environment.
The number of actors providing Infrastructure as a Service (IaaS) remains limited, while the number
of PaaS (Platform as a Service) and SaaS (Software as a Service) providers is rapidly increasing. In
this context, the ubiquity and the variety of Cloud services impose a form of collaboration between
all these actors. For this reason, Cloud Service Providers (CSPs) rely on the availability of computing,
storage, and network resources generally provided by various administrative entities. This multi-tenant
environment raises multiple challenges such as confidentiality and scalability issues. To address these
challenges, resource (network, computing, and storage) abstraction is introduced. In this paper, we focus
on network resource abstraction algorithms used by a Network Service Provider (NSP) for sharing its
network topology without exposing details of its physical resources. In this context, we propose two
network resource abstraction techniques. First, we formulate the network topology abstraction problem
as a Mixed-Integer Linear Program (MILP). Solving this formulation provides an optimal abstracted
topology to the CSP in terms of availability of the underlying resources. Second, we propose an innovative
scalable algorithm called SILK-ALT inspired from the SImple LinK (SILK) algorithm previously proposed by
Abosi et al. We compare the MILP formulation, the SILK-ALT algorithm, and the SILK algorithm in terms
of rejection ratio of users requests at both the Cloud provider and the network provider levels. Using
our proposed algorithms, the obtained numerical results show that resource abstraction in general and
network topology abstraction in particular can effectively hide details of the underlying infrastructure.
Moreover, these algorithms represent a scalable and sufficiently accurate way of advertising the resources
in a multi-tenant environment.
2012 Elsevier B.V. All rights reserved.
1. Introduction
Cloud computing is a service paradigm that has emerged as a
result of distributed Information Technology (IT) resources across
the Internet. It provides access to heterogeneous IT resources, which
can either be physical or virtual, as services over the Internet [1].
Examples of provided resources include storage resources such
as those provided by Amazon S3 [2], computational resources
such as Amazon EC2 [3] and applications such as the Google App
Engine [4].
47
the ratio of the number of rejected requests by the NSP (or the
crank-back number) to the number of accepted requests by the
CSP.
The remainder of this paper is structured as follows. In
Section 2, we provide further background on the Cloud computing
service delivery paradigm and discuss some of the work done in
the literature on resource abstraction. In Section 3, we detail the
interaction between the CSP and the NSP (the NSP acting as a
TPSP). We also specify the outcomes expected from the proposed
abstraction algorithms. Section 4 introduces the formal model
of the Cloud environment, including the infrastructure model
and the traffic model. Section 5 introduces the two approximate
abstraction algorithms, namely SILK and SILK-ALT, in addition to
the exact MILP formulation. For completeness, Section 6 presents
the IT abstraction model considered in this paper. In Section 7, we
explain the two resource provisioning algorithms used by the CSP
and the NSP, respectively. The simulations conducted in order to
evaluate these algorithms consider a 6-node bottleneck topology
and are presented in Section 8. Finally, our conclusions are drawn
in Section 9.
2. Background
2.1. Cloud computing
Cloud computing is a rapidly evolving Internet service delivery
paradigm. It allows providers to offer Software as a Service (SaaS),
databases and Virtual Machines (VM) for building and running
custom applications known as Platform as a Service (PaaS), and
network resources known as Infrastructure as a Service, (IaaS) [12].
All these resources are mutualized between multiple end-users.
SaaS provides access to remote computer applications via the
Internet, rather than installing and running the application on
users own computers. SaaS currently include online project management tools from Clarizen [13], as well as customer relationship management and human resource applications available from
Salesforce [14]. A number of Cloud office applications are available
as desktop tools including word processing, building databases,
creating spreadsheets, and presentations, as it is the case with
Google Docs [4].
PaaS delivers a computing platform and solution stack as a
service, often consuming Cloud infrastructure and maintaining
Cloud applications. It facilitates the deployment of applications
without the cost and complexity of buying and managing
the underlying hardware. At the PaaS level, not only is an
execution environment provided, but also a set of infrastructure
services (given by IaaS providers). A platform should be able
to provide an environment comprising the End-to-End (E2E)
life cycle of developing, testing, deploying, and hosting Web
applications. Amazon was the first vendor to provide PaaS services
by launching Amazon Web Services (AWS) [15]. The AWS
services rely on Amazon infrastructure services. Another major
PaaS vendor is Google that has launched a service called App
Engine where developers can run Web applications on Googles
infrastructure [4]. Microsoft also developed a platform called
Azure as an online service offering flexible, familiar environment
for developers to create Cloud applications and services [16].
In addition to SaaS and PaaS, Cloud computing also includes
the development of IaaS where the underlying infrastructure,
such as computer processing capacity, network bandwidth, and
equipment, is offered to end-users as well as to other CSPs
as a service. Rather than buying their own servers, data-center
spaces, or network equipment, end-users access these resources
as a fully outsourced service. IaaS can be achieved thanks to
the abstraction and virtualization of resources, where a logical
infrastructure, which may be a slice of the physical infrastructure,
48
49
50
= Ra Ra .
(1)
= = a .
Ra
Ra
(2)
the network into one abstracted (also called virtual or logical) link.
The NSP has full knowledge of the mapping between the abstracted
links and their inherent physical paths. The NSP provides the CSP
with this abstracted graph. The CSP at his end, does not know the
mapping of the two topologies, since one of the aims of topology
abstraction is to hide, for confidentiality reasons, the details of the
infrastructure. The CSP, according to the information given by the
NSP, selects (pre-accepts) a set of requests and chooses for them a
set of abstracted links. At each request start time, the CSP sends
a signal to the NSP in order to reserve the required bandwidth
over the chosen abstracted links (see in Fig. 2). The NSP uses
the mapping obtained by its abstraction algorithm and verifies that
enough bandwidth exists on the physical paths that correspond to
the selected abstracted links. If the previous paths have enough
resources available, the NSP sends a positive acknowledgment to
the CSP and the routing process begins (see in Fig. 2). Otherwise,
the NSP tries to find an alternative path using a set of pre-computed
K -shortest paths between the source node of the request and the
chosen destination node given by the CSP (see in Fig. 2). If an
available path is found, the NSP sends a positive acknowledgment
to the CSP and the data transfer can be started. If no alternative
path is available during the active time of the request, the NSP
sends a negative acknowledgment to the CSP and the request is
rejected. It should be highlighted that the effective physical route
of the request is invisible to the CSP.
For clarity reasons, we provide a small example of routing
a request between a sourcedestination pair chosen by the CSP
according to its knowledge of the abstracted resources. Let us
suppose we have a 6-node network topology with 3 border nodes
(A, B, C) and 16 unidirectional links, as depicted in Fig. 3 (each
undirected link in the figure corresponds to a pair of contradirectional optical fiber links). For the sake of simplicity, we
consider all network links have 10 Gbps capacity. Suppose we have
a request that needs to be routed from node A to node C and needs
to reserve 1 Gbps bandwidth. At the CSP level, the provisioning
algorithm has chosen abstracted links (A, B) and (B, C) for data
transfer. The CSP communicates this information to the NSP that
verifies the mapping table in order to check the paths inherent to
the former links. In our example, abstracted link (A, B) uses physical
links (A, D) and (D, B); and abstracted link (B, C) uses physical
links (B, E) and (E, C). As we can see from the figure, the NSP does
not find enough bandwidth on the physical paths inherent to each
abstracted link since links (D, B) and (E, C) do not have enough
bandwidth. Thus, the NSP tries to find an alternative path between
source A and destination C. The NSP chooses a path from the set of
pre-computed K -shortest paths starting with the shortest one. In
our example, we can see that only two paths are available: path k1 ,
using links (A, F) and (F, C); and path k2 , using links (A, D), (D, F), and
(F, C). The shortest path is calculated according to the number of
hops used between the source and the destination. Consequently,
the NSP will choose alternative shortest path k1 for routing the
51
52
Notations:
Lk(s,d) ,(s,d),k
e(u,v) e(u,v)
} and Lk(s,d) = pk(s,d) is the number of
links in the path. The steps in the SILK are as follows for each
sourcedestination pair (vs , vd ) of border nodes on the physical
topology:
1. Calculate path bandwidth capacity B(ks,d) of all K SP by computing the minimum link bandwidth capacity B(u,v) of all links in
the path (Algorithm 5.1: Line 1.1.1.1.1).
2. Select the path with the highest bandwidth capacity B(s,d) (Algorithm 5.1: Line 1.1.1.2).
On termination, the selected path bandwidth capacity B(s,d) is used
to represent the bandwidth of the logical link e(s,d) in the abstract
topology.
if s =
d then
for k = 1 to K do
1.1.1.1.1
endfor
1.1.1.2
endif
endfor
endfor
2
return G (V , E )
End.
factor is computed by
(Algorithm 5.2: Line 1.1.1.1.1.1).
K
Thus, the kth shortest path has a higher weight than the (k + 1)th
path, and so on. To ensure that the total bandwidth of each logical
link does not exceed the bandwidth of each physical link, we take
the minimum, of all path weights and calculate the final weight
of each link (Algorithm 5.2: Line 3.1).
5.2.2. Calculation of logical link bandwidths
The abstracted link bandwidth B(s,d) of the abstract topology is
calculated according to the following steps:
1. For all links in the physical topology, we calculate the weighted
bandwidth B (u,v) (Algorithm 5.2: Line 4.1) by multiplying the
physical link bandwidths by the link weights calculated in
Section 5.2.1.
2. For all border node pairs in the physical topology, find the
shortest path
p(s,d) (Algorithm 5.2: Line 5.1.1.1) where
p(s,d) =
{e(u1 ,v1 ) , e(u2 ,v2 ) e(uL ,vL ) } and L =
p(s,d) is the number of
links in the path.
3. For all border node pairs in the physical topology, calculate the
bandwidth capacity of the shortest path, B(s,d) , by computing
the minimum weighted link bandwidth capacity B(u,v) in the
path.
At the end, the calculated path bandwidth capacity B(s,d) is used
to represent the bandwidth of logical link e(s,d) in the abstract
topology.
5.3. MILP formulation
53
Parameters:
Begin
Step 1. Calculation of Link Weights of G(V , E )
1
for s = 1 to N do
1.1
for d = 1 to N do
1.1.1
if s = d then
1.1.1.1
for k = 1 to K do
1.1.1.1.1
for all e(u,v) pk(s,d) do
d),k
w((us,,v)
1.1.1.1.1.1
K (k1)
K
d),k
w(u,v) w(u,v) + w((us,,v)
1.1.1.1.1.2
topology.
endfor
endfor
endif
endfor
endfor
min {w(u,v) |e(u,v) E }
for all e(u,v) E do
w(u,v)
3.1
Variables:
w(u,v)
endfor
Step 2. Calculation of Logical Link Bandwidth of G (V , E )
4
for all e(u,v) E do
4.1
endfor
5
for s = 1 to N do
5.1
for d = 1 to N do
5.1.1
if s = d then
5.1.1.1
compute shortest path
p(s,d) from vs to vd
5.1.1.2
endif
endfor
endfor
6
return abstracted topology G (V , E )
End.
Objective:
max
max
P
s,d
Zk
+ .
(3)
vs V vd V k=1
vj V ,
k [1 . . . Pmax ],
1
s,d
s,d
Xu,j,k
Xj,v,k = 1
vu
vv
if j = d
if j = s
otherwise.
(4)
s,d
P
max
vs V vd V k=1
s ,d
s,d
(5)
(6)
Eq. (6) states that the total traffic routed over the same link for all
border nodes pairs cannot exceed the capacity of that link. Eq. (6)
is a non-linear constraint since it is the product of two variables.
54
s,d
s,d
Yu,v,k Zk
s,d
s,d
Yu,v,k Xu,v,k
s,d
s ,d
s ,d
Yu,v,k Zk (Xu,v,k 1) .
(7)
Using the three linear constraints of Eq. (7), Eq. (6) can then
replaced by the following linear constraint:
max
P
vs V vd V k=1
s ,d
(8)
In Eq. (9), we define the lower bound of the traffic routed in the
network between all sourcedestination pairs.
P
max
s,d
Zk
(s, d) V 2 .
(9)
k=1
P
max
s ,d
Zk .
(10)
k=1
Moreover, the abstracted path is the one with the highest abstracted bandwidth.
5.4. Complexity of proposed network topology abstraction algorithms
Nv ar = Pmax N 2 + 2 N 2 N 2 Pmax + 1
= N 2 (Pmax + 2 N 2 Pmax ) + 1
(11)
(12)
Nnclust Nj
Pn =
j =1
(13)
k=1
stor
Nnclust Nj
Sn =
Pnj,k vn C
Snj,k vn S.
(14)
j=1 k=1
55
C=
xi
(15)
56
8. Numerical results
8.1. Simulation setup
We consider, for the investigation of the three proposed
algorithms, a 6-node bottleneck topology. Four of the six nodes
are considered border nodes. End-user requests enter the network
through border nodes. The abstracted topology is made out of
the four border nodes connected via a full-mesh network, as
presented in Fig. 5. We apply the three proposed algorithms
on the physical topology. Requests are generated according to a
Poisson process with an average arrival rate . The holding time
for each request is exponentially distributed with mean 1 . Each
node generates its own requests throughout the simulation time
of 60 h. The type of service requested is chosen randomly. Source
and destination pairs are selected randomly among the edge nodes,
with the exception that nodes with computational (resp. storage)
resources do not generate computational (resp. storage) requests.
The distribution for the request parameters used are as follows: the
bandwidth requirement for computational and storage requests
follow a uniform distribution within [6, 26] Gbps. To elaborate, the
required bandwidth is assumed to be constant during the duration
of the request. Bandwidth requirement for data transfer requests
follows a discrete probability density function (pdf) that defines
57
the Physical case, which is a trivial result since the CSP has
a full knowledge of the network. The route taken by a request
chosen by the CSP matches the route taken on the physical one.
In addition, the Physical case accepts and routes the highest
number of requests.
We notice that the number of rejected requests at the NSP level
is higher in the case of the SILK than the case of SILK-ALT,
independently from the traffic load. Moreover, both SILK and
SILK-ALT undergo higher number of rejected requests at the
NSP level than the case of MILP.
The SILK algorithm presents the highest number of accepted
requests at the CSP level, since SILK over estimates the available
bandwidth given to the CSP. This is the reason why at the NSP
level, a high number of these pre-accepted requests is rejected.
The SILK-ALT and the MILP in return, pre-accept a lower number
of requests but have less rejected requests at the NSP level. We
notice that in this context, the MILP has the best performance
between the three algorithms.
We can also see that the MILP formulation provides a higher
number of actually routed requests than SILK-ALT. Both the
former and the latter route higher number of requests than SILK.
All the previous remarks show that the SILK-ALT clearly
improves the performance of the SILK. In addition, the MILP
formulation outperforms the previous two algorithms and present
the closest results to the Physical case in terms of accepted
requests and in terms of crank-back number of requests. In order
to highlight these two conclusions, we plot for the three proposed
algorithms in Fig. 7 the total number of accepted requests during
the global time period for the different traffic matrices. In addition,
Fig. 8 plots the evolution of the crank-back ratio of the three
proposed algorithms with respect to requests load. Many remarks
can be drawn from these two figures:
We can see from Fig. 7 that the MILP performs similarly to the
Physical case at low and medium loads. Moreover, we can see
from Fig. 8 that at these loads the MILP formulation presents no
crank-back. At higher loads, the MILP starts rejecting requests
and presents a positive (very low) value for the crank-back.
One may wonder why the MILP presents a crank-back at the
first place, since it is supposed to provide the optimal value
for the CSP that reflects the actual available bandwidth for the
accepted requests. This crank-back is due to the unawareness
of the CSP for the physical paths associated with the abstracted
links. Since the MILP formulation uses several physical path for
the bandwidth calculation of the virtual link, we can have an
amount of bandwidth used to route a request at the CSP level
that is split among several physical paths at the NSP level. This
is the only case for the MILP where the NSP is unable to find
available resources (there are enough resources but not on a
same path) to route a request accepted by the CSP. For higher
loads, the probability of facing such a situation increases and
the crank-back consequently increases.
We notice that the SILK presents a positive crank-back at low
load. The value of the crank-back increases dramatically with
the load. For instance, we see that at a Very High load with a
total of 3600 requests (6 scheduling periods * 600 requests per
scheduling period), we have a crank-back ratio of 0.22 which
means that 22% of the pre-accepted requests by the CSP are
rejected at the NSP level.
The SILK-ALT algorithm presents a relatively small crank-back
ratio with respect to SILK. We notice that the crank-back
increases at a much slower rate than the case of the SILK. This
result highlights the significant improvement of SILK-ALT with
respect to the SILK algorithm.
For the Very High load, the MILP formulation and the SILK-ALT
reduce the crank-back ratio by 95.5% and 77.8% with respect to
SILK, respectively.
58
Fig. 6. Number of accepted requests and their respective crank-backs for the four network models, under different traffic loads.
Fig. 7. Total number of accepted requests for the simulation time, for the four
network models.
9. Conclusion
In todays Cloud environment, Cloud Service Providers (CSPs)
do not own physical infrastructure but need to deliver global-reach
services. They can use, share, or rent resources from other service
providers. For scalability and confidentiality concerns, these other
service providers only share an abstracted view of their resources.
In this paper, we focus on topology abstraction techniques as a
Fig. 8. Crank-back ratio evolution of the three abstraction algorithms with respect
to the traffic load.
59
60