Vous êtes sur la page 1sur 52

Advance Computing Technology

170704

Prof. Kaushal T Kevadia 1
Course Contents
1. Cluster Computing at Glance
2. Cluster Setup and Administration
3. Constructing Scalable Services
4. Introduction to Grid and its Evolution
5. Implementing Production Grids
6. Anatomy of Grid
7. Introduction to Cloud Computing
8. Nature of cloud
9. Cloud elements
Prof. Kaushal T Kevadia 2
Introduction
• Develop low cost hardware and software
competent.
• Clustering:
Multiple processers work in coordination.
• Grid Computing:
Process of applying or combining the resources
of multiple computers in a single network.

Prof. Kaushal T Kevadia 3
Introduction
• Learn about:
• Scalable parallel computer & its architecture
• Cluster Computer & its architecture
• Setting up the Cluster
• System Monitoring & System Tuning
• Resource Sharing
• Evolution of Grid & its future
• Grid context & its support for collaboration

Prof. Kaushal T Kevadia 4
Ch‐1 Cluster Computing at Glance
1.1 Concept of Cluster Computing
1.2 Scalable Parallel Computer Architecture
1.3 Motivation Behind the Evolution of Low Cost Parallel Computing
1.4 Windows Services for Computing Environment
1.5 Cluster Computer and its Architecture
1.6 Cluster Classification
1.7 Commodity Components for Cluster
1.8 Network Services/Communication Software
1.9 SSI and Cluster Middleware
1.10 Resources Management and Scheduling
1.11 Programming Tools
1.12 Cluster Applications
1.13 Representative Cluster System
1.14 Cluster of SMPS
1.15 Case Study of Cluster Application
Prof. Kaushal T Kevadia 5
Introduction
• Initially task perform on Single processor.
• Now multiple processors work in coordination.
• Computer Cluster:
• A group of computers linked to represent a single
unit.
• It is a collection of interconnected computers that
work in an environment of multiprocessors systems
to deliver high‐quality computing.
• Viewed as a sub‐division of threading environment

Prof. Kaushal T Kevadia 6
Introduction
• A large computing program is first partitioned into
several smaller units, and then these units are
distributed among several processors for
computing.
• Cluster provide controlled environment.
• Manage high traffic by Balancing the load.
• Clustering Classification:
• Active/active ‐one processor fail then task equally
distributed among other processors.(all active)
• Active/passive ‐one processor fail then transfer task
to another processor. (only one active at a time)
Prof. Kaushal T Kevadia 7
Ch‐1 Cluster Computing at Glance
1.1 Concept of Cluster Computing
1.2 Scalable Parallel Computer Architecture
1.3 Motivation Behind the Evolution of Low Cost Parallel Computing
1.4 Windows Services for Computing Environment
1.5 Cluster Computer and its Architecture
1.6 Cluster Classification
1.7 Commodity Components for Cluster
1.8 Network Services/Communication Software
1.9 SSI and Cluster Middleware
1.10 Resources Management and Scheduling
1.11 Programming Tools
1.12 Cluster Applications
1.13 Representative Cluster System
1.14 Cluster of SMPS
1.15 Case Study of Cluster Application
Prof. Kaushal T Kevadia 8
1.1 Concept of Cluster Computing
• It is defined as simultaneous execution of
computational task on multiple processors with the
aim of obtaining quick results.
• The total numbers of nodes decides how many CPU
will be deployed within a Clustered System.

Prof. Kaushal T Kevadia 9
1.1 Concept of Cluster Computing
• Characteristics of Cluster Computing:
• Clustered System consists of similar type of
machines.
• Machine are tightly coupled by using dedicated n/w
• All Machine share resources.
• A clustered system must have s/w to support
administrative setup for computing environment.
• Clustered System are easy to maintain.

Prof. Kaushal T Kevadia 10
1.1 Concept of Cluster Computing
• Four major Cluster Components:
• Network ‐using switches, cables…
• Nodes ‐smallest functional unit, scalable in nature
• Server ‐support DHCP for configuring Cluster
System
• Gateway ‐bridge b/w Cluster System & external
environment

