SlideShare a Scribd company logo
Task programming
Introduction
Computing categories
Frameworks
Task Based application models
Aneka Task-Based programming
◦ Task programming model
◦ Task Programming examples
Summary
References
Task computing:
◦ What is Task?
a distinct unit of code, or a program, that can be separated
and executed in a remote runtime environment
◦ Difference between Multithreaded Computing and Task
computing:
Multithreaded programming:
mainly concerned with providing a support for parallelism
within a single machine.
Task computing:
provides distribution by harnessing the computer power of
several computing nodes
◦ Now clouds have emerged as an attractive solution.
Task programming
According to the specific nature of the
problem, task computing is categorized into:
◦ High-performance computing (HPC)
◦ High-throughput computing (HTC)
◦ Many-task computing (MTC).
use of distributed computing facilities for
solving problems that need large computing
power.
Historically, supercomputers and clusters are
specifically designed to support HPC
applications.
use of distributed computing facilities for
applications requiring large computing power
over a long period of time.
HTC systems need to be robust and to
reliably operate over a long time scale.
Traditionally, computing grids composed of
heterogeneous resources (clusters,
workstations, and volunteer desktop
machines) have been used to support HTC.
aims to bridge the gap between HPC and
HTC.
MTC is similar to HTC, but it concentrates on
the use of many computing resources over a
short period of time to accomplish many
computational tasks.
In brief, MTC denotes high-performance
computations comprising multiple distinct
activities coupled via file system operations.
Some popular software systems are
◦ Condor
◦ Globus Toolkit
◦ Sun Grid Engine (SGE)
◦ BOINC
◦ Nimrod/G
◦ Aneka.
Condor
◦ most widely used and long-lived middleware for
managing clusters, idle workstations, and a
collection of clusters.
Sun Grid Engine (SGE)
◦ Tool for managing heterogeneous resources and
constitutes middleware for grid computing.
The Globus Toolkit
◦ collection of technologies that enable grid
computing.
◦ provides a comprehensive set of tools for sharing
computing power, databases, and other services.
Nimrod/G
◦ tool for automated modeling and execution of
parameter sweep applications over global
computational grids.
Berkeley Open Infrastructure for Network
Computing (BOINC)
◦ framework for volunteer and grid computing.
◦ allows us to turn desktop machines into volunteer
computing nodes that are leveraged to run jobs
when such machines become inactive.
Embarrassingly parallel applications
Parameter sweep applications
MPI applications
Workflow applications with task dependencies
Constitute a collection of tasks that are
independent from each other and that can be
executed in any order.
The tasks might be of the same type or of
different types, and they do not need to
communicate among themselves.
Supporting frameworks are Globus Toolkit,
BOINC, and Aneka.
Parameter sweep applications are a specific
class of embarrassingly parallel applications
for which the tasks are identical in their
nature and differ only by the specific
parameters used to execute them.
Any distributed computing framework that
provides support for embarrassingly parallel
applica- tions can also support the execution
of parameter sweep applications, since the
tasks composing the application can be
executed independently of each other.
Message Passing Interface (MPI) is a
specification for developing parallel programs
that communi- cate by exchanging messages.
Compared to earlier models, MPI introduces
the constraint of com- munication that
involves MPI tasks that need to run at the
same time.
Task Programming Model
Figure:- Task Programming Model Scenario
Developing Application with
Task Model
Steps:
1. Define Classes With Itask Interface
2. Create a properly Configured AnekaApplication instance
3. Create ITask instances and wrap them into AnekaTask instances
4. Execute the application and wait for its completion
ITask Interface
Namespace Aneka.Tasks
{
//Codes
public interface ITask
{
//Codes
public void Execute();
}
}
ITask Interface Implementaion
Using System;
Using Aneka.Tasks;
namespace GaussSample
{
[Serializable]
public class GaussTask:ITask
{
private double x;
public double X{ get {return this.x; } set {this.x=value;} }
private double y;
public double Y{ get {return this.y; } set {this.y=value;} }
public void Execute()
{
this.y=Math.Exp(-this.x*this.x);
}
}
}
Wrapping an ITask into an Aneka
Task Interface
GaussTask gauss=new GaussTask();
AnekaTask task=new AnekaTask(gauss);
task.AddFile("input.txt", FileDataType.Input, FileAttributes.Local);
task.AddFile("result.txt", FileDataType.Output, FileAttributes.Local);
Controlling Task Execution
Computation Logic : Task Classes, AnekaTask
Coordination logic : AnekaApplication Class
AnekaApplication Class Provides following operations:
1. Static and Dynamic task submission
2. Application state and task state monitoring
3. Event based notification of tasks completion or failure.
Task Submission
Static Submission
◦ Creation of all tasks to be executed in one one loop and
submission as single bag
Dynamic Submission
◦ Submission as a result of event-based notification mechanism
Static Submission
Configuration conf=new Configuration.GetConfiguration("conf.xml");
conf.SingleSubmission=true;
AnekaApplication<AnekaTask, TaskManager> app=new AnekaApplicatoin<Task, TaskManager>(conf);
for(int i=0;i<400;i++)
{
GaussTask gauss=new GaussTask();
gauss.X=i;
AnekaTask task=new AnekaTask(gauss);
app.AddWorkUnit(task);
}
app.SubmitExecute();
Dynamic Submission
Events:
WorkUnitFailed
WorkUnitCompleted
File Management
Files consists of
◦ Input Data
◦ Result of Computation
◦ Executable codes or library dependencies
WorkUnit and ApplicationBase Classes for file management
Using FileData Class, the user specifies the file dependencies of tasks
and application.
Task Libraries
Ready to use tasks
1. File Copy
2. Substitute Operation
3. File Deletion
4. Timed Delay
7. Task Composition
8. Legacy Application Execution
Web Services Integration
Integration with other technologies and applications by means of web
services.
Operations supported through web service:
1. Local file copy on the remote node
2. File deletion
3. Parameter substitution
3. Legacy Application execution through the common shell services
Aneka a Platform for Enterprise Grid/Cloud Computing 29
Anatomy of a Cloud
IAASData Centers
Clusters
Storage
Other Grids/Clouds
Virtualization
VM Management & Deployment
Amazon S3, EC2
OpenNebula, Eucalyptus
Mosso
SAAS
Web 2.0 Interface
Programming API
Scripting & Programming
Languages
PAAS
Google AppEngine
Microsoft Azure
Manjrasoft Aneka
Google Apps (Gmail, Docs,…)
Salesforce.com
QoSMetering
SLANegotiationAdmissionControl
PricingandBilling
Accounting
Public Cloud
Private Cloud
Aneka a Platform for Enterprise Grid/Cloud Computing 30
Aneka & Clouds
Infrastructure as a Service
Platform as a Service
Software as a Service
Aneka fits into the cloud architecture at the platform layer. This means that it provides a programming
based interface for developing distributed application and a virtual execution environment in which
the applications developed according to the published APIs can run.
Public Cloud
Private Cloud
Aneka
Aneka Architecture
Aneka a Platform for Enterprise Grid/Cloud Computing 31
System Overview
Executor
Scheduler
Executor
Executor Executor
Manager
work units
internet
internet
Aneka enterprise Cloud
Manager
work units
Manager(s)
Client Applications
Workers
Aneka
Container
Further on Aneka
Aneka supports development of parameter sweep applications.
Aneka can be used to manage workflows through plug ins.
Summary
 Task based programming is most intuitive approach for distributing the
