Sei sulla pagina 1di 93

An Overview of Cloud & Distributed Computing -

Programming Paradigms

VCV.Rao
Centre for Development of Advanced Computing (C-DAC),

Pune University Campus

National Workshop on Big Data Analytics (BiDA2014) at CRRao AIMSCS


August 22-24, 2014,
jointly with CMSD, U of Hyderabad, & Computer Society of India.
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

VCV. Rao, Ph.D


Associate Director /HoD
HPC Frontier technologies Exploration (HPC-FTE) Group
Centre for Development of Advanced Computing (C-DAC)
Pune University Campus,
GaneshKhind, Pune
Maharashtra State, India
Email : vcvrao@cdac.in
CDAC is a R&D Institute of Department of Electronics and Information Technology (DeitY) ,
Ministry of Communications & Information Technology (MCIT) );
Government of India

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

Distributed and Cloud Computing Prog. & Software Environments An Overview


Lecture Outline

Following topics will be discussed


An Overview of Distributed Computing Architectures
(HPC Systems High Performance Computing, & High
Throughput Computing, Grid Computing & Utility
Computing) and Cloud Computing
Programming on Cloud and Distributed Computing
Systems
Opportunities for Applications

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

References & Source for Presentation


The Presentation is prepared based on Authors experience on
various research projects on Cloud & Distributed Computing as
well as references given in this presentation.
Source :
Text Books, Research Articles, Web Sites as indicated in many
slides and References of this presentation

Courtesy :
Authors research work as indicated in Text Books, Research
Articles, Web Sites as indicated in many slides and References of
this presentation

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

C-DAC , in brief

Centre for Development of Advanced Computing (C-DAC)


is the

premier R&D organization of the Department of

Electronics and Information Technology (DeitY), Ministry of

Communications & Information Technology (MCIT) for


carrying out R&D in IT, Electronics and associated areas.

The setting up in 1988 - C-DAC has been undertaking


building of multiple generations of Supercomputer starting

from PARAM with 1 GF in 1988.

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

Distributed System Models & Enabling Technologies

Scalable Computing over the Internet


The New Computing Paradigms

Computing Paradigm Distinctions

Centralized Computing

Parallel Computing

Distributed Computing

Cloud Computing
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

Distributed System Models and Enabling Technologies

Scalable Computing over the Internet


High-Performance Computing

Supercomputers (massively parallel processors or MPPs)


are

gradually

replaced

by

clusters

of

cooperative

computers out of desire to share computing resources).


The Cluster is often a collection

of homogeneous

computer nodes that are physically connected in close


range to one another.
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

Distributed System Models & Enabling Technologies

Scalable Computing over the Internet


High-Throughput Computing (HTC)

Peer-to-peer (P2P) networks are formed for distributed file


sharing and content delivery applications.

Change will take place on HPC Paradigms to an HTC


paradigms (High-flux computing). The applications for highflux computing is the Internet searches and web services by
million or more users simultaneously.
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

Distributed Comp. & Software Environments


Parallel and Distributed Programming Paradigms
Consider a distributed computing system consisting of a set of network nodes
or workers. For Parallelization of application on Distributed Cloud computing,
below important issues should be addressed.

Partitioning
Computation Partitioning

Data Partitioning
Mapping
Synchronization
Communication
Scheduling
VCV.Rao. C-DAC, Pune

Source : Distributed and Cloud Computing Book, From Parallel Processing to


the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann,
Publishers 2012
Source : References given in the presentation
National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014
9

Emerging Parallel Processing Platforms: Challenges


MIMD : Parallel Processing Platforms Software & Hardware

Scalability Vs. Single System Image


Distributed
Computer
Systems

Better Performance

Clusters

SMPs

Scalability Vs. Single System Image


MPPs

Future Cluster
Accelerators

Distributed
System

Single-System Image
Overlapped design space of
Clusters, MPPs, SMPs, and
Distributed Computer systems

MPP

CC-NUMA

Present
Cluster

SMP
UP

Single System Image


Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

10

Shared Pool of Computing Applications


Shared Pool of Computing
Resources: Processors,
Memory, Disks.

Guarantee at least one


workstation to many
individuals (when active)

Deliver large % of collective


resources to few individuals at
any one time.

Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

11

Emerging Parallel Processing Platforms: Challenges


Current Parallel Processing Platforms
Cray XT4, XT5; IBM Systems
CrayX1EVector Processing

One-to-All Broadcast

One-to-All Personalized
Communication
All-to-All Broadcast

Cluster of Multi-Core Systems


PARAM Series

All-to-All personalized
Communication
Circular Shift

ANUPAM

Reduction

ANURAG

Prefix Sum

3D torus Topology

NETWORK
Multi Core Node 0
CPU0

CPU1

CPU2

Memory

Multi Core Node 1


CPU3

CPU0

CPU1

CPU2

CPU3

Memory

Cluster of Multi Core Processor Systems


VCV.Rao. C-DAC, Pune

Source : References

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

12

Emerging Parallel Processing Platforms: Clusters


Future/ Idealized Cluster Architecture
Programming Environment : GLSL(OpenGL Shading Language);
HLSL(high level shader language); Direct X, Cg, OpenCL, OpenMP
Programming Environment
(Java, C, Fortran, MPI, PVM)

top-level switches (288 ports)

Connects to 12 nodes

node-level switches (24 ports)

Web Windows Other Subsystems


User Interface (Database, OLTP)
NVIDIA-Kepler-CUDA

Single System Image Infrastructure


Availability Infrastructure
AMD Fire Stream

User
Application

OS

OS

Node

Node

MPI

OS

TCP
IP

Node

Intel Xeom-Phi

Driver
NIC

Hardware

Gigabit Commodity Interconnect/SAN

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

C-DAC RC-FPGA

13

Distributed System Models and Enabling Technologies


High
(100%)
Grid
Cluster

System availability

MPP
Cloud

NUMA

P2P
network

SMP

Low
(0)
Small

