SlideShare a Scribd company logo
1 of 106
Agenda
1. Evolution of computational technology
2. Parallel computing
3. Cluster computing
4. Grid Computing
5. Utility computing
6. Virtualization
7. Introduction to SOA
8. Cloud Computing
9. Internet Of Things
10. Q&A 
3
Can you name some examples of Distributed Systems?
 Client-server (e.g., NFS)
 The Internet
 The Web
 A sensor network
 DNS
 BitTorrent (peer to peer overlay)
 Datacenters
 Hadoop
Block Chain
4
Definitions of Distributed Systems
 A distributed system is a collection of independent computers that appear to
the users of the system as a single computer.
[Andrew Tanenbaum]
 A distributed system is several computers doing something together. Thus, a
distributed system has three primary characteristics: multiple computers,
interconnections, and shared state.
[Michael Schroeder]
5
Why Unsatisfactory?
Why are these definitions short?
Why do these definitions look inadequate to us?
Because we are interested in the insides of a distributed system
algorithms
design and implementation
maintenance
Meeting customer requirements, performance and reliability.
6
A working definition of Distributed System
 A distributed system is a collection of entities, each of which is autonomous,
programmable, asynchronous and failure-prone, and which communicate through an
unreliable communication medium.
Our interest in distributed systems involves
algorithmics, design and implementation, maintenance, study
Entity=a process on a device (PC, PDA…)
Communication Medium=Wired or wireless network
 Distributed computing: This is a field of computer science engineering that studies
distributed systems. A distributed system consists of multiple autonomous computers, each
having its own private memory, communicating through a computer network. Information
exchange in a distributed system is accomplished through message passing. A computer
program that runs in a distributed system is known as a distributed program.
7
Computing Paradigms
 Centralized computing: This is a computing paradigm by which all computer
resources are centralized in one physical system. All resources (processors,
memory, and storage) are fully shared and tightly coupled within one
integrated OS. Many data centers and supercomputers are centralized systems,
but they are used in parallel, distributed, and cloud computing applications.
Parallel computing: All processors are either tightly coupled with centralized
shared memory or loosely coupled with distributed memory. Interprocessor
communication is accomplished through shared memory or via message
passing. A computer system capable of parallel computing is commonly known
as a parallel computer. Programs running in a parallel computer are called
parallel programs. The process of writing parallel programs is often referred to
as parallel programming.
8
A range of challenges
• Failures recovery: no longer the exception, but rather a norm
• Scalability: 1000s of machines, Terabytes of data
• Asynchrony: clock skew and clock drift
• Security: of data, users, computations, etc.
• Mutual Exclusion:
• Fault Tolerance:
• Transaction management:
• Network bandwidth bottleneck:
Operational layers of distributed computing systems
Application layer: most user applications in science,
business, engineering, and financial services.
Middleware layer: The middleware layer acts as a bridge
between the application layer and the resource layer. This
layer provides resource broker, communication service, task
analyzer, task scheduler, security access, reliability control,
and information service capabilities.
Resource layer: The resource layer consists of a wide range
of resources including computing nodes and storage units.
This layer generally interacts with hardware devices and the
operating system. therefore, it is responsible for controlling
all distributed resources in distributed computing systems.
Networking layer: Routing and transferring packets and
enabling network services to the resource layer are the main
responsibility of the network layer in distributed computing
systems.
Distributed System Models and Enabling Technologies
Gartner's Older Hype Cycle for Emerging Technologies
 The hype cycle provides a graphical and conceptual presentation of the maturity emerging
technologies through five phases.
2010 Hype Cycle for Emerging Technologies
2016 Hype Cycle for Emerging Technologies
2018 Hype Cycle for Digital Governance
2019 Hype Cycle for Emerging Technologies
2020 Hype Cycle for Emerging Technologies
Evolution of computational technology
 Evolutionary trend toward parallel, distributed, and cloud computing
Computing Technology
Evolution
1940
1950
1960
1970
1980
1990
2000
Timesharing Companies
& Data Processing Industry
Grids
Peer to peer systems
Clusters
The first datacenters!
PCs
(not distributed!)
Clouds and datacenters
2017
18
Pervasive/ Ubiquitous Computing,
Mobile Computing, IOT, and Fog
Computing .
What is Serial Computing?
Traditionally, software has been written for serial computation:
To be run on a single computer having a single Central Processing Unit (CPU);
A problem is broken into a discrete series of instructions.
Instructions are executed one after another.
Only one instruction may execute at any moment in time.
What is Parallel Computing?
In the simplest sense, parallel computing is the simultaneous use of multiple compute resources to solve
a computational problem.
To be run using multiple CPUs
A problem is broken into discrete parts that can be solved concurrently
Each part is further broken down to a series of instructions
Instructions from each part execute simultaneously on different CPUs
Parallelism - A simplistic understanding
Multiple tasks at once.
Distribute work into multiple execution units.
A classification of parallelism:
Data Parallelism
Functional or Control Parallelism
Data Parallelism: Divide the dataset and solve each
sector “similarly” on a separate execution unit.
Functional Parallelism: Divide the 'problem' into
different tasks and execute the tasks on different units.
What would func. parallelism look like for the example
on the right?
Hybrid: Can do both: Say, first partition by data, and
then for each data block, partition by functionality
Sequential
Data
Parallelism
Flynn Matrix
The matrix below defines the 4 possible classifications according to
Flynn
Single Instruction, Single Data (SISD)
qA serial (non-parallel) computer
qSingle instruction: only one instruction stream is being acted on by the CPU
during any one clock cycle
qSingle data: only one data stream is being used as input during any one clock
cycle
qDeterministic execution
q This is the oldest and until recently, the most prevalent form of computer
qExamples: most PCs, single CPU workstations and mainframes
Single Instruction, Single Data (SISD)
qA serial (non-parallel) computer
qSingle instruction: only one instruction stream is being acted on by the CPU
during any one clock cycle
qSingle data: only one data stream is being used as input during any one clock
cycle
qDeterministic execution
q This is the oldest and until recently, the most prevalent form of computer
qExamples: most PCs, single CPU workstations and mainframes
Instruction, Single Data (SISD)
allel) computer
: only one instruction stream is being acted on by the CPU
ock cycle
one data stream is being used as input during any one clock
cution
and until recently, the most prevalent form of computer
PCs, single CPU workstations and mainframes
ingle Instruction, Single Data (SISD)
al (non-parallel) computer
instruction: only one instruction stream is being acted on by the CPU
any oneclock cycle
data: only one data stream is being used as input during any oneclock
ministic execution
the oldest and until recently, themost prevalent form ofcomputer
les: most PCs, single CPU workstations and mainframes
Single Instruction, Multiple Data (SIMD)
qA type of parallel computer
qSingle instruction: All processing units execute the same instruction at any given clock cycle
qMultiple data: Each processing unit can operate on a different data element
qBest suited for specialized problems characterized by a high degree of regularity,such as image processing.
qSynchronous(lockstep) and deterministic execution
qTwo varieties: Processor Arraysand Vector Pipelines
qA type ofparallel computer
qSingle instruction: All processing units execute thesame instruction at any given clock cycle
qMultiple data: Each processing unit can operate on a different dataelement
qBest suited forspecialized problems characterized by a high degree of regularity,such as image processing.
qSynchronous(lockstep) and deterministic execution
qTwo varieties: Processor Arraysand Vector Pipelines
Single Instruction, Multiple Data (SIMD)
qA type ofparallel computer
qSingle instruction: All processing units execute thesame instruction atany given clock cycle
qMultiple data:Each processing unitcan operate on a different dataelement
qBest suited forspecialized problems characterized by a high degree of regularity,such as image processing.
qSynchronous(lockstep) and deterministic execution
qTwo varieties: Processor Arraysand Vector Pipelines
Single Instruction, Multiple Data (SIMD)
qA type of parallel computer
qSingle instruction: All processing units execute the same instruction at any given clock cycle
qMultiple data: Each processing unit can operate on a different data element
qBest suited for specialized problems characterized by a high degree of regularity,such as imag
qSynchronous (lockstep) and deterministic execution
qTwo varieties: Processor Arrays and Vector Pipelines
Multiple Instruction, Single Data (MISD)
qA single data stream is fed into multiple processing units.
qEach processing unit operates on the data independently via independent instruction streams.
qFew actual examples of this class of parallel computer have ever existed. One is the experimental
Carnegie-Mellon C.mmp computer (1971).
qSome conceivable uses might be:
Ø multiple frequencyfiltersoperating on a single signalstream
qmultiple cryptography algorithms attempting to crack a single coded message.
Multiple Instruction, Single Data (MISD)
qA single data stream is fed into multiple processing units.
qEach processing unit operates on the data independently via independent instruction streams.
qFew actual examples of this class of parallel computer have ever existed. One is the experimental
Carnegie-Mellon C.mmp computer (1971).
qSome conceivable uses might be:
Ø multiple frequencyfiltersoperating on a single signalstream
qmultiple cryptography algorithms attempting to crack a single coded message.
Multiple Instruction, Single Data (MISD)
qA single data stream is fed into multiple processing units.
qEach processing unit operates on the data independently via independent instruction streams.
qFew actual examples of this class of parallel computer have ever existed. One is the experimental
Carnegie-Mellon C.mmp computer (1971).
qSome conceivable uses might be:
Ø multiple frequencyfiltersoperating on a single signalstream
qmultiple cryptography algorithms attempting to crack a single coded message.
qA single datastream is fedintomultiple processing units.
qEach processing unit operates onthe dataindependently via independent instruction streams.
qFewactual examples ofthis class of parallel computer haveever existed. Oneis the experimental
Carnegie-Mellon C.mmpcomputer (1971).
qSome conceivable uses mightbe:
Ømultiplefrequencyfiltersoperatingonasinglesignalstream
qmultiple cryptographyalgorithms attempting to crack asingle coded message.
Multiple Instruction, Multiple Data (MIMD)
qCurrently, the most common type of parallel computer. Most modern computers fall into this category.
qMultiple Instruction: every processor may be executing a different instruction stream
qMultiple Data: every processor may be working with a different data stream
qExecution can be synchronous or asynchronous,deterministic or non-deterministic
qExamples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP
computers - including some types of PCs.
Multiple Instruction, Multiple Data (MIMD)
qCurrently, the most common type of parallel computer. Most modern computers fall into this category.
qMultiple Instruction: every processor may be executing a different instruction stream
qMultiple Data: every processor may be working with a different data stream
qExecution can be synchronous or asynchronous,deterministic or non-deterministic
qExamples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP
computers - including some types of PCs.
Multiple Instruction, Multiple Data (MIMD)
qCurrently, the most common type of parallel computer. Most modern computers fall into this category.
qMultiple Instruction: every processor may beexecuting a different instruction stream
qMultiple Data: every processor may beworking with a different data stream
qExecution can besynchronous or asynchronous,deterministic or non-deterministic
qExamples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP
computers - including some types of PCs.
Multiple Instruction, Multiple Data (MIMD)
qCurrently, the most common typeof parallel computer. Most modern computers fall into this category.
qMultiple Instruction: every processormay beexecuting a different instruction stream
qMultiple Data: every processor may beworking with a different data stream
qExecution can besynchronous or asynchronous,deterministic or non-deterministic
qExamples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP
computers - including some types of PCs.
Memory architectures
Shared Memory
Distributed Memory
Hybrid Distributed-Shared Memory
Shared Memory
Shared memory parallel computers vary widely, but generally have in common the ability for all processors
to access all memory as global address space.
Multiple processors can operate independently but share the same memory resources.
Changes in a memory location effected by one processor are visible to all other processors.
Shared memory machines can be divided into two main classes based upon memory access times: UMA and
NUMA.
Shared Memory : UMA vs. NUMA
Uniform Memory Access (UMA):
Most commonly represented today by Symmetric Multiprocessor (SMP) machines
Identical processors
Equal access and access times to memory
Sometimes called CC-UMA - Cache Coherent UMA. Cache coherent means if one processor updates a
location in shared memory, all the other processors know about the update. Cache coherency is
accomplished at the hardware level.
Non-Uniform Memory Access (NUMA):
Often made by physically linking two or more SMPs
One SMP can directly access memory of another SMP
Not all processors have equal access time to all memories
Memory access across link is slower
If cache coherency is maintained, then may also be called CC-NUMA - Cache Coherent NUMA
Shared Memory: Pro and Con
 Advantages
