Unit 3cloud
Unit 3cloud
Cloud Computing
Aneka Framework
Aneka is a platform and a framework for developing distributed applications on the Cloud. It
harnesses the spare CPU cycles of a heterogeneous network of desktop PCs and servers or
datacenters on demand.
• Aneka provides developers with a rich set of APIs for transparently exploiting such
resources and expressing the business logic of applications by using the preferred
programming abstractions. This can be a public cloud available to anyone through the
Internet, or a private cloud constituted by a set of nodes with restricted access.
• The Aneka based computing cloud is a collection of physical and virtualized resources
connected through a network, which are either the Internet or a private intranet. Each of
these resources hosts an instance of the Aneka Container representing the runtime
environment where the distributed applications are executed.
• The container provides the basic management features of the single node and leverages all
the other operations on the services that it is hosting. The services are broken up into fabric,
foundation, and execution services.
• Fabric services directly interact with the node through the Platform Abstraction Layer
(PAL) and perform hardware profiling and dynamic resource provisioning.
• Foundation services identify the core system of the Aneka middleware, providing a set of
basic features to enable Aneka containers to perform specialized and specific sets of tasks.
• Execution services directly deal with the scheduling and execution of applications in the
Cloud.
Aneka implements a Service-Oriented Architecture (SOA), and services are the fundamental
components of an Aneka Cloud.
Within a Cloud environment, there are different aspects involved in providing a scalable and
elastic infrastructure distributed runtime for applications. These services involve the following:
(a) Elasticity and Scaling: With its dynamic provisioning service, Aneka supports
dynamically up-sizing and down-sizing of the infrastructure available for applications.
(b) Runtime Management: The runtime machinery is responsible for keeping the
infrastructure up and running, and serves as a hosting environment for services.
Fabric Services
Fabric services define the lowest level of the software stack representing the Aneka
Container. They provide access to the resource provisioning subsystem.
1. Profiling and Monitoring
This infrastructure is composed by the Reporting and the Monitoring services.
▪ The Reporting Service manages the store for monitored data and makes them
accessible to other services or external applications for analysis purposes.
▪ the Monitoring Service acts as a gateway to the Reporting Service and forwards all
the monitored data that has been collected on the node to it.
Several built-in services provide information through this channel:
▪ The Membership Catalogue tracks the performance information of nodes.
▪ The Execution Service monitors several time intervals for the execution of jobs.
▪ The Scheduling Service tracks the state transitions of jobs.
▪ The Storage Service monitors and makes available the information about data transfer,
such as upload and download times, file names, and sizes.
▪ The Resource Provisioning Service tracks the provisioning and lifetime information of
virtual nodes.
All these information can be stored on RDBMS or a flat file, and they can be further
analyzed by specific applications.
2. Resource Management
Resource management is another fundamental feature of Aneka Clouds.
• It comprises several tasks: resource membership , resource reservation ,resource
provisioning.
• Aneka provides a collection of services that are in charge of managing resources.
These are: Index Service (or Membership Catalogue ), Reservation Service, and
Resource Provisioning Service.
The Membership Catalogue is the fundamental component for resource management
since it keeps track of the basic node information for all the nodes that are connected or
disconnected.
Dynamic resource provisioning is automatically allocate and adjust computing resources
based on the current demand.
Resource Provisioning Service which includes all the operations that are needed for
provisioning virtual instance. It is a feature designed to support Quality of Service (QoS)
requirements driven execution of applications.
Foundation Services
Fabric services are fundamental services of the Aneka Cloud, and define the basic
infrastructure management features of the system.
Foundation services are related to the logical management of the distributed system
built on top of the infrastructure, and provide supporting services for the execution of
distributed applications.
These services cover:
• Storage management for applications
• Accounting, billing, and resource pricing
• Resource reservation
1.Storage management:
Any infrastructure supporting the execution of distributed applications needs
to provide facilities for file/data transfer management and persistent storage
Aneka offers two different facilities for storage management:
• a centralized file storage, which is mostly used for the execution of compute-
intensive applications, and
• a distributed file system, which is more suitable for the execution of data-
intensive applications.
2.Accounting, Billing, and Resource Pricing
Accounting keeps track of the status of applications in the Aneka Cloud. The
collected information provides a detailed breakdown of the usage of the
distributed infrastructure
Aneka is a multi-tenant Cloud programming platform where the execution of
applications can involve provisioning additional resources from commercial
IaaS providers
3.Resource Reservation
Resource reservation supports the execution of distributed applications and allows
for reserving resources for exclusive use by specific applications.
• Resource reservation is built out of two different kinds of services: Resource
Reservation and Allocation Service.
• The Reservation Service will return a reservation identifier as a proof of the
resource booking.
• Resource reservation is fundamental for ensuring the Quality of Service that
is negotiated for applications.
Application Services
Application services manage the execution of applications and constitute a layer that
differentiates ac- cording to the specific programming model used for developing
distributed applications on top of Aneka
It is possible to identify two major types of activities that are common across all the
supported models: scheduling and execution
1.Scheduling
Scheduling services are in charge of planning the execution of distributed applications
on top of Aneka, and governing the allocation of jobs composing an application to
nodes
Common tasks hat are performed by the scheduling component are the following:
• Job-to-node mapping
• Rescheduling of failed jobs
• Job status monitoring
• Application status monitoring
2. Execution
Execution services control the execution of single jobs that compose applications. They
are in charge of setting up the runtime environment hosting the execution of jobs.
some common operations that apply across all the range of supported models:
• unpacking the jobs received from the scheduler
• Retrieval of input files required for the job execution
• Submission of output files at the end of execution
• Execution failure management (i.e., capturing sufficient contextual information
useful to identify the nature of the failure)
• Performance monitoring
• Packing jobs and sending them back to the scheduler
Application services constitute the runtime support of programming model in the
Aneka Cloud. Currently, there are several supported models:
(a) Task Model:
(b) Thread Model :
(c) MapReduce Model
(d) Parameter Sweep Model
• The daemon constitutes the remote management service used to deploy and control
container instances.
• The collection of resulting containers identifies the Aneka Cloud.
• The most common scenario is to use a master-worker configuration with separate nodes
for storage, as shown in below Figure.
❖ The master node features all the services that are most likely to be present in one
single copy and that provide the intelligence of the Aneka Cloud.
What specifically characterizes a node as a master node is the presence of the Index
Service (or Membership Catalogue) configured in master mode;
A common configuration of the master node is as follows:
• Index Service (master copy)
• Heartbeat Service
• Logging Service
• Reservation Service
• Resource Provisioning Service
• Accounting Service
• Reporting and Monitoring Service
• Scheduling Services for the supported programming models
o The master node also provides connection to an RDBMS facility where the state
of several services is maintained. For the same reason, all the scheduling
services are maintained in the master node.
❖ The worker nodes constitute the workforce of the Aneka Cloud and are generally
configured for the execution of applications.
A very common configuration is
the following:
• Index Service
• Heartbeat Service
• Logging Service
• Allocation Service
• Monitoring Service
• Execution Services for the supported programming models
❖ Storage nodes mostly reside on machines that have considerable disk space to
accommodate a large quantity of files.
The common configuration of a storage node is the following:
• Index Service
• Heartbeat Service
• Logging Service
• Monitoring Service
• Storage Service
• All nodes are registered with the master node and transparently refer to any failover
partner in the case of a high-availability configuration.
• Most of the Aneka nodes are constituted of physical nodes with a long lifetime and a
static configuration and generally do not need to be reconfigured often.
• For example, desktop machines that are used during the day for office automation can
be exploited outside the standard working hours to execute distributed applications.
• This scenario constitutes the most complete deployment for Aneka that is able to
leverage all the capabilities of the framework:
• Dynamic Resource Provisioning
• Resource Reservation
• Workload Partitioning