System size (# processor cores)

Large (106)

Estimated system availability by system size of common configurations in 2010.


Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
by Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgann & Kaufmann, Publishers 2012

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

14

Distributed System Models and Enabling Technologies

Scalability (No. of processors or


cores in a system)

107
106

P2P

105

Cluster

104
Cloud

103
NUMA

Grid

102
10

SMP

1
1

10

102

103

104

105

106

107

System scalability versus multiplicity of OS images


Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
by Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgann & Kaufmann, Publishers 2012

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

15

Applications in Grid Computing


Classification of Grid applications
Grid aware applications
Multi-disciplinary Applications

All applications which


make use of coupled
computational resources
that are not available at a
SINGLE SITE

SAME

Grid Services: A Layered Grid Architecture


Coordinating multiple resources:
ubiquitous infrastructure services, appspecific distributed services
Sharing single resources: negotiating
access, controlling use
Talking to things: communication
(Internet protocols) & security

Application

Collective

Application

Resource

Connectivity

Controlling things locally: Access


to, & control of, resources

Transport

Internet
Fabric

Source : References & The Globus CoG Home Page. http://www.globus.org/cog.


Globus. http://www.globus.org. http://www.teragrid.org/
The NASA Information Power Grid Home Page. http://www.ipg.nasa.gov. http://www.cdac.in/
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

Internet Protocol Architecture

Meta Applications

Link

16

Applications in Grid Computing

Compute hardware
Intel/Linux Clusters, Alpha SMP clusters,
POWER4 cluster,
Large-scale storage systems
hundreds of terabytes for secondary storage
Very high-speed network backbone
bandwidth for rich interaction and tight
coupling
Grid middleware
Globus, data management,
Next-generation applications

Grid Systems

Grids are distributed systems that enable


the sharing, selection, and aggregation of
resources distributed across "multiple"
administrative domains based on
availability, capability, performance, cost,
and quality-of-service requirements

Categories of Grid Applications


First-in-time, or an on-demand
computing
Data-Intensive Computing
Collaborative Computing
High Throughput Computing
Distributed Supercomputing

Comp. Grid

Distributed Super
Computing

High Throughput

Data Grid
On Demand

Service Grid
Grid Taxonomy

Collaborative
Multi-Media

Source : References & The Globus CoG Home Page. http://www.globus.org/cog.


Globus. http://www.globus.org. http://www.teragrid.org/
The NASA Information Power Grid Home Page. http://www.ipg.nasa.gov. http://www.cdac.in/
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

17

Utility Computing
Utility computing is the packaging of Computing resources such as computation
and storage, as a metered service similar to a traditional Public Utility(such as
electricity, water, natural gas or telephone network ).
More related to cloud computing
Amazon Web Service (AWS)
Applications, storage, computing power and
Elastics Computer Cloud (EC2)
network
Simple Storage Service (S3)
Requires cloud like infrastructure
Pay by the drink model
EMC cloud Storage
Similar to electric service at home
Microsoft Azure
Pay for extra resources when needed
Google App Engine
To handle expected surge in demand
Unanticipated surges in demand
Better economics

A utility computing service is one in which customers receive computing resources


from a service provider (hardware and/or software) and pay by the drink, much
as you do for your electric service at home
Source : References & The Globus CoG Home Page. http://www.globus.org/cog.
The NASA Information Power Grid Home Page. http://www.ipg.nasa.gov. http://www.cdac.in/
Raj Kumar Buyya,. Bubendorfer (Eds.), Market Oriented Grid and Utility Computing, John Wiley & Sons, 2009.
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

18

Distributed System Models & Enabling Technologies


The trend towards Utility Computing: The vision of computer utilities in
modern distributed computing systems.
Web services
Data centers
Utility computing

Technology

Service

computing

convergence

HTC in business and HPC


in scientific applications

Grid computing
P2P computing
Cloud computing

Computing paradigms
Attributes/capabilities

Ubiquitous: Reliable and scalable


Automatic: Dynamic and discovery
Composable: QoS, SLA, etc.

Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
Raj Kumar Buyya,. Bubendorfer (Eds.), Market Oriented Grid and Utility Computing, John Wiley & Sons, 2009.
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

19

Distributed and Cloud Computing


Disparate nodes

HTC Systems

HPC Systems

High speed

File sharing
Distributed control

Homogenous nodes

P2P network

Clusters of MPPs

Centralized control

Disparate clusters

Geographically sparse

Computational and data grids

Service-oriented architecture (SOA)

RFID and sensors


Virtualization

Web 2.0 services

Internet of Things

Internet clouds

Evolutionary trend toward parallel distributed, and cloud computing with clusters,
MPPs, P2P network and grids and clouds, web services, and the Internet of Things.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

20

Extreme-Scale Computing Challenges


HPC Accelerators
Low Power
Consumption
GPU
(Nvidia, AMD)

FPGA

MIC
(Xilinx, Altera) (Intel Xeon Phi)

Effort to port and optimize code for a accelerator type

Speed versus Efforts : Speedup over CPU vs Time to develop


for a particular accelerator type
Application Topologies /Network

Courtesy & Source : Reference : Intel, AMD, NVIDIA, Xlinx, Altera;

VCV.Rao. C-DAC, Pune

David Bader (References - 176-179)

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

21

Accelerator Comp.: Prog. Env. : Energy Efficiency


Shared Address Space Programming (Offload, Native, Host)
OpenMP, Intel TBB, Cilk Plus, Pthreads

Shared Address Space Programming (Only Offload)


OpenMP , Intel TBB, Pthreads - CUDA

Message Passing Programming (MPI)


(Offload MIC Offload /Host Offload)
MPI - (Symmetric & Co-processor /Host)

Message Passing Programming (MPI)


(Offload MIC Offload /Host Offload)
MPI - (Symmetric & Co-processor /Host)

Hybrid Programming
(MPI OpenMP, MPI Cilk Plus
MPI-Intel TBB, MPI-Pthreads)

Application

Host

Coprocessor

Application

Host

Coprocessor

Hybrid Programming (MPI CUDA)


Source : References & http://www.intel.com/; http://www.nvidia.com, http://www.adm.com, http://www.cdac.in

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

22

Applications

Software Threading

Multi-to-May-Core Systems UMA & NUMA Systems

Hybrid Computing

Prog.API - Multi-Core Systems with Devices

Very-high
level

Computational
Science

Data
Informatics

Information
Technology

Efficient, Deterministic, Declarative, Restrictive


Expressiveness based language

High level

Parallel Prog. Languages (OpenMP, PGAS, Intel TBB,


Cilk Plus, OpenACC, CUDA)

Low-level

Low-level APIs (MPI, Pthreads, OpenCL, Verilog)

Very
low-level

Machine code, Assembly

Heterogeneous
Hardware
Coprocessors
GPUs
FPGAs
Source : NVIDIA, AMD, SGI, Intel, IBM Alter, Xilinux & References
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

23

Distributed System Models & Enabling Technologies

Cloud Computing over the Internet


Paid services

Hardware

Software

Internet cloud
User

Storage

Network

Submit requests
Service

Virtualized resources from data centres to form a Internet cloud,


provisioned with hardware, software, storage, network, and
services for paid users to run their applications
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

24

Distributed System Models & Enabling Technologies

Cloud Computing over the Internet


Features of Cloud & Grid Platforms
Cloud Capabilities & Platform
Features
Traditional Features Common to
Grids and Clouds
Data Features and Databases
Programming and Runtime Support

Paid
services

User
Submit

Cloud Platforms Capabilities


requests
Should offer cost-effective utility
computing with the elasticity to scaleup and down in power
Commercial Clouds offer different
capabilities
Commonly termed as Platform as a
Service (PaaS) Ex : Azure
Commonly termed as Infrastructure
as a service (Iaas) Ex : Amazon

Hardware

Software

Internet cloud
Storage

Network
Service

Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune
National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014
25

Cloud Computing and Service Models

Public, Private and Hybrid Clouds


A typical public cloud

Data center

Cloud service
queues

Server cluster (VMs)

Platform fronted
(web service API)
To users or other
public cloud over the
Internet

Cloud storage

Amazon
AWS

Microsoft
Azure

IBM Blue
Cloud

The Internet
A hybrid cloud

Private cloud
(IBM RC2)

Public

Salesforce
Force.com

Google App
engine

...
An
Intranet

Cloud users

Public, private and hybrid clouds illustrated by functional architecture and


connectivity of representative clouds
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

26

Cloud Computing and Service Models


Data-Center Networking Structure
Internet

Internet
BR

Data Center
Layer 3

BR

AR

AR

LB

LB

AR

AR

Layer 2

Key:
BR = L3 border router
AR = L3 access router
S = L2 switch
LB = Load balancer
A = Rack of servers

A single layer 2 domain


Standard data-center networking for the cloud to access the Internet.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

27

Cloud Programming & Software Environment


Parallel and Distributed Programming Paradigms
Parallel Computing and Programming Paradigms
MapReduce, Twister and Iterative MapReduce
Hadoop Library from Apache
Dryad and DryadLINQ from Microsoft
Sawzail and Pig Latin High-Level Languages
Mapping Apps. to Parallel & Distributed Systems

Monitor & Manage


Resources

Programming on Amazon AWS and Micro Azure


Programming on Amazon EC2
Amazon Simple Storage Service (S3)
Amazon Elastic Block Store (EBS) and SimpleDB
Microsoft Azure Programming Support

HPC/HTC System
Infrastructure

Access
Services

Service Consumers

Cloud
Administrator

IT Cloud

Component
Library

Programming Support Google App Engine


Programming on Google App Engine
Google File System (GFS)
BigTable , Googles NOSQL System
Chubby, Googles Distributed Lock Service

Component Vendors /
Software Publishers

Publish & Update


Components

Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

28

Distributed System Models & Virtualization

Technologies for Network-based systems

Virtual Networking and Virtualization Middleware


Virtual Machines (VMs) - X86 Architecture Guest OS
Between the VMs and host-platform, one need to deploy
a middleware layer called a virtual machine monitor
(VMM)
A native VM installed with the use of a VMM called a
hypervisor in privileged node.
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

29

Cloud Computing : Storage Virtualization


Virtual
Servers

Virtual
Storage

Logical
Representation

Virtual
Network

Virtual
Applications
Middleware

Virtual
Clients

Storage Virtualization is
Technology that makes one set of resources look and feel
like another set of resources, preferably with more
desirable characteristics
A logical representation of resources not constrained by
Physical limitations

Virtualization

- Hides some of the complexity


- Adds or integrates new function with existing services
- Can be nested or applied to multiple layers of a system

Physical Resources

Programming APIs Integrating with Schedulers & Resource Utilization


Threading on Multi-core CPUs & GPUs

Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

30

Cloud Storage and Virtualization


Storage
Cloud storage is of two types : Object based & Block based
Block storage is like a raw disk space on which file system can be
created.
For both the storage types, backend can be anything like local attached
disks, nas, das, iscsi based or fiber channel based storage boxes.
In Cloud the use of these storage :
Mostly Object storage is used for holding Virtual Machine/Virtual
Instances templates & ISOs
This type can also be used to store the app/user related files.
Block storage serves the persistent disk space for Virtual
Machines/Virtual Instances.

The cloud giants, amazon also provides these options. S3


(Simple Storage Service; Object based storage) and elastic storage (block
based storage).
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

31

Cloud Storage and Virtualization


Storage
Cloud storage is of two types : Object based & Block based
Block storage is like a raw disk space on which file system can be created.
For both the storage types, backend can be anything like local attached disks, nas, das,
iscsi based or fiber channel based storage boxes.

In Cloud the use of these storage :


Mostly Object storage is used for holding Virtual Machine/Virtual Instances
templates & ISOs
This type can also be used to store the app/user related files.
Block storage serves the persistent disk space for Virtual Machines/Virtual
Instances.

The cloud giants, amazon also provides these options. S3


(Simple Storage Service; Object based storage) and elastic storage (block
based storage).
HPC Storage - Out-of-Core Algorithms Berkeley DB, Mango NO SQL,
HDF5.0 NetCDF
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

32

Cloud Storage and Virtualization

Storage : The opensource cloud middle-wares (OpenStack &


eucalyptus) For Openstack based implementation, refer these URLS:
High level overview of Object based (Swift) and block based
storage (Cinder)
http://www.openstack.org/software/openstack-storage/ [www.openstack.org]

Refer Storage Concepts in this url:


http://docs.openstack.org/admin-guide-cloud/content//ch_gettin>

cal-architecture [docs.openstack.org]
Swift (object based storage) concepts
http://docs.openstack.org/developer/swift/overview_architecture.html

[docs.openstack.org]
Info on cinder (block based storage) concepts & APIs
http://docs.openstack.org/developer/cinder [docs.openstack.org]

Service; Object based storage) and elastic storage (block based


storage).

Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune
National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014
33