Prof. Kaushal T Kevadia 11
1.1 Concept of Cluster Computing
• Need for Cluster Computing:
• Execute computational tasks at rapid pace of executing
them on several processors at a same time
• Support High Performance Distributed Computing
(HPDC)
• Provide cost effective solution to build sequential or
parallel applications.
• Improve computing performance and resource
availability
• Balance traffic on high‐traffic website
• Prevent a single point of failure by distributing
workload across a single n/w.
Prof. Kaushal T Kevadia 12
1.1 Concept of Cluster Computing
• Evolution of Parallel Processor

Prof. Kaushal T Kevadia 13
1.2 Scalable Parallel Computer Architecture
• Five Categories on the basis of node complexity,
Single System Image (SSI) support, and Job
Scheduling:
• Massively Parallel Processors (MPP)
• Symmetric Multiprocessor (SMP)
• Cache Coherence Non‐Uniform Memory Access (CC‐
NUMA)
• Distributed System
• Cluster

Prof. Kaushal T Kevadia 14
1.2 Scalable Parallel Computer Architecture

Prof. Kaushal T Kevadia 15
1.2 Scalable Parallel Computer Architecture

Prof. Kaushal T Kevadia 16
1.2 Scalable Parallel Computer Architecture
• Massively Parallel Processors (MPP)
• It is a large parallel processing system
• Does not own any shared resources
• It is also known as Shared Nothing Architecture
• Several nodes are connected with high speed
interconnection switch.
• Controlled by separate OS instance
• Use Massage Passing for Communication
• Nodes range from 100 to 1000

Prof. Kaushal T Kevadia 17
1.2 Scalable Parallel Computer Architecture
• Symmetric Multiprocessor (SMP)
• It is considered to have 2 to 64 processor along with
multiple shared resources
• It is also known as Shared Everything Architecture
• Processor can access global recourses
• It allow identical processors to run applications in
parallel.
• Controlled by separate OS instance
• Nodes range from 10 to 100

Prof. Kaushal T Kevadia 18
1.2 Scalable Parallel Computer Architecture
• Cache Coherence Non‐Uniform Memory Access (CC‐
NUMA)
• CC‐NUMA architecture is composed of RISC
• It is also known as Shared Everything Architecture as
each processor has a global view of the memory
• Memory access time is depended on the location of
memory
• Virtual memory paging within a clustered environment
provides separate memory to each processor
• Cache coherency protocol are used when two or more
caches are present at the same memory location
Prof. Kaushal T Kevadia 19
1.2 Scalable Parallel Computer Architecture
• Distributed System
• It is a n/w of independent computers
• Each node running its own OS
• Single Address Space Operating System (SASOS) are
design to support cluster computing in distributed
system
• OS offer unique names to all cluster nodes, it allow
distributed application to communicate with cluster
nodes using a single large namespace

Prof. Kaushal T Kevadia 20
1.2 Scalable Parallel Computer Architecture
• Cluster
• Cluster can be defined as a collection of
interconnected computers that support high level of
parallelism within a clustered system.
• Communication b/w nodes using message passing
protocol

Prof. Kaushal T Kevadia 21
1.3 Motivation Behind the Evolution of Low Cost Parallel Computing
• Reasons for preferring N/w of Workstation (NOW) over
specialized parallel computers:
• Performance of individual workstation has been
increased
• High performance workstations are moving towards
the concept of High Bandwidth and Low Latency
• Workstation cluster can be easily integrated into
existing n/w without drastic modification
• Workstation are developed using standardized
programming tool for faster computing
• Workstation Cluster are available at very low cost
• Cluster system offer a flexible environment, node can
be added as per computing requirements
Prof. Kaushal T Kevadia 22
1.4 Windows Services for Computing Environment
• Parallel Processing
• Network Random Access Memory (RAM)
• Memory associated with each workstation as
aggregate Dynamic RAM (DRAM) cache
• It improve virtual memory and file system
performance
• S/W Redundant Array of Inexpensive Disk (RAID)
• Multipath Communication

Prof. Kaushal T Kevadia 23
1.5 Cluster Computer and its Architecture

Prof. Kaushal T Kevadia 24
1.5 Cluster Computer and its Architecture
• Components of cluster computer architecture
• High‐Performance Computer (HPCs)
• PCs, Workstations, SMPs for high performance
computing
• OS
• Linux, Unix, Windows, Microkernel‐based OS
• Network & Switches
• Communication Protocols and Services
• Cluster Middleware
• Offer a single unified image of system with reduced
complexity at user level
• Parallel Computing Tools
• MPI, DSM (Distributed Shared Memory), Threads,
Compiler, Parallel Debugger
Prof. Kaushal T Kevadia 25

