SlideShare a Scribd company logo
1 of 103
Download to read offline
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 J
3
Can you name some examples of Distributed Systems?
q Client-server (e.g., NFS)
q The Internet
q The Web
q A sensor network
q DNS
q BitTorrent (peer to peer overlay)
q Datacenters
q Hadoop
qBlock Chain
4
Definitions of Distributed Systems
q A distributed system is a collection of independent computers that appear to
the users of the system as a single computer.
[Andrew Tanenbaum]
q 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?
qWhy are these definitions short?
qWhy do these definitions look inadequate to us?
qBecause 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
q 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.
qOur interest in distributed systems involves
Øalgorithmics, design and implementation, maintenance, study
qEntity=a process on a device (PC, PDA…)
qCommunication Medium=Wired or wireless network
q 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
q 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.
qParallel 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
q 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
Evolution of computational technology
q 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
17
Pervasive/ Ubiquitous Computing,
Mobile Computing, IOT, and Fog
Computing .
What is Serial Computing?
qTraditionally, 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?
qIn 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
qInstructions from each part execute simultaneously on different CPUs
Parallelism - A simplistic understanding
qMultiple tasks at once.
qDistribute work into multiple execution units.
qA classification of parallelism:
ØData Parallelism
ØFunctional or Control Parallelism
qData Parallelism: Divide the dataset and solve each
sector “similarly” on a separate execution unit.
qFunctional 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?
qHybrid: Can do both: Say, first partition by data, and
then for each data block, partition by functionality
Sequential
Data
Parallelism
Flynn Matrix
qThe 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
e Instruction, Single Data (SISD)
arallel) computer
on: only one instruction stream is being acted on by the CPU
clock cycle
y one data stream is being used as input during any one clock
xecution
st and until recently, the most prevalent form of computer
t PCs, single CPU workstations and mainframes
Single Instruction, Single Data (SISD)
rial (non-parallel) computer
le instruction: only one instruction stream is being acted on by the CPU
ng any oneclock cycle
le data: only one data stream is being used as input during any oneclock
e
erministic execution
is the oldest and until recently, themost prevalent form ofcomputer
mples: 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
Single Instruction, Multiple Data (SIMD)
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 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 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
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.
MultipleInstruction, Single Data(MISD)
qA single datastream is fedintomultiple processing units.
qEach processing unit operates onthe dataindependently via independent instruction streams.
qFew actual examples ofthis class of parallel computer haveever existed. Oneis the experimental
Carnegie-Mellon C.mmpcomputer (1971).
qSome conceivable uses mightbe:
Ømultiple frequencyfiltersoperatingonasingle signalstream
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 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 typeof 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.
Memory architectures
qShared Memory
qDistributed Memory
qHybrid Distributed-Shared Memory
Shared Memory
qShared memory parallel computers vary widely, but generally have in common the ability for all processors
to access all memory as global address space.
qMultiple processors can operate independently but share the same memory resources.
qChanges in a memory location effected by one processor are visible to all other processors.
qShared memory machines can be divided into two main classes based upon memory access times: UMA and
NUMA.
Shared Memory : UMA vs. NUMA
qUniform 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.
qNon-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
q 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
q 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
qLike 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.
qProcessors 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.
qBecause 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.
qWhen 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.
qThe network "fabric" used for data transfer varies widely, though it can can be as simple as Ethernet.
Distributed Memory: Pro and Con
qAdvantages
Ø 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.
qDisadvantages
Ø 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
The largest and fastest computers in the world today employ both shared and distributed memory architectures.
The shared memory component is usually a cache coherent SMP machine. Processors on a given SMP can
address that machine's memory as global.
The 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
one SMP to another.
Current trends seem to indicate that this type of memory architecture will continue to prevail and increase at the
high end of computing for the foreseeable future.
Advantages and Disadvantages: whatever is common to both shared and distributed memory architectures.
Cluster computing
q The cluster is often a collection of homogeneous compute nodes
that are physically connected in close range to one another.
q Clustering enables the construction of scalable parallel and
distributed systems for both HPC and HTC applications.
q Computer clusters have laid the foundation for today’s super
computers, computational grids, and Internet clouds built over data
centers.
Cluster Family Classification
q 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
q 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
qHigh Performance
qExpandability and Scalability
qHigh Throughput
qHigh Availability
qMinimizing downtime of the Service
Challenges in the Cluster Computing
Challenges of cluster computing are as follows:
qMiddleware: To produce software environments that provides an illusion of a
single system image, rather than a collection of independent computers.
qProgram: 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.
qElasticity: The variance in real-time response time when the number of
service requests changes dramatically.
qScalability: To meet the additional requirements of a resource thus effecting
the performance of the system.
Grid Computing
q 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.
q 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
Com
putingLayer
Grid
Com
putingLayer
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
qGlobus™ 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
qOpen 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:
q 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.
q 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.
q 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.
q 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.
q Heterogeneity: Finding ways to create a wide area data intensive programming and scheduling
framework in heterogeneous set of resources.
q Programming: The low-coupling between nodes and the distributed nature of processing make the
programming of applications over grids more complex.
Utility computing
q Utility computing focuses on a business model in which customers
receive computing resources from a paid service provider.
q All grid/cloud platforms are regarded as utility service providers.
q Cloud computing offers a broader concept than utility computing.
q Distributed cloud applications run on any available servers in networks
q 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.
V
Vision of computer utilities using distributed computing systems
Virtualization
q Virtualization is a disruptive technology.
q 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.
q A virtual machine (VM) can virtualize all of the hardware resources,
including processors, memory, storage, and network connectivity.
A virtual machine monitor (VMM), which today is commonly called
a hypervisor, is the software that provides the environment in
which the VMs operate.
A basic virtual machine monitor (VMM)
Server consolidation
q 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.
Hypervisor
q The hypervisor manages the interactions between each virtual machine
and the hardware that the guests all share.
q 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
q 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.
q Type 1 hypervisors include VMware ESX, Microsoft Hyper-V, and the many
Xen variants.
Hypervisor
q A Type 2 hypervisor itself is an application that runs on top of a traditional
operating system.
q 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
q Cloud computing 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.
qCloud: A new consumption and delivery model.
q Cloud Addresses:
Ø Cost factor
Ø Scalability
Ø Utilization
Ø Self-Service
Ø IT-agility, flexibility and delivery of value
q 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
q This is not always a linear
progression. some begin by
Optimizing the virtualization
foundation for a workload, then
gradually move to cloud.
q Some require cloud capabilities
From the beginning and may
start with advanced cloud or
entry cloud solutions.
q 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:
q 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.
q 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.
q Querying and access: Scalable provenance querying and secure access of provenance information are open
problems for both grid and cloud environment.
q 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.
q Reliability and fault-tolerance: Tools for testing the application against fault tolerance and compute failures
are required which help in developing a reliable system.
q Debugging and profiling: Parallel and remote debugging has always been a problem for developing HPC
programs and is an issue in cloud computing also.
q 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
q 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
q It has become a core idea of most distributed systems.
q Loose coupling and support of heterogeneous implementations makes
services more attractive than distributed objects.
q 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.
q SOA also aims to make service interoperability extensible and effective.
q 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
SOA Three Elements Model
Introduction to SOA
q SOA helps to meet the needs of business processes of large distributed systems.
SOA is based on 3 Concepts
q 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.
q 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.
q 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
q The noun “service” is defined in dictionaries as "The performance of work (a
function) by one for another.” by OASIS SOA reference model.
q SOA focusses on business functionality. These processes are performed with
different steps on different systems. A service should represent the real
world business functionality.
q A business person should be able to understand the functionality provided
by the service.
q Technically, a service takes the required input, processes it and returns the
required information.
q 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
q Implementing Services: It has usual software development Life cycle as:
q Analysis, design, implementation, Integration and deploying in production.
SOA Services-Additional Attributes
q Self-contained: They are self governed, independent, autonomous.
q 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.
q Visibility of service: You need to know that a service exists or it can be
spread via “word of mouth”.
q 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.
q 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
q Reusable: Service is written once and can be used many times.
q Compassable: A service can call another service as business process is
broken into small functionalities.
q SLA: A service can have Service Level Agreements like time to perform the
given task, reliability etc.
q 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.
q Interoperability: Will be able to communicate between different systems.
q Implemented as web services: Web services are used to implement SOA.
SOA — Loose Coupling
q 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
q 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)
q 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.
q 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.
q It is like a management layer for technical services of SOA.
ESB Architecture
ESB
Responsibilities of ESB
q Providing connectivity
q Data transformation: As discussed earlier; can define how to couple
different data types into compatible one
q (Intelligent) routing: Supporting load balancing and failover support
q Dealing with security
q Dealing with reliability: Has to define how to reliably deliver services and
defines how to handle the technical issues
q 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.
q Monitoring and logging: All the activities are monitored and logged in
SOA Services
q Services are of Three types
SOA Basic Architectural Models
q 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
q “SS” refers to a sensor service.
q “FS” refers to filter or transforming service.
introduction to advanced distributed system