Global address space provides a user-friendly programming perspective to memory
Data sharing between tasks is both fast and uniform due to the proximity of memory to CPUs
 Disadvantages:
Primary disadvantage is the lack of scalability between memory and CPUs. Adding more CPUs can
geometrically increases traffic on the shared memory-CPU path, and for cache coherent systems,
geometrically increase traffic associated with cache/memory management.
Programmer responsibility for synchronization constructs that ensure "correct" access of global
memory.
Expense: it becomes increasingly difficult and expensive to design and produce shared memory
machines with ever increasing numbers of processors.
Distributed Memory
Like shared memory systems, distributed memory systems vary widely but share a common characteristic.
Distributed memory systems require a communication network to connect inter-processor memory.
Processors have their own local memory. Memory addresses in one processor do not map to another
processor, so there is no concept of global address space across all processors.
Because each processor has its own local memory, it operates independently. Changes it makes to its local
memory have no effect on the memory of other processors. Hence, the concept of cache cohérence dose not
apply.
When a processor needs access to data in another processor, it is usually the task of the programmer to
explicitly define how and when data is communicated. Synchronisation between tasks is the programmer's
responsibility.
The network "fabric" used for data transfer varies widely, though it can can be as simple as Ethernet.
Distributed Memory: Pro and Con
Advantages
 Memory is scalable with number of processors. Increase the number of processors and the size of
memory increases proportionately.
 Each processor can rapidly access its own memory without interference and without the overhead
incurred with trying to maintain cache coherency.
 Cost effectiveness: can use commodity, off-the-shelf processors and networking.
Disadvantages
 The programmer is responsible for many of the details associated with data communication between
processors.
 It may be difficult to map existing data structures, based on global memory, to this memory
organization.
 Non-uniform memory access (NUMA) times
Hybrid Distributed-Shared Memory
he largest and fastest computers in the world today employ both shared and distributed memory architectures.
he shared memory component is usually a cache coherent SMP machine. Processors on a given SMP can
ddress that machine's memory as global.
he distributed memory component is the networking of multiple SMPs. SMPs know only about their own
memory - not the memory on another SMP. Therefore, network communications are required to move data from
ne SMP to another.
urrent trends seem to indicate that this type of memory architecture will continue to prevail and increase at the
igh end of computing for the foreseeable future.
dvantages and Disadvantages: whatever is common to both shared and distributed memory architectures.
Cluster computing
 The cluster is often a collection of homogeneous compute nodes
that are physically connected in close range to one another.
 Clustering enables the construction of scalable parallel and
distributed systems for both HPC and HTC applications.
 Computer clusters have laid the foundation for today’s super
computers, computational grids, and Internet clouds built over data
centers.
Cluster Family Classification
 Based on application demand, computer clusters are divided into three classes:
Compute clusters: These are clusters designed mainly for collective computation over a single large
job. This type of clusters is also known as a Beowulf cluster .
High-Availability clusters : HA (high-availability) clusters are designed to be fault-tolerant and
achieve HA of services. Of course, high redundancy provides higher availability. HA clusters should be designed
to avoid all single points of failure.
Load-balancing clusters: These clusters shoot for higher resource utilization through load
balancing among all participating nodes in the cluster. All nodes share the workload or function as a single virtual
machine (VM). Requests initiated from the user are distributed to all node computers to form a cluster. This
results in a balanced workload among different machines, and thus higher resource utilization or higher
performance. Middleware is needed to achieve dynamic load balancing by job or process migration among all
the cluster nodes.
High level Cluster Architecture
Cluster built around a low-latency, high bandwidth interconnection network. The gateway IP
address locates the cluster. Most clusters have loosely coupled node computers. All resources
of a server node are managed by their own OS. Thus, most clusters have multiple system
images as a result of having many autonomous nodes under different OS control.
Cluster Computer and its Architecture
 A set of workstations connected by an Ethernet network is not necessarily a
cluster. A cluster is a single system. For example, suppose a workstation has a
300 Mflops/second processor, 512 MB of memory, and a 4 GB disk and can
support 50 active users and 1,000 processes. By clustering 100 such
workstations, can we get a single system that is equivalent to one huge
workstation, or a mega station , that has a 30 Gflops/second processor, 50 GB
of memory, and a 400 GB disk and can support 5,000 active users and
100,000 processes. SSI techniques are aimed at achieving this goal.
Single-System Image(SSI)
Cluster Computer Architecture
Sequential Applications
Parallel Applications
Parallel Programming Environment
Cluster Middleware
(Single System Image and Availability Infrastructure)
Cluster Interconnection Network/Switch
PC/Workstation
Network Interface Hardware
Communications
Software
PC/Workstation
Network Interface Hardware
Communications
Software
PC/Workstation
Network Interface Hardware
Communications
Software
PC/Workstation
Network Interface Hardware
Communications
Software
Sequential Applications
Sequential Applications
Parallel Applications
Parallel Applications
Different types of cluster nodes connections
Shared nothing
Shared disk
Shared memory
Key Operational Benefits of Clustering
High Performance
Expandability and Scalability
High Throughput
High Availability
Minimizing downtime of the Service
Challenges in the Cluster Computing
Challenges of cluster computing are as follows:
Middleware: To produce software environments that provides an illusion of a
single system image, rather than a collection of independent computers.
Program: The applications that run on the clusters must be explicitly written
which incorporates the division of tasks between nodes, also the
communication between them should be taken care of.
Elasticity: The variance in real-time response time when the number of
service requests changes dramatically.
Scalability: To meet the additional requirements of a resource thus effecting
the performance of the system.
Grid Computing
 Some of the definitions of Grid Computing
The flexible, secure, coordinated resource sharing among dynamic collections of
individuals, institutions, and resources.
Transparent, secure, and coordinated resource sharing and collaboration across sites.
The ability to form virtual, collaborative organizations that share applications and data
in an open heterogeneous server environment in order to work on common problems.
The ability to aggregate large amounts of computing resources which are geographically
dispersed to tackle large problems and workloads as if all the servers and resources are
located in a single site.
A hardware and software infrastructure that provides dependable, consistent,
pervasive, and inexpensive access to computational resources.
The Web provides us information—the grid allows us to process it.
 Grid Computing enables virtual organizations to share geographically distributed resources