Cloud Storage and Virtualization

Storage : Eucalyptus cloud based implementation, refer these urls :


Overview of object based storage (Walrus) in Eucalyptus clouds
: http://www.eucalyptus.com/blog/2013/03/18/eucalyptus-walrus-storageconsiderations [http://www.eucalyptus.com]

few slides on block storage (elastic block storage) in eucalyptus


cloud
: http://www.slideshare.net/eucalyptus/eucalyptus-elastic-block-storage-ebsin-devtest-scenarios
[www.slideshare.net]

APIs & documentation


: https://github.com/eucalyptus/eucalyptus/wiki/Storage [github.com]

Storage types in Eucalyptus


: http://www.eucalyptus.com/blog/2012/10/03/cloud-storage-types
[www.eucalyptus.com]
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

34

Programing on Cloud & Distributed Computing


Parallel and Distributed Programming Models & Tool Sets.
Model

Description

PVM

PVM is a software package that permits a heterogeneous collection


of serial, parallel and vector computers which are connected to a
network to appear as one large computing resource

MPI

A library of subprograms that can be called from C or FORTRAN


to write parallel program running on distributed computer systems

MapReduce

A web programming model for scalable data processing on large


clusters over large data sets, or in web search operations

Hadoop

A software library to write and run large user applications on vast