1.6 Cluster Classification
Cluster can be classified into several categories based on the
various factors
• Application Target
• Node Ownership :‐ Dedicated & Nondedicated
• Node Hardware :‐ Cluster of PCs, Workstations, SMPs
• Node OS
• Node Configuration
– Homogeneous Cluster (Similar Arch., Similar OS)
– Heterogeneous Cluster (Similar Arch., Different OS)
• Level of Clustering
– Group Cluster
– Departmental Cluster
– Organizational Cluster
• National Metacomputer
• International Metacomputer
Prof. Kaushal T Kevadia 26
1.7 Commodity Components for Cluster
• Processor (Vector, Symbolic, Virtual)
• Memory and Cache
• Operating System
– Linux
– Solaris
– Windows Compute Cluster Server 2003
• Disk and I/O
• System Bus
• Cluster Interconnects
– Ethernet, Fast Ethernet, and Gigabit Ethernet
– Asynchronous Transfer Mode
– Scalable Coherent Interfaces
– Myrinet Prof. Kaushal T Kevadia 27
1.7 Commodity Components for Cluster

Prof. Kaushal T Kevadia 28
1.7 Commodity Components for Cluster

Prof. Kaushal T Kevadia 29
1.8 Network Services/Communication 
Software
• Network Information Service (NIS) provide network
information to all machines on the network
• NIS considered as a distributed database that
provides a storage area to keep confidential
information about hosts, users, and mailboxes.
• NIS provides its own index table to the end users, so
that they can easily identify and locate resources
that are available on a network

Prof. Kaushal T Kevadia 30
1.9 SSI and Cluster Middleware
• Single System Image supports the cluster
middleware that lies b/w the OS and user level
environment
• Cluster middleware composed of two sub layer
• SSI Infrastructure
– Support the functioning of existing SSI layers
• System availability Infrastructure
– Ensure that services are available to end users on time

Prof. Kaushal T Kevadia 31
1.9 SSI and Cluster Middleware
• Advantages of Cluster Middleware and SSI
• Transparent use of system resources
• Support process migration and load balancing across
cluster nodes
• Improve reliability and higher availability
• Improve system response time and performance
• Simplify system management
• Do not restrict the system programmer, who needs to
work on a particular region
• Reduce the risk of operators errors
• No need to be aware of the underlying system
architecture to use the clustered systems effectively
• Allow the programmers to handle more complex
systems Prof. Kaushal T Kevadia 32
1.9 SSI and Cluster Middleware
• SSI Layers
• It provide globalized view of system resources
• SSI Layers that are designed to provide almost all of
the h/w functionalities at the user level are as
follows:

Prof. Kaushal T Kevadia 33
1.9 SSI and Cluster Middleware

Prof. Kaushal T Kevadia 34
1.9 SSI and Cluster Middleware

Prof. Kaushal T Kevadia 35
1.9 SSI and Cluster Middleware
• SSI Boundaries
• It is designed to support the concept of
homogeneity across a clustered system
• Every SSI consists of a boundary
• SSI can support multiple users, applications, and
administrators to deploy a full clustered system at
every level

Prof. Kaushal T Kevadia 36
1.9 SSI and Cluster Middleware
• Middleware Design Goals
• Scalable Performance
– Addition resources can be added to improve the
performance of an individual cluster node
– New node can be added or nodes can be removed
• Complete Transparency
– Offers a single system view of a cluster system
– Acts as single entry point
• High Availability
– Automatic recovery from failures by using checkpoints
and fault‐tolerant schemes
– To support data consistency
Prof. Kaushal T Kevadia 37
1.9 SSI and Cluster Middleware
• Key Services of SSI and Availability Infrastructure
• SSI Support Services
– Single entry point
– Single file hierarchy
– Single control point
– Single user interface
– Single virtual networking
– Single memory space
– Single job management

Prof. Kaushal T Kevadia 38
1.9 SSI and Cluster Middleware
• Key Services of SSI and Availability Infrastructure
• Availability Support Functions
– Single I/O Space (SIO)
– Single Process Space (SPS)
– Check pointing and Process Migration