as they pursue common goals, assuming the absence of central location, central control,
omniscience, and an existing trust relationship.
Grid computing architecture model.
Grid Computing System
Grid Computing Layer
INTERNET
Grid Computing Layer
Grid Protocol Architecture
Grid Protocol Architecture
Grids provide protocols and services at five different layers as identified in the Grid protocol architecture.
Fabric layer: Grids provide access to different resource types such as compute, storage and network resource,
code repository, etc. Grids usually rely on existing fabric.
Connectivity layer : defines core communication and authentication protocols for easy and secure network
transactions.
Resource layer: The resource layer defines protocols required to initiate and control sharing of local resources
defines protocols for the publication, discovery, negotiation, monitoring, accounting and payment of sharing
operations on individual resources.
Grid Resource Allocation Management (GRAM):Remote allocation, reservation, monitoring, and control of
resources .
GridFTP (FTP Extensions):High performance data access and transport
Grid Resource Information Service (GRIS):Access to structure and state information
Collective layer: captures interactions across collections of resources, directory services such as MDS
(Monitoring and Discovery Service) allows for the monitoring and discovery of VO resources, Condor-G and
Nimrod-G are examples of co-allocating, scheduling and brokering services, and MPICH for Grid enabled
programming systems, and CAS (community authorization service) for global resource policies.
Application layer: comprises whatever user applications built on top of the above protocols and APIs and
operate in VO environments. Two examples are Grid workflow systems, and Grid portals.
Grid Protocols
Security: Grid Security Infrastructure: Security is defined in the resource layer of the grid architecture. The Grid Security
Infrastructure (GSI) for grids has been defined by creating extensions to standard and well-known protocols and APIs.
Extensions for Secure Socket Layer/ Transport Layer Security (SSL/TLS) and X.509 have been defined to allow single sign-on
(proxy certificate) and delegation
Grid Protocols
Resource Management: Grid Resource Allocation Management Protocol: The Grid Resource Allocation and Management
protocol and client API allows programs to be started on remote resources.
A Resource Specification Language (RSL) has been developed as a common notation for exchange of information between
applications, resource brokers, and local resource managers. RSL provides two types of information:
 Resource requirements: machine type, number of nodes, memory, etc.
 Job configuration: directory, executable, arguments, environment
Grid Protocols
Data Transfer: Grid File Transfer Protocol: The standard FTP protocol has been
extended while preserving interoperability with existing servers to develop GridFTP. The
extensions provide for striped/parallel data channels, partial files, automatic and manual TCP
buffer size settings, progress monitoring, and extended restart functionality.
Information Services: Grid Information Services: Grid Information Service (GIS)
provides access to static and dynamic information regarding a grid’s various components and
includes the type and state of available resources.
There are two types of Grid Information Services. The Grid Resource Information Service
(GRIS) and the Grid Index Information Service (GIIS). The GRIS supplies information about a
specific resource while the GIIS is an aggregate directory service. GIIS provides a collection of
information that has been gathered from multiple GRIS servers.
The Grid Resource Registration protocol is used by resources to register with the GRIS servers.
The Grid Resource Inquiry protocol is used to query a resource description server for
information and also query the aggregate server for information.
Globus Toolkit
Globus™ is a reference implementation of the grid architecture and grid protocols discussed
in the preceding sections.
Protocol stack in version 4.x of the Globus Toolkit.
Open Grid Services Architecture
Open Grid Services Architecture, an effort
led by IBM and the Globus team, tries to
marry the Web Services architecture with
the Grid Computing architecture. Taking
advantage of the experience gained from
the Globus implementation of grid
technologies and Web Services standards,
OGSA will model traditional grid resources
(computation, storage) as a Grid Service.
Challenges in grid computing
Challenges of grid computing are as follows:
 Dynamicity: Resources in grid are owned and managed by more than one organization which may
enter and leave the grid at any time causing burden on the grid.
 Administration: To form a unified resource pool, a heavy system administration burden is raised
along with other maintenance work to coordinate local administration policies with global ones.
 Development: Problems are concerned with ways of writing software to run on grid-computing
platforms, which includes to decompose and distribute to processing elements, and then
assembling solutions.
 Accounting: Finding ways to support different account- ing infrastructure, economic model and
application models that can cope well with tasks that communicate frequently and are
interdependent.
 Heterogeneity: Finding ways to create a wide area data intensive programming and scheduling
framework in heterogeneous set of resources.
 Programming: The low-coupling between nodes and the distributed nature of processing make the
programming of applications over grids more complex.
Utility computing
 Utility computing focuses on a business model in which customers
receive computing resources from a paid service provider.
 All grid/cloud platforms are regarded as utility service providers.
 Cloud computing offers a broader concept than utility computing.
 Distributed cloud applications run on any available servers in networks
 We define utility Computing as being commercial compute resources
that are maintained and managed by a service provider. Customers that
have the need to augment their existing, internal computational
resources may purchase “cycles” from a computing provider.
Server consolidation
 Virtualization brought overfull data centers and underutilized servers to
condense multiple physical servers into one server that would run many virtual
machines, allowing that physical server to run at a much higher rate of
utilization. This condensing of servers is called server consolidation.
V
Vision of computer utilities using distributed computing systems
Virtualization
 Virtualization is a disruptive technology.
 Virtualization in computing often refers to the abstraction of some
physical component into a logical object. By virtualizing an object,
you can obtain some greater measure of utility from the resource
the object provides.
 A virtual machine (VM) can virtualize all of the hardware resources,
including processors, memory, storage, and network connectivity.
A virtual machine monitor (VMM), today is commonly called a
hypervisor, is the software that provides the environment in
which the VMs operate.
Features:
 Hardware Independent Operating System.
 Virtual Machines can be provisioned to any
System/Server.
 Multiple Operating Systems can be installed
on a Server/System.
 Resources are split and provisioned to VMS.
 Can run multiple systems with same amount
of cooling, power and space.
x86 Architecture
VMware Virtualization Layer
Application Application
Operating System Operating System
CPU Memory NIC Disk
A basic virtual machine monitor (VMM)
Hypervisor
 The hypervisor manages the interactions between each virtual machine
and the hardware that the guests all share.
 Role of Hypervisor:
 Provide an environment identical to the physical environment.
 Provide that environment with minimal performance cost.
 Retain complete control of the system resources.
Type-1 Hypervisor
 Type 1 hypervisors run directly on the server hardware without an operating
system beneath it. Because there is no intervening layer between the
hypervisor and the physical hardware, this is also referred to as a bare-
metal implementation.
 Type 1 hypervisors include VMware ESX, Microsoft Hyper-V, and the many
Xen variants.
Hypervisor
 A Type 2 hypervisor itself is an application that runs on top of a traditional
operating system.
 VMware Player, Vmware Workstation, and Microsoft Virtual Server are
examples of Type 2hypervisors.
Type-2 Hypervisor
Model of virtualization
Physical versus virtual servers
Server virtualization
Virtualization Using Docker
Cloud Computing
Cloud computing is an Internet cloud of resources can be either a centralized
or a distributed computing system.
 The cloud applies parallel or distributed computing, or both. Clouds can be
built with physical or virtualized resources over large data centers that are
centralized or distributed.
Some consider cloud computing to be a form of utility computing or service
computing.
Cloud: A new consumption and delivery model.
 Cloud Addresses:
 Cost factor
 Scalability
 Utilization
 Self-Service
 IT-agility, flexibility and delivery of value
 Cloud Representations: The industrialization of delivery for