sets in business applications (http://hadoop .apache.org/core)

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

35

Programing on Cloud & Distributed Computing


Parallel and Distributed Programming Models & Tool Sets.
Model

Description

Features

PVM

PVM is a software package that


permits a heterogeneous collection
of serial, parallel and vector
computers which are connected to a
network to appear as one large
computing resource

Parallel Virtual Machine (PVM) uses the message


passing model to allow programmers to exploit
distributed computing across a wide variety of
computer types, including MPPs..PVM transparently
handles all message routing, data conversion, and
task scheduling across a network of incompatible
computer architectures.

MPI

A library of subprograms that can be


called from C or FORTRAN to write
parallel program running on
distributed computer systems

Specify synchronous or asynchronous point-to-point


and collective communication commands and I/O
operations in user programs for message-passing
execution

MapReduce

A web programming model for


scalable data processing on large
clusters over large data sets, or in
web search operations

Map function generates a set of intermediate


key/value pairs; Reduce function merges all
intermediate values with same key

Hadoop

A software library to write and run


large user applications on vast sets
in business applications
(http://hadoop .apache.org/core)

A scalable, economical, efficient, and reliable tool for


providing users with easy access of commercial
clusters

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

36

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
Motivation :Simplicity of writing parallel programs in an
important metric for parallel and distributed programming
paradigms. Motivations behind parallel and distributed
programming models are :
1. To improve productivity of programmers
2. To decrease programs time to market
3. To leverage underlying resources more efficiently
4. To increase system throughput, and
5. To Support higher levels of abstraction
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

37

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce : The software framework abstracts the data
flow of running a parallel program on a distributed
computing system by providing users with two interfaces
in the form of two interfaces : Map and Reduce
Users can override these two functions to interact with
and manipulate the data flow of running their program.
In MapReduce framework, the value part of the data
(key, value), is the actual data, and the key part is only
used by the MapReduce controller to control the data flow.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

38

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms

Definition of MapReduce : The MapReduce software


framework provides an abstraction layer with the data flow
and flow of control to users, and hide the implementation
of all data flow steps such as
data partitioning
mapping
Synchronization
Communication

Scheduling
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

39

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms

Recently promoted proposed Parallel and distributed


Programming Paradigms
1. MapReduce

2. Hadoop
3. Dryad

Used for Information Retrieval Applications


Traditional Parallel Computing Models : MPI
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

40

Programing on Cloud and


Distributed Computing
Programming Enviornment

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

41

A long history of research efforts in message passing

P4
Chameleon
Parmacs
TCGMSG
CHIMP
NX (Intel i860, Paragon)
PVM (Got PVM Now ! -Good for Distributed Computing)
MPI (Got MPI now !. - Good for Large Multi-Processing)

Evaluate the needs of your application then choose (PVM or MPI)


MPI is a standard, has a steeper learning curve and doesnt have a standard way
to start tasks. MPICH does have an mpirun command
If building a new scalable, production code, should use MPI (widely supported
now)
Source : MPI References

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

42

Message Passing Architecture (MPI) Model


Message-Passing Programming Paradigm : Processors are connected
using a message passing interconnection network.

COMMUNICATION
NETWORK

P
M

On most Parallel Systems, the processes involved in the execution of a


parallel program are identified by a sequence of non-negative integers.
If there are p processes executing a program, they will have ranks 0,
1,2, ., p-1.
Source : MPI References
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

43

The Minimal Set of MPI Routines


The MPI library contains over 125 routines
But fully functional message-passing programs can be written
using only the following 6 MPI routines
MPI_Init

Initializes MPI

MPI_Finalize

Terminates MPI

MPI_Comm_size

Determines the number of processes

MPI_Comm_rank

Determines the label of the calling process

MPI_Send

Sends a message

MPI_Recv

Receives a message

All 6 functions return MPI_SUCCESS upon successful completion,


otherwise return an implementation-defined error code

All MPI routines, data-types and constants are prefixed by MPI_


All of them are defined in mpi.h ( for C/C++)
VCV.Rao. C-DAC, Pune

Source : MPI References

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

44

Starting and Terminating the MPI Library


1.#include <mpi.h>
2.main(int argc, char *argv[ ] )

3. {
4. MPI_Init(&argc, &argv );
5. // do some work
6. MPI_Finalize( );
7. }
Both MPI_Init and MPI_Finalize must be called by all
processes

Command line should be processed only after MPI_Init


No MPI function may be called after MPI_Finalize
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

45

An Overview Message Passing : Parallel Virtual Machine (PVM)

Parallel Virtual Machine (PVM) uses the message


passing model to allow programmers to exploit
distributed computing across a wide variety of computer
types, including MPPs.
When a programmer wishes to exploit a collection of
networked computers, they may have to contend with
several different types of heterogeneity:
architecture
data format
computational speed
machine load and
network load.
Source : PVM References
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

46

An Overview Message Passing : Parallel Virtual Machine (PVM)

PVM in Nutshell
Each host (could be an MPP or SMP) runs a PVMD
A collection of PVMDs define a virtual machine
Once configured, tasks can be started (spawned), killed,
signaled from a console
Basic message passing
Performance is OK, but API Semantics limit optimizations
PVM Strengths : interoperability; fault tolerance;
heterogeneity; resource control; dynamic model
Source : PVM References
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

47

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Actual Data and Control Flow :
The Main Responsibility of the MapReduce Framework :
Partitioning function
Map worker
Partitioning
function

Partitioning
function

Partitioning
function

Partitioning
function

Regions

Reduce worker

Use of MapReduce partitioning function to link the Map and Reduce workers.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

48

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce, Twister, and Iterative MapReduce
User interfaces

Input
Files

Map
Reduce
Function Flow of data Function

Output
Files

Abstraction
layer

Control flow
MapReduce
software
framework

MapReduce Library
Controller

MapReduce framework. Input data flows through the Map and Reduce functions
to generate the output result under the control flow using MapReduce software
library. Special user interfaces are used to access the Map and Reduce resources.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune
National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014
49

Cloud Prog. & Software Environments : Parallel and Distributed Programming Paradigms
Map worker
Input split

Map worker
Input split

Map worker
Input split

K3:v k5:v

K1:v k2:v k1:v k3:v K1:v k2:v k3:v k2:v

K3:v

K3:v k5:v

K1:v

Map function

M
K4:v k4:v K3:v
k4:v

Sort and group

Sort and group

Sort and group

K1:v k2:v k3:v

K1:v k2:v k3:v

K3:v k4:v

Partitioning function
R1
R2
k3:v
k5:v k1:v

Partitioning function
R1
R2
k4:v k3:v

Partitioning function
R1

R2
k2:v k3:v

Data flow implementation


of many functions in the
Map workers and in the
Reduce workers through
multiple sequences of
partitioning, combining,
synchronization and
communication, sorting
and grouping, and reduce
operations.

k1:v

Input file
partitioning

Combiner

Partitioning

Synchronization
communication
R1

R2
k2:v k3:v k3:v k4:v k3:v

Sort and group


k2:v k3:v k3:v k4:v k3:v
R

k1:v k5:v k1:v

Sort and group

Sorting and grouping

k1:v, v, v k5:v
R

Output file

Output file

Reduce worker

Reduce worker

Reduce
Output

Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

50

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Actual Data and Control Flow :
User program
(2) Fork

Controller
(2) Fork

(2) Fork

User program
Master
(3) Assign
map task

(3) Assign
reduce task

Worker

User program

Split 2

(4) Read

(5) Read
User program

(9) Communications

Worker
(12) Write
(11) Reduce

Worker
User program

Split 3

File 1

Output
files

User program

Worker

File 1

Split 1

Input
files

User program
Worker

Control flow implementation of the MapReduce functionalities in Map workers and Reduce workers
(running user programs) from input files to the output files under the control of the master user program.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune
National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014
51

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Actual Data and Control Flow :
The Main Responsibility of the MapReduce Framework :
Summary of the following steps :
How to describe the map workers. ?

Reading the Input data (data distribution)


Each Map worker reads its corresponding portion of the
input data, namely the input data split and sends it to its
Map function.
Although a map worker may run more than one Map
function, which means it has been assigned more than one
input data split, each worker is usually assigned one inout
split only
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

52

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Logical Dataflow
The input data to the Map function is in the form of a
(key, value) pair.
The output data from the Map function is structured as
key, value) pairs called intermediate (key value) pairs.
The user-defined Map function processes each input
(key, value) pair and produces a number of (zeros, one
or more) intermediate (key, value) pairs.
The goal is to process all input (key, value) pairs to the
Map functions in parallel.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by
Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

53

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Logical Dataflow
The Reduce function receives the intermediate (key, value)
pairs in the form of a group of intermediate values associated
with one intermediate key (key, [set of values] ).
The MapReduce framework forms these groups by first
sorting the intermediate (key, value) pairs and then grouping
values with the same key.

Data is sorted to simplify the grouping process.


The Reduce function processes each (key, [set of
values] ) group and produces a set of (key, value) pairs as
output.
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

54

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Actual Data and Control Flow :
The Main Responsibility of the MapReduce Framework : Run a users
program on a distributed computing system. Therefore, the MapReduce
framework meticulously handles all

data partitioning
mapping
Synchronization

Communication and
Scheduling
Details of such data flows are required to address overheads and
performance issues from scalability point of view.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

55

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Actual Data and Control Flow :
The Main Responsibility of the MapReduce Framework :
Summary of the following steps :
1. Data Partitioning : The MapReduce library splits the input
data (files) already stored in GFS into M pieces that also
correspond to the number of map tasks.

Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

56

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Actual Data and Control Flow :
The Main Responsibility of the MapReduce Framework :
Summary of the following steps :
2. Computation Partitioning : This is implicitly handled (in
the MapReduce framework) by obliging users to write
their programs in the form of the Map and Reduce
functions. Therefore, the MapReduce library only
generates copies of a user program (e.g., by a fork system
call) containing the Map and Reduce functions, distributes
them, and starts them up on a number of available
computation engines.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

57

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Actual Data and Control Flow :
The Main Responsibility of the MapReduce Framework :
Summary of the following steps :
3. Determining the master and workers : The MapReduce
architecture is based on a master-worker model.
Therefore, one of the copies of the user program
becomes the master and the rest become workers. The
master picks idle workers, and assigns the Map and
Reduce tasks to them.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

58

Cloud Prog. & Software Environments


Parallel and Distributed Programming Paradigms
MapReduce Actual Data and Control Flow :
The Main Responsibility of the MapReduce Framework :
Summary of the following steps :
3. Determining the master and workers : The MapReduce
architecture is based on a master-worker model.
What is Compute Engine ?
A map/reduce worker is typically a computation engine such
as a cluster node to run map/reduce tasks by executing
Map/Reduce functions.
Source : Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things,
By Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgan & Kaufmann, Publishers 2012
Source : References given in the presentation
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

59

Programing on Cloud and


Distributed Computing
Application Challenges

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

60

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

Where are Opportunities ?


Application-oriented Opportunities Through
Artificial Intelligence Algorithms
High Performance Comp. for massive graphs
Streaming
Visualization of large Data Sets
Heterogeneous Systems under CLOUD Comp.
Combined use of Many-core (PARAM YUVA-II) (A
combination of Co-processors & GPU Accelerators)
Power-aware Computing Energy Efficient
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

61

Graphs are pervasive in large-scale data analysis


Graphs are spared through-out in large-scale data analysis

Source of massive data : Petascale simulations, internet, scientific applications


Challenges : Data Size, heterogeneity, uncertainty, data quality.: Discover
emergent communities, model spread of Information

Astro-Physics
Problem : Outlier Detection of
Observations
Challenges: Massive Data Sets
Variation - timewise
Graph Problems: Data Mining
Alg. Association & Clusters;
Data Storage handling

Bio-Informatics
Problem : Drug Design
/Protein/Seq. Analysis
Challenges: Massive Data
Sets Data Heterogeneity
Graph Problems: Data
Mining Alg. Clustering; Fast
Query Searching Alg.

Bio-Informatics
Problem : Discover emergent
communities, Real-time Information
spread & Knowledge recovery
/Challenges: Massive Data Sets Data
Heterogeneity New analytics
Graph Problems: Data Mining Alg.
Clustering Shortest Path, Small /Large
Queries; Data Movement Irregular
Access

Source : References & David Bader s talk on Massive Scale Graph Analytics in HIPC-2012 India by George Bader
:Georgia Tech College of Computing
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

62

Social Networks Analysis & Pattern Recognition


Massive Data Computing - BIG DATA ANALYTICS
Application: Data Mining Large Scale Weather Simulation
Ocean and Land Temperature (Jan 1982)

Incremental Improvements :
Few Cores to Many Cores
Research Goals:

NPP
Pressure
Precipitation

Find global climate patterns of


interest to Earth Scientists

Parallel Data Mining

Global snapshots of values for a


number of variables on land surfaces
or water.

NPP
Pressure

Precipitation

SST

SST

Latitude

grid cell

Longitude

Data Mining

Time

zone

A key interest is finding


connections between the
ocean and the land. Large
Computing Power

Source - Reference : Vipin Kumar; Discovery of Patterns in the Global Climate System using Data Mining -

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

63

Many Core- Killer Apps of Tomorrow Parallel Alg. Design


Computer
Vision
Face
Body
Tracking Detection

(Financial)
Analytics

Physical
Simulation

Rendering
Global
Illumination

CFD

Face,
Cloth

Rigid
Body

Portfolio
Mgmt

Data Mining

Option
Pricing

Machine Cluster/ Text


learning Classify Index

Media
Synthesis

SVM
Classification

SVM
Training

PDE

Collision
detection

Level Set

Particle
Filtering

Filter/
transform

Fast Marching
Method

LCP

NLP

FIMI

IPM
(LP, QP)

K-Means

Monte Carlo

Index
Bench

Source : Intel
Krylov Iterative
Solvers (PCG)

Direct Solver
(Cholesky)

Basic matrix primitives


(dense/sparse, structured/unstructured)
VCV.Rao. C-DAC, Pune

Basic Iterative Solver


(Jacobi, GS, SOR)

Non-Convex
Method

Basic geometry primitives


(partitioning structures, primitive tests)

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

64

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

Where are Opportunities ?


Opportunity 1 : Use of Massive Graph
Computations in High Performance Computing
Interactions: Vertices (No.s); Edges (Type of
Interactions); Time Wise variation; Non re-use
Non-Locality of Data : Distributed cache based systems
Massive Threads based models may be required
Data Movement Storage Energy Efficiency
A Focused research is required to design and implement new
class of algorithms based on Graph Computations

Source : References & David Bader s talk on Massive Scale Graph Analytics in HIPC-2012 India by George Bader
:Georgia Tech College of Computing
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

65

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

Opportunity 1 : Use of Massive Graph


Computations in High Performance Computing
O(Billion) vertices, O(Trillion) edges,
1 Million updates/sec
Challenge
Maintain Analytics, update quickly
Connected Components
Agglomerative Clustering
Problem :
Irregular execution
Bandwidth and latency bound
Irregular memory access
Low-to-no reuse

Source : References & David Bader s talk on Massive Scale Graph Analytics in HIPC-2012 India by George Bader
:Georgia Tech College of Computing
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

66

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

Where are Opportunities ?


Opportunity 2 : Use of Graph Data Bases
Efficient Data Structures Few Billion vertices of
Graph Face Book- contains nodes and relationships;
Nodes contain properties (key-value pairs);
Relationships are named, directed and always have a
start and end node; Relationships can also contain
properties
Data Movement Storage Energy Efficiency
A Focused research is required to implement Graph based
Computations (FOCUS on GRAPH DATABASES)

Source : References & David Bader s talk on Massive Scale Graph Analytics in HIPC-2012 India by George Bader
:Georgia Tech College of Computing

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

67

Modeling Data with Graphs


Going Beyond Social Networks
Data Instance
Graphs are suitable for
capturing arbitrary relations
between the various
elements.

Graph Instance

Element
Elements Attributes
Relation Between
Two Elements

Vertex
Vertex Label
Edge

Type Of Relation

Edge Label

Relation between
a Set of Elements

Hyper Edge

Provide enormous flexibility for modeling the underlying data as they allow
the modeler to decide on what the elements should be and the type of
relations to be modeled
Graph Partitioning Software METICS /ParMETIS /HMETIS : http://www.cs.umn.edu/~karypis

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

68

Modeling Data with Graphs


Graph Classification

Approach

Graphs with multi-dimensional labels


Stream graphs
phone-network connections
Hypergraphs
compact representation of set relations
Benchmarks and real-life test cases!

Graph
Databases

Discover Frequent
Sub-graphs

Transform Graphs
in Feature
Representation

Select Discriminating
Features

Learn a Classification
Model

Source : References & Nishith-Pathak, Analyzing Information Flow in Social Networks: Communities, Topics, Cognition and Influence, Doctor
of Philosophy Thesis, Department of Computer Science, University of Minnesota, Minneapolis, March 2012
Graph Partitioning Software METICS /ParMETIS /HMETIS : http://www.cs.umn.edu/~karypis

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

69

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

Lake Superior: Coarse Mesh

Lake Superior: Mesh


Partitioning (by METIS) Lake Superior: Refined Mesh
Source : Graph Partitioning Software METICS /ParMETIS /HMETIS : http://www.cs.umn.edu/~karypis
Graph Partitioning Software METICS /ParMETIS /HMETIS : http://www.cs.umn.edu/~kumar

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

70

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms
Approaches for obtaining Coarsening graphs
The process of finding a maximal matching and contracting the
graph to obtain the next level coarser graph is important.

Coarsening graphs are obtained using maximal matchings Heavy edge


matching works very well. Significantly reduces the edge-weight left in the
graph. It requires very little refinement effort.
Source : Graph Partitioning Software METICS /ParMETIS /HMETIS : http://www.cs.umn.edu/~karypis
Graph Partitioning Software METICS /ParMETIS /HMETIS : http://www.cs.umn.edu/~kumar

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

71

Modeling Data with Graphs


HyperGraph Computations
Multi-level graph Partitioning Algorithms

(b) Groups Determined by Ede-Coarsening

Various Ways of matching the vertices in the hypergraph connecting they induce
Source : Graph Partitioning Software METICS /ParMETIS /HMETIS : http://www.cs.umn.edu/~karypis
Graph Partitioning Software METICS /ParMETIS /HMETIS : http://www.cs.umn.edu/~kumar

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

72

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

Where are Opportunities ?


Opportunity 3: Quick Visualization Data
New tech. for Massive Graph Data
Scientific Computing Billion of Vertices with multiple
weights proportional to Floating Point Data
Graph Analytics for Discrete Data Million to few
Billion Vertices
Use od Data Mining & Artificial Intelligence Alg.
Context-based or Situation-aware based Computing Coprocessors & Accelerators

Source : References & David Bader s talk on Massive Scale Graph Analytics in HIPC-2012 India by George Bader
:Georgia Tech College of Computing

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

73

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

Where are Opportunities ?

Opportunity 4: Combination of using


Heterogeneous Cloud Computing framework with
Many Core Systems
Solving Data analysis
Combination of Grid Computing & Cloud Computing
Combination of Hadoop & Parallel Programming for
Massively Multi-threading for SNA & BIG DATA
New Algorithms for Storage APIs for Data Science

Source : References & David Bader s talk on Massive Scale Graph Analytics in HIPC-2012 India by George Bader
:Georgia Tech College of Computing
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

74

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

Where are Opportunities ?


Opportunity 5: Energy Efficiency Computing
Power aware Computing Methodologies (Calculate Power in
Mill-watts and Performance of Application Kernels)
Consumption of Power-in-Milliwatts : Understand Floating
Point or Memory Intensive Computing
Consumption of Power in Milliwatts: Movement of Data
Across different Levels of Storage
New Algorithms for less power consumption for SNA and
BIG-DATA

Source : References & David Bader s talk on Massive Scale Graph Analytics in HIPC-2012 India by George Bader
:Georgia Tech College of Computing

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

75

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

To work on each Opportunity


What is Required ?
Graph Algorithms - Large Scale Data Bases Graph - Data Mining Association & Clustering
Use Graph Data Bases (Irregular Computations
/Irregular Memory Access)
BIG Data Analytics Scientific Comp./ NonScientific Comp.) Data Parallelism Approach