computation of an application over set of nodes
Task Model Comprises set of services(directory, scheduling, execution
and storage)
References
1. Buyya, Selvi, Vecchiola. Mastering Cloud Computing. 1st. New
Delhi: Mc Graw Hill, 2013.

More Related Content

PPTX
VTU 6th Sem Elective CSE - Module 3 cloud computing
PPTX
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
PDF
VTU 6th Sem Elective CSE - Module 5 cloud computing
PPTX
Market oriented Cloud Computing
PPTX
Architectural patterns part 1
PDF
Aneka platform
PPTX
Unit-I_part-II_Virtualization.pptx
PPT
Unit 4
VTU 6th Sem Elective CSE - Module 3 cloud computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU 6th Sem Elective CSE - Module 5 cloud computing
Market oriented Cloud Computing
Architectural patterns part 1
Aneka platform
Unit-I_part-II_Virtualization.pptx
Unit 4

What's hot (20)

PPTX
Virtualization in cloud computing
PPTX
Issues in knowledge representation
PPTX
Data-Intensive Technologies for Cloud Computing
PPT
Introduction to Google App Engine
PDF
Overview of computing paradigm
PPTX
Introduction to Aneka, Aneka Model is explained
PPT
Ecg analysis in the cloud
PPTX
Third party cloud services cloud computing
PPT
Communication primitives
PPTX
Planning in AI(Partial order planning)
PPTX
Cloud computing and Cloud Enabling Technologies
PDF
Cloud Computing Architecture
PPT
Virtualization in cloud computing ppt
PPTX
Data security in cloud computing
PPT
Analysis modeling & scenario based modeling
PDF
Token, Pattern and Lexeme
PPTX
Cloud Computing Fundamentals
PPT
Building Aneka clouds.ppt
PPTX
Common Standards in Cloud Computing
PPT
Security Issues of Cloud Computing
Virtualization in cloud computing
Issues in knowledge representation
Data-Intensive Technologies for Cloud Computing
Introduction to Google App Engine
Overview of computing paradigm
Introduction to Aneka, Aneka Model is explained
Ecg analysis in the cloud
Third party cloud services cloud computing
Communication primitives
Planning in AI(Partial order planning)
Cloud computing and Cloud Enabling Technologies
Cloud Computing Architecture
Virtualization in cloud computing ppt
Data security in cloud computing
Analysis modeling & scenario based modeling
Token, Pattern and Lexeme
Cloud Computing Fundamentals
Building Aneka clouds.ppt
Common Standards in Cloud Computing
Security Issues of Cloud Computing
Ad

