This document provides an overview of Aneka, an open-source platform for building and managing distributed applications in multi-cloud environments. It describes Aneka's architecture, application development process using its SDK, and supported programming models including task, thread, MapReduce, and parameter sweeping. Features of Aneka allow users to build, accelerate, and manage applications across different runtime environments like PC grids, clusters, multicore processors, and public/private clouds. Current and example applications using Aneka include scientific, commercial, educational projects. Ongoing research with Aneka focuses on areas like cooperative scheduling, virtual execution environments, and quality of service.
Comparison of open source paas architectural components
Aneka
1. CASE STUDY OF
ANEKA
Prepared By
Ronak Ahir Enrolment No : 140870702501
Lekha Chauhan Enrolment No : 140870702502
Ankit Mulani Enrolment No : 140870702504
2. OUTLINES
Introduction
Aneka Architecture
Application Development
Application Programming Models
Features of Aneka
Applications
Projects
3. INTRODUCTION
ANEKA is one type of SOA that is used to build, accelerate
and manage distributed applications with the help of .NET
framework
It is a software that works on RAD (Rapid Application
Development) environment
Languages :
C#, C++, VB, Delphi, Java…
… and 20 more languages
Platforms :
Windows XP/2000/2003
Linux & Mac OS X
4. CONT.
WHY ANEKA IS AVAILABLE ONLY IN PaaS LAYER?
ANEKA is available at PaaS in cloud environment It means that
it provides programming application programming interfaces
(API’s) for developing distributed applications and virtual
execution environment in which the applications developed as
per API can be made to run
6. APPLICATION DEVELOPMENT
Aneka Provides Software Development Kit (SDK) for
Developer
A Collection of tutorials explain how to develop Applications in Aneka
A Collection of class libraries constituting the Aneka Application Model
8. TASK PROGRAMMING
MODEL
It works on independent tasks only. The model is collection of
execution unit that is independent of others
Operations : Submit and Forget
Compatibility : User API includes Interface and Grid Task.
Interface executes only one operation. Grid Task is used for
remote hosts. Middleware deals with task scheduling services
and execution services
Application Manager : Build Task Based Apps
9. THREAD PROGRAMMING
MODEL
A Thread is Basic Execution Unit of System
Operations : Start, Stop, State Query and Join
Features : Provides Resources Easily in Distributed Networks and Multi-
Threaded Applications
Compatibility : User API includes Grid Thread class for execution of remote
hosts. Middleware deals with thread scheduling services and maintains
schedule of objects created of Grid Thread class
Application Manager : Build Thread Based Apps
10. MAPREDUCE
PROGRAMMING MODEL
The concept is defined as transforming initial values into list with its
final values. It is called Mapping
Reduction means using final value of list along with its source and
reduces it to shorter term with new value of list
Operations : Map (map ::( key1, value1)= list (key2, value 2) Reduce
(reduce: (key2, list value 2) = list (value 3)
Compatibility : Distributed applications User API include Mapper
and Reducer
Application Manager : Build Map Reduce Based Apps
11. PARAMETER SWEEPING
MODEL
Uses concept of task programming model. It is different from
task model in such a way that all tasks are homogenous as they
are subjected to different parameters and all combinations of
values are checked out to generate task instance
Operations : Parallelism
Compatibility : Legacy applications User API deals with micro
tasks like copy, delete and execute to compose interface.
Application Manager : Build Task Based Apps
12. COMPARISON
Task and Thread Models are Task-Based
The user Defines the Tasks that will be Executed
The user Submits the Task to the Middleware
MapReduce Model is Function-Based
The user Defines the Functions Operating on the Data
The user Configures the Middleware with Functions
The user Provides the Data
14. BUILD
Build Different types of Run-time Environments
PC Grids (Enterprise Grids)
Clusters (Data Centers)
Multicore Processors (A Multi-core Processor is a Single Computing
Component with Two or more Independent actual Processing Units)
Public and/or Private Networks
Virtual Machines
15. ACCELERATE
Aneka Accelerate Development and Deployment
Aneka uses physical machines as much as possible to
achieve maximum utilization in local environment
As Demand Increases, Aneka Provides VMs via Private
Clouds (VMWare) or Public Clouds
Aneka Scheduler allows you to run multiple applications
on same Run-time environment either Concurrently or in a
Queue Arrangement
16. MANAGE
Aneka Management Includes Following to Set-
up, Monitor, Manage and Maintain Remote and
Global Aneka Compute Clouds
Graphical User Interface (GUI)
Application Program Interface (API)
Aneka Manages Priorities and Scalability Based
on SLA (Service Level Agreement) / QoS
(Quality of Service)
17. APPLICATIONS
Current Applications
Scientific
Distributed Evolutionary Computation
Proteine Structure Prediction
Commercial
Engineering : Go Front (China): Train Models Rendering
Media and games : Platform for On-line Gaming
Financial : Risk Analysis
Office Automation: Excel Integration
Educational
Image Filtering
Image Rendering
Distributed Systems Teaching
18. PROJECTS
Research
Cooperative Scheduling
Virtual Execution Environment
Advanced Quality of Service
Resource Pricing
Cloud shift (happens)
Development
Programming and Deployment Models
Dataflow
MPI
Workflow implementation
Platform Porting