Source : References & David Bader s talk on Massive Scale Graph Analytics in HIPC-2012 India by George Bader
:Georgia Tech College of Computing
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

76

Massive Data Computing - BIG DATA ANALYTICS


Distributed Commuting - Prog. Paradigms

To work on each Opportunity


What is Required ?
Storage Data Access in real time & Data
Management - Unstructured /Irregular Data
Storage HPC Storage (HDF5, Berkeley DB,
PLFS, netCDF, MPI-IO, SWIFT)
Hadoop implementation of MapReduce

Source : References & David Bader s talk on Massive Scale Graph Analytics in HIPC-2012 India by George Bader
:Georgia Tech College of Computing
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

77

Cloud and Distributed System Technologies


Conclusions
An Overview of Distributed Computing and Cloud
Computing
Programming on Cloud and Distributed Computing
Systems
Opportunities for Applications on Disturbed Computing

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

78

References
1.
2.

3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by Kai
Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgann & Kaufmann, Publishers 2012
Amazon EC2 and S3, Elastic Compute Cloud (EC2) and Simple Scalable Strorage (S3),
http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud and
http://spatten_presentations.s3.amazonaws.com/s3-pm-rails.pdf
F. Berman, G. Fox, T. Hey (Eds.), Grid Computing, Wiley, 2003.
K. Birman, Reliable Distributed Systems: Technologies, Web Services, and Applications, SpringerVerlag, 2005.
G. Boss, et al., Cloud Computing-The BlueCloud Project.
www.ibm.com/developerworks/webspehere/zones/hipods/, October 2007.
J. Dongarra, et al. (Eds.), Source Book of Parallel Computing, Morgan Kaufmann, San Francisco, 2003.
V. K. Garg, Elements of Distributed Computing, Wiley-IEEE Press, 2002.
K. Hwang, Advanced Computer Architecture: Parallelsim, Scalability, Programming, McGraw-Hill,
1993.
K. Hwang, Z. Xu, Scalable Parallel Computing, McGraw-Hill, 1998.
NVIDIA Corp. Kepler: NVIDIAs Next-Generation CUDA Compute Architecture, White paper, 2013.
I. Taylor, From P2P to Web Sertives and grids, Springer-Verlag, London 2005.
Twister, Open Source Software for Iterative MapReduce, http://www.iterativemapreduce.org/.
Wikipedia, Internet of Things, http://en.wikipedia.org/wiki/Internet_of_Things, June 2010.
Wikipedia, CUDA, http://en.wikipedia.org/wiki/CUDA, March 2011.
Wikipedia. TOP500, http://en.wikipedia.org/wiki/TOP500, February 2011.

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

79

References
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.

29.

D. Bader, R. Pennington, Cluster computing applications, Int. J. High Perform. Comput. (May) (2001).
R. Buyya (Ed.), High-Performance Cluster Computing. Vols. 1 and 2, Prentice Hall, New Jersey, 1999.
J. Dongarra, Survey of present and future supercomputer architectures and their interconnects, in:
International Supercomputer Conference, Heidelberg, Germany 2004.
Wikipedia, CUDA. http://en.wikipedia.org/wiki/CUDA, 2011, (accessed 19.02.2011).
R. Buyya, J. Broberg, A. Goscinski (Eds.), Cloud Computing; Principles and Paradigms, Wiley Press,
New York, 2011.
K. Hwang, D. Li, Trusted cloud computing with secure resources and data coloring, IEEE Internet
Comput., (September/October) (2010) 30-39.
D. Meyer, et. al., Parallax: Virtual disks for virtual machines, in: Proceedings of EuroSys, 2008.
L. Shri, H. Chen, J. Sun, vCUDA: GPU accelerated high performance computing in virtual machines, in:
Proceedings of the IEEE International Symposium on Parallel and Distributed Processing, 2009.
J. Smith, R. Nair, The architecture of virtual machines, IEEE Comput., (May) (2005).
J. Smith, R. Nair, Virtual Machines: Versatile Platforms for Systems and Processes, Morgan Kaufmann,
2006.
R. Ublig, et al. Intel virtualization technology, IEEE Comput., (May) (2005).
VMware (white paper). Understanding Full Virtualization, Paravirtualization, and Hardware Assist,
www.vmware.com/files/pdf/VMware_paravirtualization.pdf.
J. Walters, et al., A Comparison of virtualization technologies for HPC, in: Proceedings of Advanced
Information Networking and Applications (AINA), 2008.
K. Aberer, Z. Depotovic, Managing trust in a peer-to-peer information system, in: ACM CIKM
International Conference on Information and Knowledge Management, 2001.
Amazon EC2 and S3, Elastic Compute Cloud (EC2) and Simple Scalable Storage (S3).
http://spatten_presentations.s3amazonaws.com/s3-on-rails.pdf

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