Prof. Kaushal T Kevadia 39
1.10 Resource Management and Scheduling
• Resource manager – solve problems associated with
resource allocation and manage task, such as
process creation and migration
• Resource Scheduler – deal with task such as
queuing applications as well as resource assignment
• Key reasons behind the use of RMS
– Increase the throughput of user applications running on
the system
– Helps in load or traffic balancing
– Utilizes spare CPPU cycles
– Provides fault tolerance systems
– Controls access to powerful system
Prof. Kaushal T Kevadia 40
1.10 Resource Management and Scheduling
• Services provided by the RMS scheme
– Process Migration
– Check pointing
– Fault tolerance
– Removing idle cycles
– Load balancing
– Multiple application queues
– Minimization of impact on users

Prof. Kaushal T Kevadia 41
1.11 Programming Tools
• Threads
• Programming model is a system that provides
thread based computing model to exploit
heterogeneous behaviour of a distributed system
• This model supports Lightweight Remote Procedure
Calls (LRPC) to allow a remote thread to execute a
specified service
• A synchronous LRPC works similar to a general
procedure call, except that the operation is
executed by a remote thread

Prof. Kaushal T Kevadia 42
1.11 Programming Tools
• MPI and Parallel Virtual Machine (PVM)
• MPI is a standard that helps in establishing
communications among cluster nodes by running
parallel applications on a distributed memory
system
• PVM is a virtual machine that allows heterogeneous
computer to be bunched together by a n/w to be
used as a single large parallel computer

Prof. Kaushal T Kevadia 43
1.11 Programming Tools
• DSM System
• Software implemented DSM system features
– These systems can be built as a separate layer on the
existing message passing interface
– These systems use virtual memory paging technique to
enhance scalability of a clustered system
• Hardware implemented DSM system features
– Provide batter performance as h/w implemented DSM
systems are quite faster then s/w
– Offer full transparency as h/w implemented DSM system
allow users and applications to access system resources
transparency
– Improve cache coherence technique to maintain data
consistency in local caches of a shared resources
Prof. Kaushal T Kevadia 44
1.11 Programming Tools
• DSM System

Prof. Kaushal T Kevadia 45
1.11 Programming Tools
• DSM System
• Key features of DSM
– There is no global memory
– Local memories are combined to form a global memory
– Connection is relatively slow
– High system’s scalability
– Transparency of information sharing and communication

Prof. Kaushal T Kevadia 46
1.11 Programming Tools
• Parallel Debuggers and Profilers
• It is required to deliver correct and high
performance applications after computation
• Managing multiple processor and multiple threads
within a process to support inter‐process
communication among cluster nodes
• Displaying each process in its own window to
isolate one process from another
• Manipulating code variables and constants to debug
applications accordingly
Prof. Kaushal T Kevadia 47
1.11 Programming Tools
• Performance Analysis Tools
• Tools for processing and displaying performance
data such as graphs and performance analysis
diagram
• A runtime performance library including certain
monitoring routines to evaluate performance of
any program or application

Prof. Kaushal T Kevadia 48
1.11 Programming Tools
• Cluster Administration Tool
• Cluster administration tools are designed to
monitor entire clustered system at different levels
using a GUI
• It is based on high level programming language and
can offer high level monitoring at user level

Prof. Kaushal T Kevadia 49
1.12 Cluster Applications
• Computational fluid dynamics
• Molecular biology modelling
• Engineering Analysis (CAD/CAM)
• Weather forecasting

Prof. Kaushal T Kevadia 50
1.13 Representative Cluster Systems
• The essential projects that have been developed to
support parallelism and cluster computing
– The HPVM project
– The Beowulf project
– The Berkeley NOW project
– The Solaries MC project
– Comparison of the four cluster environment

Prof. Kaushal T Kevadia 51
1.14 Cluster of SMPs
• CLUMP is a system that is composed of multiple
SMPs to deliver a high quality computing
environment for solving computational problems
• It is necessary to have powerful h/w & s/w to build
a cheap but efficient cluster, such as high
performance interconnection n/w, SMPs, Oss, &
communication s/w layer

Prof. Kaushal T Kevadia 52