More Related Content

Similar to introduction to advanced distributed system

System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computingpurplesea
 
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
 
Distributed Computing system
Distributed Computing system Distributed Computing system
Distributed Computing system Sarvesh Meena
 
Cluster Tutorial
Cluster TutorialCluster Tutorial
Cluster Tutorialcybercbm
 
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
 
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
 
Parallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptxParallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptxkrnaween
 
Infrastructure student
Infrastructure studentInfrastructure student
Infrastructure studentJohn Scrugham
 
Cloud Computing-UNIT 1 claud computing basics
Cloud Computing-UNIT 1 claud computing basicsCloud Computing-UNIT 1 claud computing basics
Cloud Computing-UNIT 1 claud computing basicsmoeincanada007
 
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
 
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.iraminnezarat
 
Real-Time Scheduling Algorithms
Real-Time Scheduling AlgorithmsReal-Time Scheduling Algorithms
Real-Time Scheduling AlgorithmsAJAL A J
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageMayaData Inc
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdfSwatantraPrakash5
 

Similar to introduction to advanced distributed system (20)

System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computing
 
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...
 
Distributed Computing system
Distributed Computing system Distributed Computing system
Distributed Computing system
 
Distributed Computing
Distributed ComputingDistributed Computing
Distributed Computing
 