80

References
30.
31.
32.
33.

34.
35.
36.

37.
38.
39.
40.
41.
42.

M. Armbrust, A. Fox, R. Griffifth, et al., Above the Clouds: A Berkeley View of Cloud Computing, Technical
Report No. UCB/EECS-2009-28, University of California at Berkeley, 10 February 2009
I. Arutyun, et al., Open circus: a globalcloud computing testbed, IEEE Comput. Mag. (2010) 35-43.
G. Boss, P. Mllladi, et al., Cloud Computing: the bluecloud project.www.ibn.com/developerworks/
websphere/zones/hipods/, 2007.
R. Buyya, CS Yeo, S. Venugopal, Market-oriented cloud computing: vision, hype, and reality for delivering IT
services as a computing utilities, in: Proceedings of the 10th IEEE International Conference on High
Performance Computing and Communications (HPCC), Dalian, China, 25-27 September 2008.
I. Foster, The grid: computing without bounds, Sci. Am. 288 (4) (2003) 78-85.
V. Jinesh, Cloud Architectures, White paper, Amazon. http://aws.amazon.com/about-aws/whatsnew/2008/07/16/cloud-architectures-white-paper/.
W. Norman, M. Paton, T. de Aragao, et al., Optimizing utility in cloud computing through autonomous
workload execution, in: Bulletin of the IEEE Computer Society Technical Committee on Data Engineering,
2009.
S. Roschke, F. Cheng, C. Meinel, Intrusion detection in the cloud, in: IEEE International Conference on
Dependable. Autonomic, and Secure Computing (DASC 09), 13 December 2009.
J. Rittinghouse, J. Ransome, Cloud Computing: Implementation, Management, and Security, CRC Publishers
2010.
Salesforce.com, http://en/wikipedia.org/wikiSalesforce.com/,2010.
VMware, Inc., Migrating Virtual Machines with Zero Downtime, www.vmware.com/, 2010 (accessed 07).
Wikipedia Cloud computing, http://en.wikipedia.org/wiki/Cloud_computing, 2010 (accessed 26.01.10)
Wikipedia, Data center, http://en.wikipedia.org/wiki/Data_center, 2010 (accessed 26.01.10)

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

81

References
43.
44.
45.

46.
47.
48.
49.
50.
51.
52.
53.

54.
55.
56.
57.

M. Hadley, Web Application Description Language (WADL), W3C Member Submission,


www.w3.org/Submission/wadl/, 2009 (accessed 18.10.10).
I. Foster, H. Kishimoto, A. Savva, et al., The open grid services architecture version 1.5, Open Grid Forum,
GFD.80, www.ogf.org/documents/GFD.80.pdf, 2006.
G. Fox, D. Gannon, A Survey of the Role and Use of Web Services and Service Oriented Architectures in
Scientific/Technical Grids, http://grids.ucs.indiana.edu/ptliupages/publications/ReviewofServices and
Workflow-IU-Aug2006B.pdf, 2006 (accessed 16.10.10)
Apache ActiveMQ open source messaging system, http://activemq-apache.org/.
NaradaBrokering open source content distribution infrastructure, ww.naradabrokering.org/.
Amazon Simple Queue Service (Amazon SQS), http://aws.amazon.com/sqs/.
Microsoft Azure Queues, http://msdn.microsoft.com/en-us/windowsazure/ff635854.aspx.
N. Wilins-Diehr, Special issue: Science gateways common community interfaces to grid resources Concurr.
Comput. Pract, Exper. 19 (6) (2007) 743-749.
D. Thain, T. Tannenbaum, M. Livny, Distributed computing in practice: the condor experience, Concurr, Pract.
Exper. 17 (2-4) (2005) 323-356.
Open Grid Computing Environments web site, www.collab-pgce.org (accessed 18.10.10).
E. Deelman, D. Gannon, M. Shields, I. Taylor, Workflows and e-Science: an overview of workflow system
features and capabilities, Future Generation Comp. Syst. 25 (5) (2009) 528-540, doi: http://dx.doi.org/
10.1016/j.future.2008.06.012
R. Allen, Workflow: An Introduction, Workflow Handbook. Workflow Management Coalition, 2001.
Kepler Open Xource Scientific Workflow System, http://kepler-project.org.
H. Gadgil, G. Fox, S. Pallickara, M. Pierce, Managing grid messaging middleware, in: Challenges of Large
Applications in Distributed Engironments (CLADE), 2006, pp. 83-91.
Condor home page, www.cs.wisc.edu/condor/.

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

82

References
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.

70.
71.
72.
73.

Microsoft, Project Trident: A Scientific Workflow Workbench, http//research.microsoft.com/enus/collaboration/tools/trident.aspx, 2010.


Zend PHP Company, The Simple Cloud API for Storage, Queues and Table, http://www.simplecloug.org/
home, 2010.
NOSQL Movement, Wikipedia list of resources, http://en.wikipedia.org/wiki/NosQL, 2010.
NoSQL Link Archive, LIST OF NOSQL DATABASES, http://nosql-database.org/, 2010.
Amazon, Welcome to Amazon SimpleDB, http://docs.amazonwebservices.com/AmazonSimpleDB/latest/
DevelperGuide/index.html, 2010.
Apache, The CouchDB document-oriented database project, http://couchdb.apache.org/, 2010.
Pig! Platform for analyzing large data sets, http://hadoop.apache.org/pig/, 2010.
A. Grama, G Karypis, V. Kumar, A. Gupta, Introduction to Parallel Computing, second ed., Addison Wesley,
2003.
S. Hariri, M. Parashar, Tools and Environments for Parallel and Distributed Computing, Series on Parallel and
Distributed Computing, Wiley, 2004, ISBN: 978-0471332886.
L. Silva, Rajkumar. Buyya, Parallel Programming Models and paradigms, (2007).
G. Fox, MPI and MapReduce, in: Clusters, Clouds, and Grids for Scientific Computing CCGSC, Flat Rock, NC,
http://grids.ucs.indiana.edu/ptliupages/presentations/CCGSC-Sept8-2010.pptx, 8 September 2010.
J. Ekanayake, X. Qiu T. Gunarathne, S. Beason, G. Fox, High Performance Parallel Computing with Clouds and
Cloud Technologies, Cloud Computing and Software Services: Theory and Technologies, CRC Press (Taylor
and Francis), 2010.
Wikipedia, MapReduce, http://en.wikipedia.org/wiki/MapReduce, 2010 (accessed 06.11.10).
R. Lammel, Googles MapReduce programming model Revisited, Sci. Comput. Prog. 68 (3) (2007) 208-237.
S. Ghemawat, H. Gobioff, S. Leung, The Google File System, in: 19th ACM Symposium on Operating Systems
Principles, 2003, pp.20-43.
Google, Introduction to Parallel Programming and MapReduce, http://code.ggogle.com/edu/parallel/
mapreduce-tutorial,html.2010.
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

83

References
74.
75.
76.
77.
78.

79.
80.
81.
82.
83.
84.
85.
86.
87.
88.

89.

90.

SALSA Group, Iterative MapReduce, http://www,iterativemapreduce.org/, 2010.


T. White, Hadoop: The Definitive Guide, Second ed., Yahoo Press, 2010.
Apache, HDFS Overview, http://hadoop.apache.org/hdfs/, 2010.
Apache! Pig! (part of Hadoop), http://pig.apache.org/hdfs/, 2010.
G. C. Fox, A. Ho, E, Chan, W. Wang, Measured characteristics of distributed and cloud computing
infrastructure for message-based collaboration applications, in: Proceedings of the 2009 International
Symposium on Collaborative Technologies and Systems, IEEE Computer Society, 2009, pp 465-467.
Eucalyptus LLC, White Papers. http://www.eucalyptus.com/whitepapers.
Nimbus, Cloud computing for science, http://www.nimbusproject.org, 2010.
Nimbus, Frequently Asked Questions, http://www.nimbusproject.org/docs/current/faq.html, 2010.
Amazon, Amazon Elastic Compute Cloud (Amazon EC2). http://aws.amazon.com/ec2.
Sector/Sphere, High Performance Distributed File System and Parallel Data Processing Engine.
http://sector.sourceforge.net
Open Stack, Open Source, Open Standards Cloud, http://openstack.org/index.php, 2010.
SALSA Group, Catalog of Cloud Material, http://salsaphc.indiana.edu/content/cloud-materials, 2010.
Microsoft Research, Cloud Futures Workshop, http://research.microsoft.com/en-us/events/
cloudfutures2010/default.aspx, 2010.
P. Chaganti, Cloud computing with Amazon Web Services, Part 1: Introduction When its smarter to rent
than to buy, http://www.ibm.com/developerworks/architecture/library/ar-cloudaes1/, 2008.
Cloud computing with Amazon Web Services, Part 2: Storage in the cloud with Amazon Simple Storage
Service (S3) Reliable, flexible, and inexpensive storage and retrieval of your data, http://www.ibm.com/
developerworks/architecture/library/ar-cloudaws2/, 2008.
P. Changanti, Cloud computing with Amazon Web Services, Part 3: Servers on demand with EC2, http://
www.ibm.com/developerworks/architecture/library/ar-cloudaws3/, 2008.
G. Fox, S. Bae, J. Ekanayake, X. Qiu, H. Yuan, Parallel Data Mining from Multicore to Cloudy Grids, book
chapter of High Speed and Large Scale Scientific Computing, IOS Press, Amsterdam, 2009
http://grids.ucs.indiana.edu/ptilupages/publications.CetratoWriteupJune11-09. pdf.
VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