IT.
Virtualized Servers,
Storage, Networking
Virtualization
&Platform
Management
Virtualized Servers,
Storage, Networking
Virtualization
&Platform
Management
Virtualized Servers,
Storage, Networking
Virtualization
&Platform
Management
Basic Cloud(Self
Service, Admin, VM
Provisioning
Service Orchestration
and Integration
Basic Cloud(Self
Service, Admin, VM
Provisioning
 This is not always a linear
progression. some begin by
Optimizing the virtualization
foundation for a workload, then
gradually move to cloud.
 Some require cloud capabilities
From the beginning and may
start with advanced cloud or
entry cloud solutions.
 Some may be in all of these
stages w/ different workloads
across the data center.
Virtualization
Foundation
Advanced Cloud
Entry Cloud
Virtualization + Server Automation + Standardization + Self Service
Virtualization Networking Storage Services
Hypervisor VM
CPU Memory
Virtual Switch Virtual NICs
VLAN VPN
DAS SAN
iSCSi NFS
SOAP-XML REST
NAS
Fiber
NetWorking
Storage
Servers
Virtualization
O/S
NetWorking
MiddleWare
Runtime
Data
Applications
Resource
Owners
On-Premises
NetWorking
Storage
Servers
Virtualization
O/S
NetWorking
MiddleWare
Runtime
Data
Applications
IaaS
NetWorking
Storage
Servers
Virtualization
O/S
NetWorking
MiddleWare
Runtime
Data
Applications
PaaS
NetWorking
Storage
Servers
Virtualization
O/S
NetWorking
MiddleWare
Runtime
Data
Applications
SaaS
Service
Provider
Service
Provider
Service
Provider
Subscriber
Subscriber
Cloud Techno Stack
Cloud Service Models
Challenges in the Cloud Computing
Challenges of Cloud Computing are as follows:
 Dynamic scalability: The compute nodes are scaled up and down dynamically by the application according
to the response time of the user’s queries. The scheduling delays involved are real concern which leads to
the need of effective and dynamic load management system.
 Multi-tenancy: When the number of applications running on the same compute node increases, it will
reduce the amount of bandwidth allocated to each application which may lead to performance degradation.
 Querying and access: Scalable provenance querying and secure access of provenance information are open
problems for both grid and cloud environment.
 Standardization: As every organization has their own APIs and protocols used which makes the user data or
vendor lock-in. Thus integration and interoperability of all the services and application is a challenge.
 Reliability and fault-tolerance: Tools for testing the application against fault tolerance and compute failures
are required which help in developing a reliable system.
 Debugging and profiling: Parallel and remote debugging has always been a problem for developing HPC
programs and is an issue in cloud computing also.
 Security and Privacy: The user has no idea where data is stored and who will use it as there are more
hackers than developers.
Detailed Comparison of Cluster, Grid and Cloud Computing
Clusters Grids Clouds
SLA Limited Yes Yes
Allocation Centralized Decentralized Both
Resource Handling Centralized Distributed Both
Loose coupling No Both Yes
Protocols/API MPI, Parallel Virtual MPI,MPICH-G, GIS,GRAM TCP/IP,SOAP, REST,AJAX
Reliability No Half Full
Security Yes Half No
User friendliness No Half Yes
Virtualization Half Half Yes
Detailed Comparison of Cluster, Grid and Cloud Computing..Cont
Clusters Grids Clouds
Interoperability Yes Yes Half
Standardized Yes Yes No
Business Model No No Yes
Task Size Single large Single large Small & medium
SOA No Yes Yes
Multitenancy No Yes Yes
System Performance Improves Improves Improves
Self service No Yes Yes
Computation service Computing Max. Computing On Demand
Detailed Comparison of Cluster, Grid and Cloud Computing..Cont
Clusters Grids Clouds
Computation service Computing Max. Computing On Demand
Heterogeneity No Yes Yes
Scalable No Half Yes
Inexpensive No No Yes
Data Locality
Exploited
No No Yes
Application HPC,HTC HPC, HTC, Batch SME interactive apps.
Switching cost Low Low High
Value Added Services No Half Yes
Grids and Clouds Overview
Evolution of the IoT
 The future of the Internet will consist of heterogeneously connected devices that will further extend the
borders of the world with physical entities and virtual components. The Internet of Things (IoT) will empower
the connected things with new capabilities
Architecture of an IoT
Enabling Technologies for IoT
IoT paradigm as a result of the convergence of different visions.
SOA-based architecture for the IoT
Service-Oriented Architecture for IoT
Functions of sensing layer in IoT
Objects mapping in IoT
Architecture for the Social IoT
Introduction to SOA
 It has become a core idea of most distributed systems.
 Loose coupling and support of heterogeneous implementations makes
services more attractive than distributed objects.
 SOA is about how to design a software system that makes use of services of
new or legacy applications through their published or discoverable
interfaces. These applications are often distributed over the networks.
 SOA also aims to make service interoperability extensible and effective.
 It prompts architecture styles such as loose coupling, published interfaces,
and a standard communication model in order to support this goal.
Where SOA Comes into Picture in IT
Introduction to SOA
 SOA as a form of distributed systems architecture characterized
 Logical view: The SOA is an abstracted, logical view of actual programs, databases,
business processes, and so on, defined in terms of what it does, typically carrying
out a business-level operation.
 Message orientation: The internal structure of providers and requesters include
the implementation language, process structure, and even database structure. By
avoiding any knowledge of the internal structure of an agent, one can incorporate
any software component or application to adhere to the formal service definition.
 Description orientation: A service is described by machine-executable metadata.
The description supports the public nature of the SOA. Only those details that are
exposed to the public and are important for the use of the service should be
included in the description.
SOA Three Elements Model
Introduction to SOA
 SOA helps to meet the needs of business processes of large distributed systems.
SOA is based on 3 Concepts
 A service will have functionality/work to be done which eases the work of the user/client.
 This provided service could be as simple as getting some information from the user
and fetching the required data from the db or it could be as complicated as an entire
business process for an organization.
 Enterprise service bus which enables interoperability between systems for services. It
makes it easier to have the services running in multiple systems with different platforms
and technologies.
 Loose Coupling: When there is tight coupling between systems then the dependency is
very high. If it is loosely coupled then the dependency is low.
 It is like writing a method and call this method in all the places. In the method specify
the external dependency.
 If there is change in external dependency then only the method has to be modified.
 Loose coupling will help in minimizing the risk of modifications and failures.
SOA Services
 The noun “service” is defined in dictionaries as "The performance of work (a
function) by one for another.” by OASIS SOA reference model.
 SOA focusses on business functionality. These processes are performed with
different steps on different systems. A service should represent the real
world business functionality.
 A business person should be able to understand the functionality provided
by the service.
 Technically, a service takes the required input, processes it and returns the
required information.
 SOA is a software architecture that starts with interface definition and builds
the entire applications interfaces so that the client can call the interface.
Service Life Cycle
 Implementing Services: It has usual software development Life cycle as:
 Analysis, design, implementation, Integration and deploying in production.
SOA Services-Additional Attributes
 Self-contained: They are self governed, independent, autonomous.
 Abstraction: Services abstracts the implementation from the client. The
issues of abstraction is several calls has to be made. Hence, it is better to
send the required data at once instead of sending it multiple times.
 Visibility of service: You need to know that a service exists or it can be
spread via “word of mouth”.
 Stateless: Services will not maintain the state. Whatever the user asks for,
it is served. At times, for reference purposes it is stored in the database.
 Idempotent: You call a service and there is some response from the
service. You do not know whether the response is right or wrong. You call
the same service again to verify. This is called as Idempotent.
SOA Services-Additional Attributes
 Reusable: Service is written once and can be used many times.
 Compassable: A service can call another service as business process is
broken into small functionalities.
 SLA: A service can have Service Level Agreements like time to perform the
given task, reliability etc.
 Pre and post conditions: Pre and post condition will help to know resolve the
issue(s) of the customer. Pre condition means customer would have come up
with some issues and post condition is resolving the issue of the customer.
 Interoperability: Will be able to communicate between different systems.
 Implemented as web services: Web services are used to implement SOA.
SOA - Loose Coupling
 Fault tolerance: When the stock market system goes down for an
hour there is a loss of 8 million dollars.
If the flight booking systems goes down for an hour there is a
loss of 1 million dollar an hour.
Hence, the systems has to be robust.
Fault tolerance has to be implemented in the systems. This is
achieved through loose coupling.
Asynchronous Communication
 Asynchronous communication: Sender of a message and receiver of a message
is not synchronized.
Consider the following example of an email:
Sender sends an email. Receiver receives it. Receiver checks the email at his own pace
and responds back. In this form of communication, sender sends a message to the
receiver. It is in receiver queue. When the receiver sees the message, sender gets an
acknowledgement.
Enterprise Service Bus (ESB)
 An enterprise service bus (ESB) is a software architecture
model used for designing and implementing communication
between mutually interacting software applications in a service
oriented Architecture.
 The concept has been developed from bus architecture from
the computer hardware. The motivation was to develop a
standard, structured and general purpose component which is
of loosely coupled that are expected to run independently.
 It is like a management layer for technical services of SOA.
ESB Architecture
ESB
Responsibilities of ESB
 Providing connectivity
 Data transformation: As discussed earlier; can define how to couple
different data types into compatible one
 (Intelligent) routing: Supporting load balancing and failover support
 Dealing with security
 Dealing with reliability: Has to define how to reliably deliver services and
defines how to handle the technical issues
 Service management : When the number of services grow then
management comes into the picture. What processes and policies has to be
implemented should be part of this component.
 Monitoring and logging: All the activities are monitored and logged in
SOA Services
 Services are of Three types
SOA Basic Architectural Models
 SOA Architecture can be seen from different perspective based on the need.
They are:
1. Business or Logical based
2. Mixed
3. Technical
Mixed architectural Model
Technical Architecture Model
The evolution of SOA in Distributed Computing
 “SS” refers to a sensor service.
 “FS” refers to filter or transforming service.
distributed system lab materials about ad

More Related Content

Similar to distributed system lab materials about ad

Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Sudarshan Mondal
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computingVajira Thambawita
 
Cluster Tutorial
Cluster TutorialCluster Tutorial
Cluster Tutorialcybercbm
 
intro, definitions, basic laws+.pptx
intro, definitions, basic laws+.pptxintro, definitions, basic laws+.pptx
intro, definitions, basic laws+.pptxssuser413a98
 
Lecture 2
Lecture 2Lecture 2
Lecture 2Mr SMAK
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...VAISHNAVI MADHAN
 
Infrastructure student
Infrastructure studentInfrastructure student
Infrastructure studentJohn Scrugham
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...KRamasamy2
 
Real-Time Scheduling Algorithms
Real-Time Scheduling AlgorithmsReal-Time Scheduling Algorithms
Real-Time Scheduling AlgorithmsAJAL A J
 
2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semester2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semesterRafi Ullah
 
Parallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptxParallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptxkrnaween
 
Principles of High Load - Vilnius January 2015
Principles of High Load - Vilnius January 2015Principles of High Load - Vilnius January 2015
Principles of High Load - Vilnius January 2015Peter Milne
 

Similar to distributed system lab materials about ad (20)

Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computing
 
Cluster Tutorial
Cluster TutorialCluster Tutorial
Cluster Tutorial
 
intro, definitions, basic laws+.pptx
intro, definitions, basic laws+.pptxintro, definitions, basic laws+.pptx
intro, definitions, basic laws+.pptx
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Future prediction-ds
Future prediction-dsFuture prediction-ds
Future prediction-ds
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
 
Infrastructure student
Infrastructure studentInfrastructure student
Infrastructure student
 
Pdc lecture1
Pdc lecture1Pdc lecture1
Pdc lecture1
 
unit 1.pptx
unit 1.pptxunit 1.pptx
unit 1.pptx
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
 
Ca alternative architecture
Ca alternative architectureCa alternative architecture
Ca alternative architecture
 
Real-Time Scheduling Algorithms
Real-Time Scheduling AlgorithmsReal-Time Scheduling Algorithms
Real-Time Scheduling Algorithms
 
2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semester2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semester
 
Introduction
IntroductionIntroduction
Introduction
 
Parallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptxParallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptx
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
Principles of High Load - Vilnius January 2015
Principles of High Load - Vilnius January 2015Principles of High Load - Vilnius January 2015
Principles of High Load - Vilnius January 2015
 
Grid Presentation
Grid PresentationGrid Presentation
Grid Presentation
 

More from milkesa13

5-Information Extraction (IE) and Machine Translation (MT).ppt
5-Information Extraction (IE) and Machine Translation (MT).ppt5-Information Extraction (IE) and Machine Translation (MT).ppt
5-Information Extraction (IE) and Machine Translation (MT).pptmilkesa13
 
4-Chapter Four-Syntactic Parsing and Semantic Analysis.ppt
4-Chapter Four-Syntactic Parsing and Semantic Analysis.ppt4-Chapter Four-Syntactic Parsing and Semantic Analysis.ppt
4-Chapter Four-Syntactic Parsing and Semantic Analysis.pptmilkesa13
 
2-Chapter Two-N-gram Language Models.ppt
2-Chapter Two-N-gram Language Models.ppt2-Chapter Two-N-gram Language Models.ppt
2-Chapter Two-N-gram Language Models.pptmilkesa13
 
distributed system concerned lab sessions
distributed system concerned lab sessionsdistributed system concerned lab sessions
distributed system concerned lab sessionsmilkesa13
 
distributed system with lap practices at
distributed system with lap practices atdistributed system with lap practices at
distributed system with lap practices atmilkesa13
 
distributed system relation mapping (ORM)
distributed system relation mapping  (ORM)distributed system relation mapping  (ORM)
distributed system relation mapping (ORM)milkesa13
 
decision support system in management information
decision support system in management informationdecision support system in management information
decision support system in management informationmilkesa13
 
management system development and planning
management system development and planningmanagement system development and planning
management system development and planningmilkesa13
 
trends of information systems and artificial technology
trends of information systems and artificial technologytrends of information systems and artificial technology
trends of information systems and artificial technologymilkesa13
 

More from milkesa13 (9)

5-Information Extraction (IE) and Machine Translation (MT).ppt
5-Information Extraction (IE) and Machine Translation (MT).ppt5-Information Extraction (IE) and Machine Translation (MT).ppt
5-Information Extraction (IE) and Machine Translation (MT).ppt
 
4-Chapter Four-Syntactic Parsing and Semantic Analysis.ppt
4-Chapter Four-Syntactic Parsing and Semantic Analysis.ppt4-Chapter Four-Syntactic Parsing and Semantic Analysis.ppt
4-Chapter Four-Syntactic Parsing and Semantic Analysis.ppt
 
2-Chapter Two-N-gram Language Models.ppt
2-Chapter Two-N-gram Language Models.ppt2-Chapter Two-N-gram Language Models.ppt
2-Chapter Two-N-gram Language Models.ppt
 
distributed system concerned lab sessions
distributed system concerned lab sessionsdistributed system concerned lab sessions
distributed system concerned lab sessions
 
distributed system with lap practices at
distributed system with lap practices atdistributed system with lap practices at
distributed system with lap practices at
 
distributed system relation mapping (ORM)
distributed system relation mapping  (ORM)distributed system relation mapping  (ORM)
distributed system relation mapping (ORM)
 
decision support system in management information
decision support system in management informationdecision support system in management information
decision support system in management information
 
management system development and planning
management system development and planningmanagement system development and planning
management system development and planning
 
trends of information systems and artificial technology
trends of information systems and artificial technologytrends of information systems and artificial technology
trends of information systems and artificial technology
 

Recently uploaded

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 

Recently uploaded (20)

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 

distributed system lab materials about ad

  • 1.
  • 2. Agenda 1. Evolution of computational technology 2. Parallel computing 3. Cluster computing 4. Grid Computing 5. Utility computing 6. Virtualization 7. Introduction to SOA 8. Cloud Computing 9. Internet Of Things 10. Q&A 
  • 3. 3 Can you name some examples of Distributed Systems?  Client-server (e.g., NFS)  The Internet  The Web  A sensor network  DNS  BitTorrent (peer to peer overlay)  Datacenters  Hadoop Block Chain
  • 4. 4 Definitions of Distributed Systems  A distributed system is a collection of independent computers that appear to the users of the system as a single computer. [Andrew Tanenbaum]  A distributed system is several computers doing something together. Thus, a distributed system has three primary characteristics: multiple computers, interconnections, and shared state. [Michael Schroeder]
  • 5. 5 Why Unsatisfactory? Why are these definitions short? Why do these definitions look inadequate to us? Because we are interested in the insides of a distributed system algorithms design and implementation maintenance Meeting customer requirements, performance and reliability.
  • 6. 6 A working definition of Distributed System  A distributed system is a collection of entities, each of which is autonomous, programmable, asynchronous and failure-prone, and which communicate through an unreliable communication medium. Our interest in distributed systems involves algorithmics, design and implementation, maintenance, study Entity=a process on a device (PC, PDA…) Communication Medium=Wired or wireless network  Distributed computing: This is a field of computer science engineering that studies distributed systems. A distributed system consists of multiple autonomous computers, each having its own private memory, communicating through a computer network. Information exchange in a distributed system is accomplished through message passing. A computer program that runs in a distributed system is known as a distributed program.
  • 7. 7 Computing Paradigms  Centralized computing: This is a computing paradigm by which all computer resources are centralized in one physical system. All resources (processors, memory, and storage) are fully shared and tightly coupled within one integrated OS. Many data centers and supercomputers are centralized systems, but they are used in parallel, distributed, and cloud computing applications. Parallel computing: All processors are either tightly coupled with centralized shared memory or loosely coupled with distributed memory. Interprocessor communication is accomplished through shared memory or via message passing. A computer system capable of parallel computing is commonly known as a parallel computer. Programs running in a parallel computer are called parallel programs. The process of writing parallel programs is often referred to as parallel programming.
  • 8. 8 A range of challenges • Failures recovery: no longer the exception, but rather a norm • Scalability: 1000s of machines, Terabytes of data • Asynchrony: clock skew and clock drift • Security: of data, users, computations, etc. • Mutual Exclusion: • Fault Tolerance: • Transaction management: • Network bandwidth bottleneck:
  • 9. Operational layers of distributed computing systems Application layer: most user applications in science, business, engineering, and financial services. Middleware layer: The middleware layer acts as a bridge between the application layer and the resource layer. This layer provides resource broker, communication service, task analyzer, task scheduler, security access, reliability control, and information service capabilities. Resource layer: The resource layer consists of a wide range of resources including computing nodes and storage units. This layer generally interacts with hardware devices and the operating system. therefore, it is responsible for controlling all distributed resources in distributed computing systems. Networking layer: Routing and transferring packets and enabling network services to the resource layer are the main responsibility of the network layer in distributed computing systems.
  • 10. Distributed System Models and Enabling Technologies
  • 11. Gartner's Older Hype Cycle for Emerging Technologies  The hype cycle provides a graphical and conceptual presentation of the maturity emerging technologies through five phases.
  • 12. 2010 Hype Cycle for Emerging Technologies
  • 13. 2016 Hype Cycle for Emerging Technologies
  • 14. 2018 Hype Cycle for Digital Governance
  • 15. 2019 Hype Cycle for Emerging Technologies
  • 16. 2020 Hype Cycle for Emerging Technologies
  • 17. Evolution of computational technology  Evolutionary trend toward parallel, distributed, and cloud computing
  • 18. Computing Technology Evolution 1940 1950 1960 1970 1980 1990 2000 Timesharing Companies & Data Processing Industry Grids Peer to peer systems Clusters The first datacenters! PCs (not distributed!) Clouds and datacenters 2017 18 Pervasive/ Ubiquitous Computing, Mobile Computing, IOT, and Fog Computing .
  • 19. What is Serial Computing? Traditionally, software has been written for serial computation: To be run on a single computer having a single Central Processing Unit (CPU); A problem is broken into a discrete series of instructions. Instructions are executed one after another. Only one instruction may execute at any moment in time.
  • 20. What is Parallel Computing? In the simplest sense, parallel computing is the simultaneous use of multiple compute resources to solve a computational problem. To be run using multiple CPUs A problem is broken into discrete parts that can be solved concurrently Each part is further broken down to a series of instructions Instructions from each part execute simultaneously on different CPUs
  • 21. Parallelism - A simplistic understanding Multiple tasks at once. Distribute work into multiple execution units. A classification of parallelism: Data Parallelism Functional or Control Parallelism Data Parallelism: Divide the dataset and solve each sector “similarly” on a separate execution unit. Functional Parallelism: Divide the 'problem' into different tasks and execute the tasks on different units. What would func. parallelism look like for the example on the right? Hybrid: Can do both: Say, first partition by data, and then for each data block, partition by functionality Sequential Data Parallelism
  • 22. Flynn Matrix The matrix below defines the 4 possible classifications according to Flynn
  • 23. Single Instruction, Single Data (SISD) qA serial (non-parallel) computer qSingle instruction: only one instruction stream is being acted on by the CPU during any one clock cycle qSingle data: only one data stream is being used as input during any one clock cycle qDeterministic execution q This is the oldest and until recently, the most prevalent form of computer qExamples: most PCs, single CPU workstations and mainframes Single Instruction, Single Data (SISD) qA serial (non-parallel) computer qSingle instruction: only one instruction stream is being acted on by the CPU during any one clock cycle qSingle data: only one data stream is being used as input during any one clock cycle qDeterministic execution q This is the oldest and until recently, the most prevalent form of computer qExamples: most PCs, single CPU workstations and mainframes Instruction, Single Data (SISD) allel) computer : only one instruction stream is being acted on by the CPU ock cycle one data stream is being used as input during any one clock cution and until recently, the most prevalent form of computer PCs, single CPU workstations and mainframes ingle Instruction, Single Data (SISD) al (non-parallel) computer instruction: only one instruction stream is being acted on by the CPU any oneclock cycle data: only one data stream is being used as input during any oneclock ministic execution the oldest and until recently, themost prevalent form ofcomputer les: most PCs, single CPU workstations and mainframes
  • 24. Single Instruction, Multiple Data (SIMD) qA type of parallel computer qSingle instruction: All processing units execute the same instruction at any given clock cycle qMultiple data: Each processing unit can operate on a different data element qBest suited for specialized problems characterized by a high degree of regularity,such as image processing. qSynchronous(lockstep) and deterministic execution qTwo varieties: Processor Arraysand Vector Pipelines qA type ofparallel computer qSingle instruction: All processing units execute thesame instruction at any given clock cycle qMultiple data: Each processing unit can operate on a different dataelement qBest suited forspecialized problems characterized by a high degree of regularity,such as image processing. qSynchronous(lockstep) and deterministic execution qTwo varieties: Processor Arraysand Vector Pipelines Single Instruction, Multiple Data (SIMD) qA type ofparallel computer qSingle instruction: All processing units execute thesame instruction atany given clock cycle qMultiple data:Each processing unitcan operate on a different dataelement qBest suited forspecialized problems characterized by a high degree of regularity,such as image processing. qSynchronous(lockstep) and deterministic execution qTwo varieties: Processor Arraysand Vector Pipelines Single Instruction, Multiple Data (SIMD) qA type of parallel computer qSingle instruction: All processing units execute the same instruction at any given clock cycle qMultiple data: Each processing unit can operate on a different data element qBest suited for specialized problems characterized by a high degree of regularity,such as imag qSynchronous (lockstep) and deterministic execution qTwo varieties: Processor Arrays and Vector Pipelines
  • 25. Multiple Instruction, Single Data (MISD) qA single data stream is fed into multiple processing units. qEach processing unit operates on the data independently via independent instruction streams. qFew actual examples of this class of parallel computer have ever existed. One is the experimental Carnegie-Mellon C.mmp computer (1971). qSome conceivable uses might be: Ø multiple frequencyfiltersoperating on a single signalstream qmultiple cryptography algorithms attempting to crack a single coded message. Multiple Instruction, Single Data (MISD) qA single data stream is fed into multiple processing units. qEach processing unit operates on the data independently via independent instruction streams. qFew actual examples of this class of parallel computer have ever existed. One is the experimental Carnegie-Mellon C.mmp computer (1971). qSome conceivable uses might be: Ø multiple frequencyfiltersoperating on a single signalstream qmultiple cryptography algorithms attempting to crack a single coded message. Multiple Instruction, Single Data (MISD) qA single data stream is fed into multiple processing units. qEach processing unit operates on the data independently via independent instruction streams. qFew actual examples of this class of parallel computer have ever existed. One is the experimental Carnegie-Mellon C.mmp computer (1971). qSome conceivable uses might be: Ø multiple frequencyfiltersoperating on a single signalstream qmultiple cryptography algorithms attempting to crack a single coded message. qA single datastream is fedintomultiple processing units. qEach processing unit operates onthe dataindependently via independent instruction streams. qFewactual examples ofthis class of parallel computer haveever existed. Oneis the experimental Carnegie-Mellon C.mmpcomputer (1971). qSome conceivable uses mightbe: Ømultiplefrequencyfiltersoperatingonasinglesignalstream qmultiple cryptographyalgorithms attempting to crack asingle coded message.
  • 26. Multiple Instruction, Multiple Data (MIMD) qCurrently, the most common type of parallel computer. Most modern computers fall into this category. qMultiple Instruction: every processor may be executing a different instruction stream qMultiple Data: every processor may be working with a different data stream qExecution can be synchronous or asynchronous,deterministic or non-deterministic qExamples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP computers - including some types of PCs. Multiple Instruction, Multiple Data (MIMD) qCurrently, the most common type of parallel computer. Most modern computers fall into this category. qMultiple Instruction: every processor may be executing a different instruction stream qMultiple Data: every processor may be working with a different data stream qExecution can be synchronous or asynchronous,deterministic or non-deterministic qExamples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP computers - including some types of PCs. Multiple Instruction, Multiple Data (MIMD) qCurrently, the most common type of parallel computer. Most modern computers fall into this category. qMultiple Instruction: every processor may beexecuting a different instruction stream qMultiple Data: every processor may beworking with a different data stream qExecution can besynchronous or asynchronous,deterministic or non-deterministic qExamples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP computers - including some types of PCs. Multiple Instruction, Multiple Data (MIMD) qCurrently, the most common typeof parallel computer. Most modern computers fall into this category. qMultiple Instruction: every processormay beexecuting a different instruction stream qMultiple Data: every processor may beworking with a different data stream qExecution can besynchronous or asynchronous,deterministic or non-deterministic qExamples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP computers - including some types of PCs.
  • 27. Memory architectures Shared Memory Distributed Memory Hybrid Distributed-Shared Memory
  • 28. Shared Memory Shared memory parallel computers vary widely, but generally have in common the ability for all processors to access all memory as global address space. Multiple processors can operate independently but share the same memory resources. Changes in a memory location effected by one processor are visible to all other processors. Shared memory machines can be divided into two main classes based upon memory access times: UMA and NUMA.
  • 29. Shared Memory : UMA vs. NUMA Uniform Memory Access (UMA): Most commonly represented today by Symmetric Multiprocessor (SMP) machines Identical processors Equal access and access times to memory Sometimes called CC-UMA - Cache Coherent UMA. Cache coherent means if one processor updates a location in shared memory, all the other processors know about the update. Cache coherency is accomplished at the hardware level. Non-Uniform Memory Access (NUMA): Often made by physically linking two or more SMPs One SMP can directly access memory of another SMP Not all processors have equal access time to all memories Memory access across link is slower If cache coherency is maintained, then may also be called CC-NUMA - Cache Coherent NUMA
  • 30. Shared Memory: Pro and Con  Advantages Global address space provides a user-friendly programming perspective to memory Data sharing between tasks is both fast and uniform due to the proximity of memory to CPUs  Disadvantages: Primary disadvantage is the lack of scalability between memory and CPUs. Adding more CPUs can geometrically increases traffic on the shared memory-CPU path, and for cache coherent systems, geometrically increase traffic associated with cache/memory management. Programmer responsibility for synchronization constructs that ensure "correct" access of global memory. Expense: it becomes increasingly difficult and expensive to design and produce shared memory machines with ever increasing numbers of processors.
  • 31. Distributed Memory Like shared memory systems, distributed memory systems vary widely but share a common characteristic. Distributed memory systems require a communication network to connect inter-processor memory. Processors have their own local memory. Memory addresses in one processor do not map to another processor, so there is no concept of global address space across all processors. Because each processor has its own local memory, it operates independently. Changes it makes to its local memory have no effect on the memory of other processors. Hence, the concept of cache cohérence dose not apply. When a processor needs access to data in another processor, it is usually the task of the programmer to explicitly define how and when data is communicated. Synchronisation between tasks is the programmer's responsibility. The network "fabric" used for data transfer varies widely, though it can can be as simple as Ethernet.
  • 32. Distributed Memory: Pro and Con Advantages  Memory is scalable with number of processors. Increase the number of processors and the size of memory increases proportionately.  Each processor can rapidly access its own memory without interference and without the overhead incurred with trying to maintain cache coherency.  Cost effectiveness: can use commodity, off-the-shelf processors and networking. Disadvantages  The programmer is responsible for many of the details associated with data communication between processors.  It may be difficult to map existing data structures, based on global memory, to this memory organization.  Non-uniform memory access (NUMA) times
  • 33. Hybrid Distributed-Shared Memory he largest and fastest computers in the world today employ both shared and distributed memory architectures. he shared memory component is usually a cache coherent SMP machine. Processors on a given SMP can ddress that machine's memory as global. he distributed memory component is the networking of multiple SMPs. SMPs know only about their own memory - not the memory on another SMP. Therefore, network communications are required to move data from ne SMP to another. urrent trends seem to indicate that this type of memory architecture will continue to prevail and increase at the igh end of computing for the foreseeable future. dvantages and Disadvantages: whatever is common to both shared and distributed memory architectures.
  • 34. Cluster computing  The cluster is often a collection of homogeneous compute nodes that are physically connected in close range to one another.  Clustering enables the construction of scalable parallel and distributed systems for both HPC and HTC applications.  Computer clusters have laid the foundation for today’s super computers, computational grids, and Internet clouds built over data centers.
  • 35. Cluster Family Classification  Based on application demand, computer clusters are divided into three classes: Compute clusters: These are clusters designed mainly for collective computation over a single large job. This type of clusters is also known as a Beowulf cluster . High-Availability clusters : HA (high-availability) clusters are designed to be fault-tolerant and achieve HA of services. Of course, high redundancy provides higher availability. HA clusters should be designed to avoid all single points of failure. Load-balancing clusters: These clusters shoot for higher resource utilization through load balancing among all participating nodes in the cluster. All nodes share the workload or function as a single virtual machine (VM). Requests initiated from the user are distributed to all node computers to form a cluster. This results in a balanced workload among different machines, and thus higher resource utilization or higher performance. Middleware is needed to achieve dynamic load balancing by job or process migration among all the cluster nodes.
  • 36. High level Cluster Architecture Cluster built around a low-latency, high bandwidth interconnection network. The gateway IP address locates the cluster. Most clusters have loosely coupled node computers. All resources of a server node are managed by their own OS. Thus, most clusters have multiple system images as a result of having many autonomous nodes under different OS control.
  • 37. Cluster Computer and its Architecture  A set of workstations connected by an Ethernet network is not necessarily a cluster. A cluster is a single system. For example, suppose a workstation has a 300 Mflops/second processor, 512 MB of memory, and a 4 GB disk and can support 50 active users and 1,000 processes. By clustering 100 such workstations, can we get a single system that is equivalent to one huge workstation, or a mega station , that has a 30 Gflops/second processor, 50 GB of memory, and a 400 GB disk and can support 5,000 active users and 100,000 processes. SSI techniques are aimed at achieving this goal. Single-System Image(SSI)
  • 38. Cluster Computer Architecture Sequential Applications Parallel Applications Parallel Programming Environment Cluster Middleware (Single System Image and Availability Infrastructure) Cluster Interconnection Network/Switch PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software Sequential Applications Sequential Applications Parallel Applications Parallel Applications
  • 39. Different types of cluster nodes connections Shared nothing Shared disk Shared memory
  • 40. Key Operational Benefits of Clustering High Performance Expandability and Scalability High Throughput High Availability Minimizing downtime of the Service
  • 41. Challenges in the Cluster Computing Challenges of cluster computing are as follows: Middleware: To produce software environments that provides an illusion of a single system image, rather than a collection of independent computers. Program: The applications that run on the clusters must be explicitly written which incorporates the division of tasks between nodes, also the communication between them should be taken care of. Elasticity: The variance in real-time response time when the number of service requests changes dramatically. Scalability: To meet the additional requirements of a resource thus effecting the performance of the system.
  • 42. Grid Computing  Some of the definitions of Grid Computing The flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions, and resources. Transparent, secure, and coordinated resource sharing and collaboration across sites. The ability to form virtual, collaborative organizations that share applications and data in an open heterogeneous server environment in order to work on common problems. The ability to aggregate large amounts of computing resources which are geographically dispersed to tackle large problems and workloads as if all the servers and resources are located in a single site. A hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to computational resources. The Web provides us information—the grid allows us to process it.  Grid Computing enables virtual organizations to share geographically distributed resources as they pursue common goals, assuming the absence of central location, central control, omniscience, and an existing trust relationship.
  • 44. Grid Computing System Grid Computing Layer INTERNET Grid Computing Layer
  • 46. Grid Protocol Architecture Grids provide protocols and services at five different layers as identified in the Grid protocol architecture. Fabric layer: Grids provide access to different resource types such as compute, storage and network resource, code repository, etc. Grids usually rely on existing fabric. Connectivity layer : defines core communication and authentication protocols for easy and secure network transactions. Resource layer: The resource layer defines protocols required to initiate and control sharing of local resources defines protocols for the publication, discovery, negotiation, monitoring, accounting and payment of sharing operations on individual resources. Grid Resource Allocation Management (GRAM):Remote allocation, reservation, monitoring, and control of resources . GridFTP (FTP Extensions):High performance data access and transport Grid Resource Information Service (GRIS):Access to structure and state information Collective layer: captures interactions across collections of resources, directory services such as MDS (Monitoring and Discovery Service) allows for the monitoring and discovery of VO resources, Condor-G and Nimrod-G are examples of co-allocating, scheduling and brokering services, and MPICH for Grid enabled programming systems, and CAS (community authorization service) for global resource policies. Application layer: comprises whatever user applications built on top of the above protocols and APIs and operate in VO environments. Two examples are Grid workflow systems, and Grid portals.
  • 47. Grid Protocols Security: Grid Security Infrastructure: Security is defined in the resource layer of the grid architecture. The Grid Security Infrastructure (GSI) for grids has been defined by creating extensions to standard and well-known protocols and APIs. Extensions for Secure Socket Layer/ Transport Layer Security (SSL/TLS) and X.509 have been defined to allow single sign-on (proxy certificate) and delegation
  • 48. Grid Protocols Resource Management: Grid Resource Allocation Management Protocol: The Grid Resource Allocation and Management protocol and client API allows programs to be started on remote resources. A Resource Specification Language (RSL) has been developed as a common notation for exchange of information between applications, resource brokers, and local resource managers. RSL provides two types of information:  Resource requirements: machine type, number of nodes, memory, etc.  Job configuration: directory, executable, arguments, environment
  • 49. Grid Protocols Data Transfer: Grid File Transfer Protocol: The standard FTP protocol has been extended while preserving interoperability with existing servers to develop GridFTP. The extensions provide for striped/parallel data channels, partial files, automatic and manual TCP buffer size settings, progress monitoring, and extended restart functionality. Information Services: Grid Information Services: Grid Information Service (GIS) provides access to static and dynamic information regarding a grid’s various components and includes the type and state of available resources. There are two types of Grid Information Services. The Grid Resource Information Service (GRIS) and the Grid Index Information Service (GIIS). The GRIS supplies information about a specific resource while the GIIS is an aggregate directory service. GIIS provides a collection of information that has been gathered from multiple GRIS servers. The Grid Resource Registration protocol is used by resources to register with the GRIS servers. The Grid Resource Inquiry protocol is used to query a resource description server for information and also query the aggregate server for information.
  • 50. Globus Toolkit Globus™ is a reference implementation of the grid architecture and grid protocols discussed in the preceding sections. Protocol stack in version 4.x of the Globus Toolkit.
  • 51. Open Grid Services Architecture Open Grid Services Architecture, an effort led by IBM and the Globus team, tries to marry the Web Services architecture with the Grid Computing architecture. Taking advantage of the experience gained from the Globus implementation of grid technologies and Web Services standards, OGSA will model traditional grid resources (computation, storage) as a Grid Service.
  • 52. Challenges in grid computing Challenges of grid computing are as follows:  Dynamicity: Resources in grid are owned and managed by more than one organization which may enter and leave the grid at any time causing burden on the grid.  Administration: To form a unified resource pool, a heavy system administration burden is raised along with other maintenance work to coordinate local administration policies with global ones.  Development: Problems are concerned with ways of writing software to run on grid-computing platforms, which includes to decompose and distribute to processing elements, and then assembling solutions.  Accounting: Finding ways to support different account- ing infrastructure, economic model and application models that can cope well with tasks that communicate frequently and are interdependent.  Heterogeneity: Finding ways to create a wide area data intensive programming and scheduling framework in heterogeneous set of resources.  Programming: The low-coupling between nodes and the distributed nature of processing make the programming of applications over grids more complex.
  • 53. Utility computing  Utility computing focuses on a business model in which customers receive computing resources from a paid service provider.  All grid/cloud platforms are regarded as utility service providers.  Cloud computing offers a broader concept than utility computing.  Distributed cloud applications run on any available servers in networks  We define utility Computing as being commercial compute resources that are maintained and managed by a service provider. Customers that have the need to augment their existing, internal computational resources may purchase “cycles” from a computing provider.
  • 54. Server consolidation  Virtualization brought overfull data centers and underutilized servers to condense multiple physical servers into one server that would run many virtual machines, allowing that physical server to run at a much higher rate of utilization. This condensing of servers is called server consolidation.
  • 55. V Vision of computer utilities using distributed computing systems
  • 56. Virtualization  Virtualization is a disruptive technology.  Virtualization in computing often refers to the abstraction of some physical component into a logical object. By virtualizing an object, you can obtain some greater measure of utility from the resource the object provides.  A virtual machine (VM) can virtualize all of the hardware resources, including processors, memory, storage, and network connectivity. A virtual machine monitor (VMM), today is commonly called a hypervisor, is the software that provides the environment in which the VMs operate.
  • 57. Features:  Hardware Independent Operating System.  Virtual Machines can be provisioned to any System/Server.  Multiple Operating Systems can be installed on a Server/System.  Resources are split and provisioned to VMS.  Can run multiple systems with same amount of cooling, power and space. x86 Architecture VMware Virtualization Layer Application Application Operating System Operating System CPU Memory NIC Disk
  • 58. A basic virtual machine monitor (VMM)
  • 59. Hypervisor  The hypervisor manages the interactions between each virtual machine and the hardware that the guests all share.  Role of Hypervisor:  Provide an environment identical to the physical environment.  Provide that environment with minimal performance cost.  Retain complete control of the system resources.
  • 60. Type-1 Hypervisor  Type 1 hypervisors run directly on the server hardware without an operating system beneath it. Because there is no intervening layer between the hypervisor and the physical hardware, this is also referred to as a bare- metal implementation.  Type 1 hypervisors include VMware ESX, Microsoft Hyper-V, and the many Xen variants.
  • 61. Hypervisor  A Type 2 hypervisor itself is an application that runs on top of a traditional operating system.  VMware Player, Vmware Workstation, and Microsoft Virtual Server are examples of Type 2hypervisors. Type-2 Hypervisor
  • 66. Cloud Computing Cloud computing is an Internet cloud of resources can be either a centralized or a distributed computing system.  The cloud applies parallel or distributed computing, or both. Clouds can be built with physical or virtualized resources over large data centers that are centralized or distributed. Some consider cloud computing to be a form of utility computing or service computing.
  • 67. Cloud: A new consumption and delivery model.  Cloud Addresses:  Cost factor  Scalability  Utilization  Self-Service  IT-agility, flexibility and delivery of value  Cloud Representations: The industrialization of delivery for IT.
  • 68. Virtualized Servers, Storage, Networking Virtualization &Platform Management Virtualized Servers, Storage, Networking Virtualization &Platform Management Virtualized Servers, Storage, Networking Virtualization &Platform Management Basic Cloud(Self Service, Admin, VM Provisioning Service Orchestration and Integration Basic Cloud(Self Service, Admin, VM Provisioning  This is not always a linear progression. some begin by Optimizing the virtualization foundation for a workload, then gradually move to cloud.  Some require cloud capabilities From the beginning and may start with advanced cloud or entry cloud solutions.  Some may be in all of these stages w/ different workloads across the data center. Virtualization Foundation Advanced Cloud Entry Cloud
  • 69. Virtualization + Server Automation + Standardization + Self Service Virtualization Networking Storage Services Hypervisor VM CPU Memory Virtual Switch Virtual NICs VLAN VPN DAS SAN iSCSi NFS SOAP-XML REST NAS Fiber
  • 71. Challenges in the Cloud Computing Challenges of Cloud Computing are as follows:  Dynamic scalability: The compute nodes are scaled up and down dynamically by the application according to the response time of the user’s queries. The scheduling delays involved are real concern which leads to the need of effective and dynamic load management system.  Multi-tenancy: When the number of applications running on the same compute node increases, it will reduce the amount of bandwidth allocated to each application which may lead to performance degradation.  Querying and access: Scalable provenance querying and secure access of provenance information are open problems for both grid and cloud environment.  Standardization: As every organization has their own APIs and protocols used which makes the user data or vendor lock-in. Thus integration and interoperability of all the services and application is a challenge.  Reliability and fault-tolerance: Tools for testing the application against fault tolerance and compute failures are required which help in developing a reliable system.  Debugging and profiling: Parallel and remote debugging has always been a problem for developing HPC programs and is an issue in cloud computing also.  Security and Privacy: The user has no idea where data is stored and who will use it as there are more hackers than developers.
  • 72. Detailed Comparison of Cluster, Grid and Cloud Computing Clusters Grids Clouds SLA Limited Yes Yes Allocation Centralized Decentralized Both Resource Handling Centralized Distributed Both Loose coupling No Both Yes Protocols/API MPI, Parallel Virtual MPI,MPICH-G, GIS,GRAM TCP/IP,SOAP, REST,AJAX Reliability No Half Full Security Yes Half No User friendliness No Half Yes Virtualization Half Half Yes
  • 73. Detailed Comparison of Cluster, Grid and Cloud Computing..Cont Clusters Grids Clouds Interoperability Yes Yes Half Standardized Yes Yes No Business Model No No Yes Task Size Single large Single large Small & medium SOA No Yes Yes Multitenancy No Yes Yes System Performance Improves Improves Improves Self service No Yes Yes Computation service Computing Max. Computing On Demand
  • 74. Detailed Comparison of Cluster, Grid and Cloud Computing..Cont Clusters Grids Clouds Computation service Computing Max. Computing On Demand Heterogeneity No Yes Yes Scalable No Half Yes Inexpensive No No Yes Data Locality Exploited No No Yes Application HPC,HTC HPC, HTC, Batch SME interactive apps. Switching cost Low Low High Value Added Services No Half Yes
  • 75. Grids and Clouds Overview
  • 76. Evolution of the IoT  The future of the Internet will consist of heterogeneously connected devices that will further extend the borders of the world with physical entities and virtual components. The Internet of Things (IoT) will empower the connected things with new capabilities
  • 79. IoT paradigm as a result of the convergence of different visions.
  • 82. Functions of sensing layer in IoT
  • 84. Architecture for the Social IoT
  • 85. Introduction to SOA  It has become a core idea of most distributed systems.  Loose coupling and support of heterogeneous implementations makes services more attractive than distributed objects.  SOA is about how to design a software system that makes use of services of new or legacy applications through their published or discoverable interfaces. These applications are often distributed over the networks.  SOA also aims to make service interoperability extensible and effective.  It prompts architecture styles such as loose coupling, published interfaces, and a standard communication model in order to support this goal.
  • 86. Where SOA Comes into Picture in IT
  • 87. Introduction to SOA  SOA as a form of distributed systems architecture characterized  Logical view: The SOA is an abstracted, logical view of actual programs, databases, business processes, and so on, defined in terms of what it does, typically carrying out a business-level operation.  Message orientation: The internal structure of providers and requesters include the implementation language, process structure, and even database structure. By avoiding any knowledge of the internal structure of an agent, one can incorporate any software component or application to adhere to the formal service definition.  Description orientation: A service is described by machine-executable metadata. The description supports the public nature of the SOA. Only those details that are exposed to the public and are important for the use of the service should be included in the description.
  • 89. Introduction to SOA  SOA helps to meet the needs of business processes of large distributed systems.
  • 90. SOA is based on 3 Concepts  A service will have functionality/work to be done which eases the work of the user/client.  This provided service could be as simple as getting some information from the user and fetching the required data from the db or it could be as complicated as an entire business process for an organization.  Enterprise service bus which enables interoperability between systems for services. It makes it easier to have the services running in multiple systems with different platforms and technologies.  Loose Coupling: When there is tight coupling between systems then the dependency is very high. If it is loosely coupled then the dependency is low.  It is like writing a method and call this method in all the places. In the method specify the external dependency.  If there is change in external dependency then only the method has to be modified.  Loose coupling will help in minimizing the risk of modifications and failures.
  • 91. SOA Services  The noun “service” is defined in dictionaries as "The performance of work (a function) by one for another.” by OASIS SOA reference model.  SOA focusses on business functionality. These processes are performed with different steps on different systems. A service should represent the real world business functionality.  A business person should be able to understand the functionality provided by the service.  Technically, a service takes the required input, processes it and returns the required information.  SOA is a software architecture that starts with interface definition and builds the entire applications interfaces so that the client can call the interface.
  • 92. Service Life Cycle  Implementing Services: It has usual software development Life cycle as:  Analysis, design, implementation, Integration and deploying in production.
  • 93. SOA Services-Additional Attributes  Self-contained: They are self governed, independent, autonomous.  Abstraction: Services abstracts the implementation from the client. The issues of abstraction is several calls has to be made. Hence, it is better to send the required data at once instead of sending it multiple times.  Visibility of service: You need to know that a service exists or it can be spread via “word of mouth”.  Stateless: Services will not maintain the state. Whatever the user asks for, it is served. At times, for reference purposes it is stored in the database.  Idempotent: You call a service and there is some response from the service. You do not know whether the response is right or wrong. You call the same service again to verify. This is called as Idempotent.
  • 94. SOA Services-Additional Attributes  Reusable: Service is written once and can be used many times.  Compassable: A service can call another service as business process is broken into small functionalities.  SLA: A service can have Service Level Agreements like time to perform the given task, reliability etc.  Pre and post conditions: Pre and post condition will help to know resolve the issue(s) of the customer. Pre condition means customer would have come up with some issues and post condition is resolving the issue of the customer.  Interoperability: Will be able to communicate between different systems.  Implemented as web services: Web services are used to implement SOA.
  • 95. SOA - Loose Coupling  Fault tolerance: When the stock market system goes down for an hour there is a loss of 8 million dollars. If the flight booking systems goes down for an hour there is a loss of 1 million dollar an hour. Hence, the systems has to be robust. Fault tolerance has to be implemented in the systems. This is achieved through loose coupling.
  • 96. Asynchronous Communication  Asynchronous communication: Sender of a message and receiver of a message is not synchronized. Consider the following example of an email: Sender sends an email. Receiver receives it. Receiver checks the email at his own pace and responds back. In this form of communication, sender sends a message to the receiver. It is in receiver queue. When the receiver sees the message, sender gets an acknowledgement.
  • 97. Enterprise Service Bus (ESB)  An enterprise service bus (ESB) is a software architecture model used for designing and implementing communication between mutually interacting software applications in a service oriented Architecture.  The concept has been developed from bus architecture from the computer hardware. The motivation was to develop a standard, structured and general purpose component which is of loosely coupled that are expected to run independently.  It is like a management layer for technical services of SOA.
  • 99. ESB
  • 100. Responsibilities of ESB  Providing connectivity  Data transformation: As discussed earlier; can define how to couple different data types into compatible one  (Intelligent) routing: Supporting load balancing and failover support  Dealing with security  Dealing with reliability: Has to define how to reliably deliver services and defines how to handle the technical issues  Service management : When the number of services grow then management comes into the picture. What processes and policies has to be implemented should be part of this component.  Monitoring and logging: All the activities are monitored and logged in
  • 101. SOA Services  Services are of Three types
  • 102. SOA Basic Architectural Models  SOA Architecture can be seen from different perspective based on the need. They are: 1. Business or Logical based 2. Mixed 3. Technical
  • 105. The evolution of SOA in Distributed Computing  “SS” refers to a sensor service.  “FS” refers to filter or transforming service.