Cluster Tutorial
Cluster TutorialCluster Tutorial
Cluster Tutorial
 
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...
 
Current Trends in HPC
Current Trends in HPCCurrent Trends in HPC
Current Trends in HPC
 
Pdc lecture1
Pdc lecture1Pdc lecture1
Pdc lecture1
 
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
 
Parallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptxParallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptx
 
Infrastructure student
Infrastructure studentInfrastructure student
Infrastructure student
 
Cloud Computing-UNIT 1 claud computing basics
Cloud Computing-UNIT 1 claud computing basicsCloud Computing-UNIT 1 claud computing basics
Cloud Computing-UNIT 1 claud computing basics
 
Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
 
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
unit 1.pptx
unit 1.pptxunit 1.pptx
unit 1.pptx
 
Real-Time Scheduling Algorithms
Real-Time Scheduling AlgorithmsReal-Time Scheduling Algorithms
Real-Time Scheduling Algorithms
 
Ca alternative architecture
Ca alternative architectureCa alternative architecture
Ca alternative architecture
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdf
 

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

Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
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
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
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
 
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
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 

Recently uploaded (20)

Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
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 ...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
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
 
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
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 

introduction to advanced distributed system

  • 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 J
  • 3. 3 Can you name some examples of Distributed Systems? q Client-server (e.g., NFS) q The Internet q The Web q A sensor network q DNS q BitTorrent (peer to peer overlay) q Datacenters q Hadoop qBlock Chain
  • 4. 4 Definitions of Distributed Systems q A distributed system is a collection of independent computers that appear to the users of the system as a single computer. [Andrew Tanenbaum] q 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? qWhy are these definitions short? qWhy do these definitions look inadequate to us? qBecause 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 q 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. qOur interest in distributed systems involves Øalgorithmics, design and implementation, maintenance, study qEntity=a process on a device (PC, PDA…) qCommunication Medium=Wired or wireless network q 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 q 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. qParallel 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 q 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. Evolution of computational technology q Evolutionary trend toward parallel, distributed, and cloud computing
  • 17. 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 17 Pervasive/ Ubiquitous Computing, Mobile Computing, IOT, and Fog Computing .
  • 18. What is Serial Computing? qTraditionally, 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.
  • 19. What is Parallel Computing? qIn 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 qInstructions from each part execute simultaneously on different CPUs
  • 20. Parallelism - A simplistic understanding qMultiple tasks at once. qDistribute work into multiple execution units. qA classification of parallelism: ØData Parallelism ØFunctional or Control Parallelism qData Parallelism: Divide the dataset and solve each sector “similarly” on a separate execution unit. qFunctional 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? qHybrid: Can do both: Say, first partition by data, and then for each data block, partition by functionality Sequential Data Parallelism
  • 21. Flynn Matrix qThe matrix below defines the 4 possible classifications according to Flynn
  • 22. 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 e Instruction, Single Data (SISD) arallel) computer on: only one instruction stream is being acted on by the CPU clock cycle y one data stream is being used as input during any one clock xecution st and until recently, the most prevalent form of computer t PCs, single CPU workstations and mainframes Single Instruction, Single Data (SISD) rial (non-parallel) computer le instruction: only one instruction stream is being acted on by the CPU ng any oneclock cycle le data: only one data stream is being used as input during any oneclock e erministic execution is the oldest and until recently, themost prevalent form ofcomputer mples: most PCs, single CPU workstations and mainframes
  • 23. 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 Single Instruction, Multiple Data (SIMD) 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 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 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 qSynchronous (lockstep) and deterministic execution qTwo varieties: Processor Arrays and Vector Pipelines
  • 24. 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. MultipleInstruction, Single Data(MISD) qA single datastream is fedintomultiple processing units. qEach processing unit operates onthe dataindependently via independent instruction streams. qFew actual examples ofthis class of parallel computer haveever existed. Oneis the experimental Carnegie-Mellon C.mmpcomputer (1971). qSome conceivable uses mightbe: Ømultiple frequencyfiltersoperatingonasingle signalstream qmultiple cryptographyalgorithms attempting to crack asingle coded message.
  • 25. 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 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 typeof 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.
  • 26. Memory architectures qShared Memory qDistributed Memory qHybrid Distributed-Shared Memory
  • 27. Shared Memory qShared memory parallel computers vary widely, but generally have in common the ability for all processors to access all memory as global address space. qMultiple processors can operate independently but share the same memory resources. qChanges in a memory location effected by one processor are visible to all other processors. qShared memory machines can be divided into two main classes based upon memory access times: UMA and NUMA.
  • 28. Shared Memory : UMA vs. NUMA qUniform 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. qNon-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
  • 29. Shared Memory: Pro and Con q 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 q 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.
  • 30. Distributed Memory qLike 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. qProcessors 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. qBecause 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. qWhen 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. qThe network "fabric" used for data transfer varies widely, though it can can be as simple as Ethernet.
  • 31. Distributed Memory: Pro and Con qAdvantages Ø 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. qDisadvantages Ø 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
  • 32. Hybrid Distributed-Shared Memory The largest and fastest computers in the world today employ both shared and distributed memory architectures. The shared memory component is usually a cache coherent SMP machine. Processors on a given SMP can address that machine's memory as global. The 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 one SMP to another. Current trends seem to indicate that this type of memory architecture will continue to prevail and increase at the high end of computing for the foreseeable future. Advantages and Disadvantages: whatever is common to both shared and distributed memory architectures.
  • 33. Cluster computing q The cluster is often a collection of homogeneous compute nodes that are physically connected in close range to one another. q Clustering enables the construction of scalable parallel and distributed systems for both HPC and HTC applications. q Computer clusters have laid the foundation for today’s super computers, computational grids, and Internet clouds built over data centers.
  • 34. Cluster Family Classification q 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.
  • 35. 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.
  • 36. Cluster Computer and its Architecture q 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)
  • 37. 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
  • 38. Different types of cluster nodes connections Shared nothing Shared disk Shared memory
  • 39. Key Operational Benefits of Clustering qHigh Performance qExpandability and Scalability qHigh Throughput qHigh Availability qMinimizing downtime of the Service
  • 40. Challenges in the Cluster Computing Challenges of cluster computing are as follows: qMiddleware: To produce software environments that provides an illusion of a single system image, rather than a collection of independent computers. qProgram: 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. qElasticity: The variance in real-time response time when the number of service requests changes dramatically. qScalability: To meet the additional requirements of a resource thus effecting the performance of the system.
  • 41. Grid Computing q 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. q 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.
  • 43. Grid Computing System Grid Computing Layer INTERNET Grid Computing Layer Grid Com putingLayer Grid Com putingLayer
  • 45. 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.
  • 46. 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
  • 47. 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
  • 48. 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.
  • 49. Globus Toolkit qGlobus™ 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.
  • 50. Open Grid Services Architecture qOpen 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.
  • 51. Challenges in grid computing Challenges of grid computing are as follows: q 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. q 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. q 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. q 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. q Heterogeneity: Finding ways to create a wide area data intensive programming and scheduling framework in heterogeneous set of resources. q Programming: The low-coupling between nodes and the distributed nature of processing make the programming of applications over grids more complex.
  • 52. Utility computing q Utility computing focuses on a business model in which customers receive computing resources from a paid service provider. q All grid/cloud platforms are regarded as utility service providers. q Cloud computing offers a broader concept than utility computing. q Distributed cloud applications run on any available servers in networks q 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.
  • 53. V Vision of computer utilities using distributed computing systems
  • 54. Virtualization q Virtualization is a disruptive technology. q 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. q A virtual machine (VM) can virtualize all of the hardware resources, including processors, memory, storage, and network connectivity. A virtual machine monitor (VMM), which today is commonly called a hypervisor, is the software that provides the environment in which the VMs operate.
  • 55. A basic virtual machine monitor (VMM)
  • 56. Server consolidation q 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.
  • 57. Hypervisor q The hypervisor manages the interactions between each virtual machine and the hardware that the guests all share. q 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.
  • 58. Type-1 Hypervisor q 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. q Type 1 hypervisors include VMware ESX, Microsoft Hyper-V, and the many Xen variants.
  • 59. Hypervisor q A Type 2 hypervisor itself is an application that runs on top of a traditional operating system. q VMware Player, Vmware Workstation, and Microsoft Virtual Server are examples of Type 2hypervisors. Type-2 Hypervisor
  • 64. Cloud Computing q Cloud computing 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.
  • 65. qCloud: A new consumption and delivery model. q Cloud Addresses: Ø Cost factor Ø Scalability Ø Utilization Ø Self-Service Ø IT-agility, flexibility and delivery of value q Cloud Representations: The industrialization of delivery for IT.
  • 66. 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 q This is not always a linear progression. some begin by Optimizing the virtualization foundation for a workload, then gradually move to cloud. q Some require cloud capabilities From the beginning and may start with advanced cloud or entry cloud solutions. q Some may be in all of these stages w/ different workloads across the data center. Virtualization Foundation Advanced Cloud Entry Cloud
  • 67. 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
  • 69. Challenges in the Cloud Computing Challenges of Cloud Computing are as follows: q 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. q 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. q Querying and access: Scalable provenance querying and secure access of provenance information are open problems for both grid and cloud environment. q 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. q Reliability and fault-tolerance: Tools for testing the application against fault tolerance and compute failures are required which help in developing a reliable system. q Debugging and profiling: Parallel and remote debugging has always been a problem for developing HPC programs and is an issue in cloud computing also. q Security and Privacy: The user has no idea where data is stored and who will use it as there are more hackers than developers.
  • 70. 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
  • 71. 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
  • 72. 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
  • 73. Grids and Clouds Overview
  • 74. Evolution of the IoT q 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
  • 77. IoT paradigm as a result of the convergence of different visions.
  • 80. Functions of sensing layer in IoT
  • 82. Architecture for the Social IoT
  • 83. Introduction to SOA q It has become a core idea of most distributed systems. q Loose coupling and support of heterogeneous implementations makes services more attractive than distributed objects. q 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. q SOA also aims to make service interoperability extensible and effective. q It prompts architecture styles such as loose coupling, published interfaces, and a standard communication model in order to support this goal.
  • 84. Where SOA Comes into Picture in IT
  • 86. Introduction to SOA q SOA helps to meet the needs of business processes of large distributed systems.
  • 87. SOA is based on 3 Concepts q 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. q 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. q 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.
  • 88. SOA Services q The noun “service” is defined in dictionaries as "The performance of work (a function) by one for another.” by OASIS SOA reference model. q SOA focusses on business functionality. These processes are performed with different steps on different systems. A service should represent the real world business functionality. q A business person should be able to understand the functionality provided by the service. q Technically, a service takes the required input, processes it and returns the required information. q SOA is a software architecture that starts with interface definition and builds the entire applications interfaces so that the client can call the interface.
  • 89. Service Life Cycle q Implementing Services: It has usual software development Life cycle as: q Analysis, design, implementation, Integration and deploying in production.
  • 90. SOA Services-Additional Attributes q Self-contained: They are self governed, independent, autonomous. q 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. q Visibility of service: You need to know that a service exists or it can be spread via “word of mouth”. q 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. q 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.
  • 91. SOA Services-Additional Attributes q Reusable: Service is written once and can be used many times. q Compassable: A service can call another service as business process is broken into small functionalities. q SLA: A service can have Service Level Agreements like time to perform the given task, reliability etc. q 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. q Interoperability: Will be able to communicate between different systems. q Implemented as web services: Web services are used to implement SOA.
  • 92. SOA — Loose Coupling q 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.
  • 93. Asynchronous Communication q 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.
  • 94. Enterprise Service Bus (ESB) q 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. q 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. q It is like a management layer for technical services of SOA.
  • 96. ESB
  • 97. Responsibilities of ESB q Providing connectivity q Data transformation: As discussed earlier; can define how to couple different data types into compatible one q (Intelligent) routing: Supporting load balancing and failover support q Dealing with security q Dealing with reliability: Has to define how to reliably deliver services and defines how to handle the technical issues q 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. q Monitoring and logging: All the activities are monitored and logged in
  • 98. SOA Services q Services are of Three types
  • 99. SOA Basic Architectural Models q SOA Architecture can be seen from different perspective based on the need. They are: 1. Business or Logical based 2. Mixed 3. Technical
  • 102. The evolution of SOA in Distributed Computing q “SS” refers to a sensor service. q “FS” refers to filter or transforming service.