Viewers also liked (8)

PPT
Biology protein structure in cloud computing
PPSX
Federation of OpenStack clouds
PPTX
Cloud applications - Protein Structure Predication and gene expression data...
PPTX
Geoscience satellite image processing
PPT
Social Media, Cloud Computing and architecture
PPT
Satellite image processing
PPTX
Social Cloud: Cloud Computing in Social Networks
PPTX
cloud computing ppt
Biology protein structure in cloud computing
Federation of OpenStack clouds
Cloud applications - Protein Structure Predication and gene expression data...
Geoscience satellite image processing
Social Media, Cloud Computing and architecture
Satellite image processing
Social Cloud: Cloud Computing in Social Networks
cloud computing ppt
Ad

Similar to Task programming (20)

PPTX
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...
PPTX
CLOUD COMPUTING-MESSAGE PASSING INTERFACE
PPTX
Grid computiing
PPTX
PDF
Grid Computing A Research Monograph 1st Edition Janakiram
PPTX
Cloud Computing
PDF
module1st-cloudcomputing-180131063409 - Copy.pdf
PPT
Komputasi Awan
PDF
7- Grid Computing.Pdf
PPTX
Cloud programming management 111111.pptx
PPT
PPT
GRID COMPUTING.ppt
PPTX
aneka.pptx
PPTX
cc_mod1.ppt useful for engineering students
DOC
Computing notes
PPT
CLUSTER COMPUTING
PDF
Achieving High Performance Distributed System: Using Grid, Cluster and Cloud ...
PDF
Chapter 5(2).pdf
PDF
3 f6 9_distributed_systems
PDF
OIT552 Cloud Computing Material
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...
CLOUD COMPUTING-MESSAGE PASSING INTERFACE
Grid computiing
Grid Computing A Research Monograph 1st Edition Janakiram
Cloud Computing
module1st-cloudcomputing-180131063409 - Copy.pdf
Komputasi Awan
7- Grid Computing.Pdf
Cloud programming management 111111.pptx
GRID COMPUTING.ppt
aneka.pptx
cc_mod1.ppt useful for engineering students
Computing notes
CLUSTER COMPUTING
Achieving High Performance Distributed System: Using Grid, Cluster and Cloud ...
Chapter 5(2).pdf
3 f6 9_distributed_systems
OIT552 Cloud Computing Material

More from Yogendra Tamang (20)

PPTX
.Net framework
PPTX
Asp.net orientation
PPTX
Azure machine learning tech mela
PPTX
Machine learning and azure ml studio gabc
PPTX
Machine learning and azure ml studio
PPTX
Image classification with Deep Neural Networks
PPTX
Efficient Neural Network Architecture for Image Classfication
PPTX
ADO.NET Introduction
PPTX
Introduction and Starting ASP.NET MVC
PPTX
Electronics projects
PPTX
Infromation Reprentation, Structured Data and Semantics
PPTX
Arduino Workshop Day 2
PPTX
Arduino Day 1 Presentation
PPTX
Virtualization lab
PDF
Path finder
PPTX
Classification and Clustering
PPTX
Notation 3(n3)
PPTX
Cloud mobility final
PPTX
Natural language processing
PPTX
IP/Wi-Fi Based Robot
.Net framework
Asp.net orientation
Azure machine learning tech mela
Machine learning and azure ml studio gabc
Machine learning and azure ml studio
Image classification with Deep Neural Networks
Efficient Neural Network Architecture for Image Classfication
ADO.NET Introduction
Introduction and Starting ASP.NET MVC
Electronics projects
Infromation Reprentation, Structured Data and Semantics
Arduino Workshop Day 2
Arduino Day 1 Presentation
Virtualization lab
Path finder
Classification and Clustering
Notation 3(n3)
Cloud mobility final
Natural language processing
IP/Wi-Fi Based Robot