84

References
91.

W. Allcock, J. Bresnahan, R. Kettimuthu, et al., The globus stripped gridFTP framework and server, in:
Proceedings of the ACM/IEEE Conference on Supercomputing, 2005.
92. R. Aydt, D. Gunter, W. Smith, et al., A Grid Monioring Architecture, Global Grid Forum Performance
Working Group, 2002.
93. Raj Kumar Buyya,. Bubendorfer (Eds.), Market Oriented Grid and Utility Computing, John Wiley &
Sons, 2009.
94. Dongarra, I. Fister, G. Fox, et al., Sourcebook of Parallel Computing, Morgan Kaufman Publishers,
2002.
95. L. Ferreira, et al., Grid Computing in Research and Education,
(http://www.redbooks.ibm.com/abstracts/sg246895.html?Open )
96. L. Ferreira, et al., Grid Computing in Research and Education,
(http://www.redbooks.ibm.com/abstracts/sg246649.html?Open )
97. I. Foster, C. Kesselman, S. Tuecke, The anatomy of the grid: enabling scalable virtual organizations, Int.
J High. Perform. Comput. Appl. 15 (3) (2001) 200.
98. I. Foster, Globus toolkit version 4: software for service-oriented systems, J. Comput. Sci. Technol, 21
(4) (2006) 513-520.
99. H. Jin. Challenges of grid computing, Advances in Web-Age Information Management. Lecture Notes
in Computer Science, 3739 (2005) 25-31.
100. I Taylor, From P2P to Web Services and Grids, Springer-Verlag, London, 2005.
101. D. Thain, T. Tannenbaum, M. Livny, Distributed computing in practice: the condor experience,
Concurrency. Comput. Pract. Exp., (2005) 323-356.
102. Wikipedia, Grid Computing. http://een.wikipedia.org/wiki/Grid_computing, (accessed 26.04.11)

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

85

References
103. S. Androutsellis, D. Spoinellis, A survey of P2P content distribution technologies. ACM,. Comput. Surv.
(December) (2004).
104. J. Buford, H. Yu, E. Lua, P2P Networking and Applications, Morgan Kayfmann, December 2008. Also
www. P2pna.com.
105. X. Cheng, J. Liu, NetTube: exploring social networks for peer-to-peer short video sharing, in:
Proceedings of IEEE Inforcom, March 2009.
106. P. B. Godfrey, S. Shenker, I. Stoica, Minimizing churn in distributed systems. in Proceedings of ACM
SIGCOMM, 2006.
107. K. Ross, D. Rubenstein, Peer-to-peer systems in: IEEE Inforcom, Hong Kong, 2004, (Tutorial slides).
108. M. Ambrust, A. Fox R. Giffith, et al., Above the Clouds: A Berkeley View of Cloud Computing, Technical
Report No. UCB/CCES-2009-28, University of California at Berkeley, 10 February 2009.
109. J. Ekanayke, T. Gunarathne, J. Qiu, Cloud technologies for bioinformatics applications, in: IEEE
Transactions on Parallel and Distributed Systems, accepted to appear, http://grids.ucs.indiana.edu
/ptliupages/publications/BioCloud_TPDS_Journal_Jan4_2010.pdf, 2011)
110. S. Garfinkel, Commodity grid computing with Amazons S3 and EC2, Login 32 (1) (2007) 7-13
111. Grid 5000 and ALLADIN-G5K: An infrastructure distributed in 9 sites around France, for research in
large-scale parallel and distributed systems. http://www.grid5000.fr/mediawiki/index.php/Grid5000:
Home, (accessed 20.11.10).
112. R. Grossman, Y. Gu, M. Sabala, et al., The open cloud testbed: Supporting open source cloud
computing systems based on large scale high performance, in: A. Doulamis, et al., (Eds.),
DynamicNetwork Services, Springer, Berlin Heidelberg, 2010, pp. 89-97.
113. J. Rittinghouse, J. Ransome, Cloud Computing: Implementation, Management and Security, CRC
Publisher, 2010.

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

86

References

114. H. Song, Exploring Facebook and Twitter Technologies for P2P Social Networking, in: EE 657 Final Project
Report, University of Sothern California, May 2010.
115. E. Walker, Benchmarking Amazon EC2 for high-performance scientific computing, Login 33 (5) (2008) page
18-23.
116. M. Weng, A Multimedia Social Networking Community for Mobile Devices, Tisch School of The Arts, New
York University, 2007.
117. M. Yigitbasi, A. losup, D. Epema, C-Meter: a framework for performance analysis of computing clouds, in:
International Workshop on Cloud Computing, May 2009.
118. PVM Parallel Virtual Machine A Users Guide and Tutorial For Networked Parallel Computing Al Geist,
Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Mancheck, Vaidy Sunderam, The MIT Press
Cambrdge, Massachusetts, London England, 1994
119. pvmhome http://www.csm.ornl.gov/pvm/pvm_home.htmloo
120. David Browning, Embarrassingly Parallel Benchmark under PVM, Computer Science Corp., NASA Ames
Research Labs.
121. J.Dongara et al PVM- experiences, current status and Future Directions, ORNL- Tenessee.
122. Building Linux Clusters O-Reilly
123. A Performance Comparison of DSM, PVM, and MPI, Paul Werstein, Mark Pethick, Zhiyi Huang, University
of Otago, Dunedin, New Zealand , 2003

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

87

References
124. Andrews, Grogory R. (2000), Foundations of Multithreaded, Parallel, and Distributed
Programming, Boston, MA : Addison-Wesley
125. Butenhof, David R (1997), Programming with POSIX Threads , Boston, MA : Addison Wesley
Professional
126. Culler, David E., Jaswinder Pal Singh (1999),
Parallel Computer Architecture - A
Hardware/Software Approach , San Francsico, CA : Morgan Kaufmann
127. Grama Ananth, Anshul Gupts, George Karypis and Vipin Kumar (2003), Introduction to Parallel
computing, Boston, MA : Addison-Wesley
128. Intel Corporation, (2003), Intel Hyper-Threading Technology, Technical User's Guide, Santa Clara
CA : Intel Corporation Available at : http://www.intel.com
129. Shameem Akhter, Jason Roberts (April 2006), Multi-Core Programming - Increasing Performance
through Software Multi-threading , Intel PRESS, Intel Corporation,
130. Bradford Nichols, Dick Buttlar and Jacqueline Proulx Farrell (1996), Pthread Programming O'Reilly
and Associates, Newton, MA 02164,
131. James Reinders, Intel Threading Building Blocks (2007) , OREILLY series
132. Laurence T Yang & Minyi Guo (Editors), (2006) High Performance Computing - Paradigm and
Infrastructure Wiley Series on Parallel and Distributed computing, Albert Y. Zomaya, Series Editor
133. Intel Threading Methodology ; Principles and Practices Version 2.0 copy right (March 2003), Intel
Corporation
134. William Gropp, Ewing Lusk, Rajeev Thakur (1999), Using MPI-2, Advanced Features of the
Message-Passing Interface, The MIT Press..
135. Pacheco S. Peter, (1992), Parallel Programming with MPI, , University of Sanfrancisco, Morgan
Kaufman Publishers, Inc., Sanfrancisco, California
136. Kai Hwang, Zhiwei Xu, (1998),
Scalable Parallel Computing (Technology Architecture
Programming), McGraw Hill New York.
137. Michael J. Quinn (2004), Parallel Programming in C with MPI and OpenMP McGraw-Hill
International Editions, Computer Science Series, McGraw-Hill, Inc. Newyork
138. Andrews, Grogory R. (2000),
Foundations of Multithreaded, Parallel, and Distributed
Progrmaming, Boston, MA : Addison-Wesley

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

88

References
139. SunSoft. Solaris multithreaded programming guide. SunSoft Press, Mountainview, CA, (1996),
Zomaya, editor. Parallel and Distributed Computing Handbook. McGraw-Hill,
140. Chandra, Rohit, Leonardo Dagum, Dave Kohr, Dror Maydan, Jeff McDonald, and Ramesh Menon,
(2001),Parallel Programming in OpenMP San Fracncisco Moraan Kaufmann
141. S.Kieriman, D.Shah, and B.Smaalders (1995), Programming with Threads, SunSoft Press,
Mountainview, CA. 1995
142. Mattson Tim, (2002), Nuts and Bolts of multi-threaded Programming Santa Clara, CA : Intel
Corporation, Available at : http://www.intel.com
143. I. Foster (1995, Designing and Building Parallel Programs ; Concepts and tools for Parallel
Software Engineering, Addison-Wesley (1995
144. J.Dongarra, I.S. Duff, D. Sorensen, and H.V.Vorst (1999), Numerical Linear Algebra for High
Performance Computers (Software, Environments, Tools) SIAM, 1999
145. OpenMP C and C++ Application Program Interface, Version 1.0". (1998), OpenMP Architecture
Review Board. October 1998
146. D. A. Lewine. Posix Programmer's Guide: (1991), Writing Portable Unix Programs with the Posix.
1 Standard. O'Reilly & Associates, 1991
147. Emery D. Berger, Kathryn S McKinley, Robert D Blumofe, Paul R.Wilson, Hoard : A Scalable
Memory Allocator for Multi-threaded Applications ; The Ninth International Conference on
Architectural Support for Programming Languages and Operating Systems (ASPLOS-IX).
Cambridge, MA, November (2000). Web site URL : http://www.hoard.org/
148. Marc Snir, Steve Otto, Steyen Huss-Lederman, David Walker and Jack Dongarra, (1998) MPI-The
Complete Reference: Volume 1, The MPI Core, second edition [MCMPI-07].
149. William Gropp, Steven Huss-Lederman, Andrew Lumsdaine, Ewing Lusk, Bill Nitzberg, William
Saphir, and Marc Snir (1998) MPI-The Complete Reference: Volume 2, The MPI-2 Extensions
150. A. Zomaya, editor. Parallel and Distributed Computing Handbook. McGraw-Hill, (1996)
151. OpenMP C and C++ Application Program Interface, Version 2.5 (May 2005), From the OpenMP
web site, URL : http://www.openmp.org/
152. Stokes, Jon 2002 Introduction to Multithreading, Super-threading and Hyper threading Ars
Technica, October (2002)
153. http://www.cdac.in/opecg2009/

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

89

References
154.Stokes, Jon 2002 Introduction to Multithreading, Super-threading and Hyper threading Ars Technica,
October (2002)
155.Andrews Gregory R. 2000, Foundations of Multi-threaded, Parallel and Distributed Programming,
Boston MA : Addison Wesley (2000)
156.Deborah T. Marr , Frank Binns, David L. Hill, Glenn Hinton, David A Koufaty, J . Alan Miller, Michael
Upton, Hyperthreading, Technology Architecture and Microarchitecture, Intel (2000-01)
157.http://www.erc.msstate.edu/mpi/
158.http://www.arc.unm.edu/workshop/mpi/mpi.html
159.http://www.mcs.anl.gov/mpi/mpich
160.The MPI home page, with links to specifications for MPI-1 and MPI-2 standards :
http://www.mpiforum.org
161.Hybrid Programming Working Group Proposals, Argonne National Laboratory, Chiacago (2007-2008)
162.TRAC Link : https://svn.mpi-forum.org/trac/mpi-form-web/wiki/MPI3Hybrid
163.Threads and MPI Software, Intel Software Products and Services 2008 - 2009
164.Sun MPI 3.0 Guide November 2007
165.Treating threads as MPI processes thru Registration/deregistration Intel Software Products and
Services 2008 - 2009
166.Intel MPI library 3.2 - http://www.hearne.com.au/products/Intelcluster/edition/mpi/663/
167. http://www.erc.msstate.edu/mpi/
168. http://www.arc.unm.edu/workshop/mpi/mpi.html
169. http://www.mcs.anl.gov/mpi/mpich
167. The MPI home page, with links to specifications for MPI-1 and MPI-2 standards :
http://www.mpiforum.org
168. Hybrid Programming Working Group Proposals, Argonne National Laboratory, Chiacago (2007-2008)
169. TRAC Link : https://svn.mpi-forum.org/trac/mpi-form-web/wiki/MPI3Hybrid
170. Threads and MPI Software, Intel Software Products and Services 2008 - 2009
171. Sun MPI 3.0 Guide November 2007

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

90

References
172. Treating threads as MPI processes thru Registration/deregistration Intel Software Products and
Services 2008 - 2009
173. Intel MPI library 3.2 - http://www.hearne.com.au/products/Intelcluster/edition/mpi/663/
174. http://www.cdac.in/opecg2009/
175. PGI Compilers http://www.pgi.com
176. David A. Bader, Massive-Scale Graph Analytics, Georgia Tech College of Computing, Department of
Computational Science and Engineering, HiPC-2012, Pune, India
177. D.A. Bader, G. Cong, and J. Feo, On the Architectural Requirements for Efficient Execution of Graph
Algorithms, The 34th International Conference on Parallel Processing (ICPP 2005), pp. 547-556,
Georg Sverdrups House, University of Oslo, Norway, June 14-17, 2005.
178. D.A. Bader and K. Madduri, Design and Implementation of the HPCS Graph Analysis Benchmark on
Symmetric Multiprocessors, The 12th International Conference on High Performance Computing
(HiPC 2005), D.A. Bader et al., (eds.), Springer-Verlag LNCS 3769, 465-476, Goa, India, December
2005.
179. Kamesh Madduri, David A. Bader, Jonathan W. Berry, Joseph R. Crobak, and Bruce A. Hendrickson,
Multithreaded Algorithms for Processing Massive Graphs, in D.A. Bader, editor, Petascale
Computing: Algorithms and Applications, Chapman & Hall / CRC Press, Chapter 12, 2007.
180. Cloud Applications Architectures Building Applications and Infrastructure in the Cloud George
Reese O-REILLY June 2011
181. Cloud Computing Bible Barrie Sosinsky, Wiley India Ltd, 2011
182. Cloud Computing Explained John Rhoton, British Library Cataloguing in Publication Data, 2009
183. Distributed and Cloud Computing Book, From Parallel Processing to the Internet of Things, by Kai
Hwang, Geoffrey C. Fox, Jack J. Dongarra, Morgann & Kaufmann, Publishers 2012
180. Cloud Computing Infrastructure http://www.ibm.com
181. Cloud Computing Virtualization Made Easy http://www.cisco.com/
182. Cloud Computing Infrastructure http://www.softlyaer.com
183. Microsoft Cloud OS : http://www.microsoft.com
184. Amazon EC2 Cloud Discover Windows Azure Storage http://www.windowsazure.com

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

91

References
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.

196.
197.
198.

199.
200.
201.
202.
203.
204.
205.

Programming Windows Azure http://www.amazon.com


App Engine Google Cloud Platform https://cloud.google.com/appengine
Google App Engine Google Developers; https://developers.google.com/appengine/
Oracle NoSQL Database Architecture & Implementation http://www.oracle.com/NOSQLDatabase
NoSQL - MangoDB www.mongodb.com
Cloud Computing Meghdoot : http://www.cdac.in
High level overview of Object based (Swift) and block based storage http://www.openstack.org/software/openstack-storage/
Storage types in Eucalyptus : http://www.eucalyptus.com/
Graph Partitioning Software METICS /ParMETIS /HMETIS : http://www.cs.umn.edu/~karypis
Graph Partitioning Software METICS /ParMETIS /HMETIS http://www.cs.umn.edu/~kumar
Jie Tang, Jimeng Sun, Chi Wang, and Zi Yang. 2009. Social influence analysis in large-scale networks. In Proceedings of the
15th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD 09). ACM, New York, NY, USA,
807-816
Nishith-Pathak, Analyzing Information Flow in Social Networks: Communities, Topics, Cognition and Influence, Doctor of
Philosophy Thesis, Department of Computer Science, University of Minnesota, Minneapolis, March 2012
Prof. Jaideep Srivastava ; http:/www.cs.umn.edu/~jaideep
G.Karypis, V. Kumar, and Vipin Kumar, Multilevel k-way partitioning scheme for irregular graphs, Jorunal of Parallel and
Distributed Computing, 48:96-129, 1998
The Anatomy of the Grid Enabling Scalable Virtual Organizations by Ian Foster, Carl Kesselman & etc..
Foster, I. Internet Computing and the Emerging Grid. Nature Web Matters, 2000.
http://www.nature.com/nature/webmatters/grid/grid.html
Foster, I. and Karonis, N. A Grid-Enabled MPI: Message Passing in Heterogeneous Distributed Computing Systems. In Proc.
SC'98, 1998.
The Globus CoG Home Page. http://www.globus.org/cog.
Globus. http://www.globus.org.
The NASA Information Power Grid Home Page. http://www.ipg.nasa.gov.
TeraGrid; http://www.teragrid.org/

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

92

Thank You
Any Questions ?

VCV.Rao. C-DAC, Pune

National Workshop- BIDA-2014 at CRRAO AIMSCS @ UoH August 22-24, 2014

93

Potrebbero piacerti anche