Recently uploaded (20)

PPTX
Institutional Correction lecture only . . .
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Sports Quiz easy sports quiz sports quiz
PDF
Pre independence Education in Inndia.pdf
PPTX
Cell Types and Its function , kingdom of life
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
01-Introduction-to-Information-Management.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Lesson notes of climatology university.
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Institutional Correction lecture only . . .
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Microbial diseases, their pathogenesis and prophylaxis
Module 4: Burden of Disease Tutorial Slides S2 2025
O7-L3 Supply Chain Operations - ICLT Program
Sports Quiz easy sports quiz sports quiz
Pre independence Education in Inndia.pdf
Cell Types and Its function , kingdom of life
Anesthesia in Laparoscopic Surgery in India
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Supply Chain Operations Speaking Notes -ICLT Program
STATICS OF THE RIGID BODIES Hibbelers.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
01-Introduction-to-Information-Management.pdf
TR - Agricultural Crops Production NC III.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Lesson notes of climatology university.
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx

Task programming

  • 2. Introduction Computing categories Frameworks Task Based application models Aneka Task-Based programming ◦ Task programming model ◦ Task Programming examples Summary References
  • 3. Task computing: ◦ What is Task? a distinct unit of code, or a program, that can be separated and executed in a remote runtime environment ◦ Difference between Multithreaded Computing and Task computing: Multithreaded programming: mainly concerned with providing a support for parallelism within a single machine. Task computing: provides distribution by harnessing the computer power of several computing nodes ◦ Now clouds have emerged as an attractive solution.
  • 5. According to the specific nature of the problem, task computing is categorized into: ◦ High-performance computing (HPC) ◦ High-throughput computing (HTC) ◦ Many-task computing (MTC).
  • 6. use of distributed computing facilities for solving problems that need large computing power. Historically, supercomputers and clusters are specifically designed to support HPC applications.
  • 7. use of distributed computing facilities for applications requiring large computing power over a long period of time. HTC systems need to be robust and to reliably operate over a long time scale. Traditionally, computing grids composed of heterogeneous resources (clusters, workstations, and volunteer desktop machines) have been used to support HTC.
  • 8. aims to bridge the gap between HPC and HTC. MTC is similar to HTC, but it concentrates on the use of many computing resources over a short period of time to accomplish many computational tasks. In brief, MTC denotes high-performance computations comprising multiple distinct activities coupled via file system operations.
  • 9. Some popular software systems are ◦ Condor ◦ Globus Toolkit ◦ Sun Grid Engine (SGE) ◦ BOINC ◦ Nimrod/G ◦ Aneka.
  • 10. Condor ◦ most widely used and long-lived middleware for managing clusters, idle workstations, and a collection of clusters. Sun Grid Engine (SGE) ◦ Tool for managing heterogeneous resources and constitutes middleware for grid computing.
  • 11. The Globus Toolkit ◦ collection of technologies that enable grid computing. ◦ provides a comprehensive set of tools for sharing computing power, databases, and other services. Nimrod/G ◦ tool for automated modeling and execution of parameter sweep applications over global computational grids.
  • 12. Berkeley Open Infrastructure for Network Computing (BOINC) ◦ framework for volunteer and grid computing. ◦ allows us to turn desktop machines into volunteer computing nodes that are leveraged to run jobs when such machines become inactive.
  • 13. Embarrassingly parallel applications Parameter sweep applications MPI applications Workflow applications with task dependencies
  • 14. Constitute a collection of tasks that are independent from each other and that can be executed in any order. The tasks might be of the same type or of different types, and they do not need to communicate among themselves. Supporting frameworks are Globus Toolkit, BOINC, and Aneka.
  • 15. Parameter sweep applications are a specific class of embarrassingly parallel applications for which the tasks are identical in their nature and differ only by the specific parameters used to execute them. Any distributed computing framework that provides support for embarrassingly parallel applica- tions can also support the execution of parameter sweep applications, since the tasks composing the application can be executed independently of each other.
  • 16. Message Passing Interface (MPI) is a specification for developing parallel programs that communi- cate by exchanging messages. Compared to earlier models, MPI introduces the constraint of com- munication that involves MPI tasks that need to run at the same time.
  • 17. Task Programming Model Figure:- Task Programming Model Scenario
  • 18. Developing Application with Task Model Steps: 1. Define Classes With Itask Interface 2. Create a properly Configured AnekaApplication instance 3. Create ITask instances and wrap them into AnekaTask instances 4. Execute the application and wait for its completion
  • 19. ITask Interface Namespace Aneka.Tasks { //Codes public interface ITask { //Codes public void Execute(); } }
  • 20. ITask Interface Implementaion Using System; Using Aneka.Tasks; namespace GaussSample { [Serializable] public class GaussTask:ITask { private double x; public double X{ get {return this.x; } set {this.x=value;} } private double y; public double Y{ get {return this.y; } set {this.y=value;} } public void Execute() { this.y=Math.Exp(-this.x*this.x); } } }
  • 21. Wrapping an ITask into an Aneka Task Interface GaussTask gauss=new GaussTask(); AnekaTask task=new AnekaTask(gauss); task.AddFile("input.txt", FileDataType.Input, FileAttributes.Local); task.AddFile("result.txt", FileDataType.Output, FileAttributes.Local);
  • 22. Controlling Task Execution Computation Logic : Task Classes, AnekaTask Coordination logic : AnekaApplication Class AnekaApplication Class Provides following operations: 1. Static and Dynamic task submission 2. Application state and task state monitoring 3. Event based notification of tasks completion or failure.
  • 23. Task Submission Static Submission ◦ Creation of all tasks to be executed in one one loop and submission as single bag Dynamic Submission ◦ Submission as a result of event-based notification mechanism
  • 24. Static Submission Configuration conf=new Configuration.GetConfiguration("conf.xml"); conf.SingleSubmission=true; AnekaApplication<AnekaTask, TaskManager> app=new AnekaApplicatoin<Task, TaskManager>(conf); for(int i=0;i<400;i++) { GaussTask gauss=new GaussTask(); gauss.X=i; AnekaTask task=new AnekaTask(gauss); app.AddWorkUnit(task); } app.SubmitExecute();
  • 26. File Management Files consists of ◦ Input Data ◦ Result of Computation ◦ Executable codes or library dependencies WorkUnit and ApplicationBase Classes for file management Using FileData Class, the user specifies the file dependencies of tasks and application.
  • 27. Task Libraries Ready to use tasks 1. File Copy 2. Substitute Operation 3. File Deletion 4. Timed Delay 7. Task Composition 8. Legacy Application Execution
  • 28. Web Services Integration Integration with other technologies and applications by means of web services. Operations supported through web service: 1. Local file copy on the remote node 2. File deletion 3. Parameter substitution 3. Legacy Application execution through the common shell services
  • 29. Aneka a Platform for Enterprise Grid/Cloud Computing 29 Anatomy of a Cloud IAASData Centers Clusters Storage Other Grids/Clouds Virtualization VM Management & Deployment Amazon S3, EC2 OpenNebula, Eucalyptus Mosso SAAS Web 2.0 Interface Programming API Scripting & Programming Languages PAAS Google AppEngine Microsoft Azure Manjrasoft Aneka Google Apps (Gmail, Docs,…) Salesforce.com QoSMetering SLANegotiationAdmissionControl PricingandBilling Accounting Public Cloud Private Cloud
  • 30. Aneka a Platform for Enterprise Grid/Cloud Computing 30 Aneka & Clouds Infrastructure as a Service Platform as a Service Software as a Service Aneka fits into the cloud architecture at the platform layer. This means that it provides a programming based interface for developing distributed application and a virtual execution environment in which the applications developed according to the published APIs can run. Public Cloud Private Cloud Aneka
  • 31. Aneka Architecture Aneka a Platform for Enterprise Grid/Cloud Computing 31 System Overview Executor Scheduler Executor Executor Executor Manager work units internet internet Aneka enterprise Cloud Manager work units Manager(s) Client Applications Workers Aneka Container
  • 32. Further on Aneka Aneka supports development of parameter sweep applications. Aneka can be used to manage workflows through plug ins.
  • 33. Summary  Task based programming is most intuitive approach for distributing the computation of an application over set of nodes Task Model Comprises set of services(directory, scheduling, execution and storage)
  • 34. References 1. Buyya, Selvi, Vecchiola. Mastering Cloud Computing. 1st. New Delhi: Mc Graw Hill, 2013.