Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cloud Computing: Master-Slave V/s p2p Models

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

CLOUD COMPUTING

Master-slave v/s p2p models

Dr. S. Nagasundari
Dr. H.L. Phalachandra
Department of Computer Science and Engineering
Acknowledgements:
Most information in the slide deck presented through the Unit 4 of the course have been created by Dr. S. Nagasundari and would like to acknowledge and thank her for
the same. There have been some information which I might have leveraged from the content of Dr. K.V. Subramaniam’s too. I may have supplemented the same with
contents from books and other sources from Internet and would like to sincerely thank, acknowledge and reiterate that the credit/rights for the same remain with the
original authors/publishers only. These are intended for class room presentation only.
CLOUD COMPUTING
Cloud Computing – Cloud Controller
▪ We have been studying Cloud computing as an ubiquitous, convenient, on demand network
accessible shared pool of applications and configurable resources that can be rapidly provisioned and
released with minimum management effort.
▪ These shared pool of applications and resources are supported by physical IT components, platforms
and software which are housed in distributed data centers, accessible through the Internet.
▪ We studied different Application architectures, and different Service models like IaaS, PaaS, SaaS by
which these applications and the resources hosted in a distributed infrastructure, are delivered to
customers and users over the Internet as a service at different levels of abstraction.
▪ We also studied different deployment models like public, private or hybrid where the resources are
deployed by service providers as a shared public platform or shared private platform or a
combination of both.
▪ We also discussed technologies like virtualization supporting the abstraction, sharing and effective
utilization of the resources, both compute and storage to provide reliable and available services as
above to customers.
CLOUD COMPUTING
Cloud Computing – Cloud Controller
▪ We also discussed that the physical resources are structured or organized and configured as distributed
clustered systems in distributed Datacenters in different architectural models
▪ Most part of these discussions were focused on technologies, programming models, deployment models,
application architectures and Data paths.
▪ Given that customer requests reaching the cloud physical resources will need to be managed, we will need to
look at the control path for an application to run in the cloud environment in the next set of classes in Unit 4.
▪ We start with the context of the cloud infrastructure, structured or organized as distributed clustered systems
e.g. as in master-slave, or peer-to-peer distributed system architectures lecture 37, challenges associated with
these models in terms of unreliable communication lecture 38, different failures and their impact to reliability
and availability, fault tolerance to be built to support availability lecture 39, which will need to be managed.
The control flow will also need to be managed in terms of resource allocation (provisioning) lecture 40,
Scheduling Algorithms lecture 41, Handling scenarios like in leader-followers what if the leader node dies ..
Detecting it is hard and there is a need for getting to a consensus within the cluster on this lecture 42 .. Then
need to elect a new leader lecture 43 .. Algorithms for electing a leader lecture 44. Challenges of Distributed
Locking lecture 45 Zoo keeper lecture 46 and lecture 47
CLOUD COMPUTING
Context of Cloud Control - Eucalyptus
Illustrative example of Eucalyptus and what is cloud control

Eucalyptus : Eucalyptus is an open-source software suite designed to build


private/hybrid cloud computing environments compatible with Amazon
Web Service’s EC2 and S3
UFS (User Facing Services) Implements web service interfaces that handle
the AWS-compatible APIs. This component accepts requests from command
line clients or GUIs.
Cloud Controller : Provides high-level resource tracking and management.
Only one CLC can exist in a Eucalyptus cloud
Cluster Controller : Manages node controllers and is responsible for
deploying and managing VM instances
Node Controller : runs on machine that hosts VMs and interacts with both
OS and hypervisors to maintain the lifecycle of instances running on each
of the nodes
Storage Controller : Interfaces with various storage systems https://www.sciencedirect.com/topics/computer-science/cloud-controller
CLOUD COMPUTING
Context of Cloud Control – Eucalyptus (Cont.)
Cloud Controller Module
• It’s the key interface for users and administrators is the Cloud Controller (CLC), which queries the
different nodes and makes broad decisions about the virtualization setup, and executes those decisions
through cluster controllers and node controllers.
• The Cloud Controller is a set of web services that provides (a) system-wide arbitration of resource
allocation, (b) governing of persistent user and system data, and (c) handling authentication and protocol
translation for user-visible interfaces.
• A System Resource State (SRS) is maintained with data coming in from CC (Cluster Controller) and NCs
(Node Controller) of the system.
• When a user’s request arrives, the SRS is used to make an admission control decision for the request
based on service-level expectation.
• To create a VM, the resources are first reserved in the SRS and the request is sent downstream to CC and
NC. Once the request is satisfied, the resource is committed in the SRS, else rolled back on failure.
CLOUD COMPUTING
Context of Cloud Control - OpenStack
CLOUD COMPUTING
Distributed Systems

A distributed system, also known as distributed computing, is a system with multiple


components located on different machines and communicate and coordinate actions in order
to appear as a single coherent system to the end-user
CLOUD COMPUTING
Distributed System (Recap)
▪ Depending on the needs of the application, the system components which are part of the cloud infrastructure
can be structured/organized and configured and classified into as three different Distributed System Models
1. Architectural Models
a. System Architecture
▪ This indicates how the components of a distributed system are placed across multiple machines
▪ How the responsibilities are distributed across system components
E.g. P2P Model or Client Server Model
b. Software architecture
▪ This indicates the logical organization of software components and their interactions/independence
▪ Focusses about the components
E.g. 3 Tier Architecture
2. Interaction Models
a. How do we handle time? Are there time limits on process execution, message delivery, and clock drifts?
b. Ex: Synchronous distributed systems, Asynchronous distributed systems
3. Fault Models
a. What kind of faults can occur and what are their effects?
b. Ex: Omission faults, Arbitrary faults, Timing faults
-
CLOUD COMPUTING
Distributed Systems Architecture

Two main architectures:


▪ Peer-to-Peer architecture

Roles of entities are symmetric

▪ Client/Server or Master-Slave architecture

Roles of entities are asymmetric


CLOUD COMPUTING
Distributed System - P2P Systems (Recap)
What does a Peer-to-Peer System mean?
▪ In a P2P network, every node (peer) acts as both a client and server.

▪ Peers act autonomously to join or leave the network.

▪ The system is self-organizing nodes (recognize and create relatively


stable connections to other nodes with similar interests/requirements/
capabilities) with distributed control. In other words, no peer machine
has a global view of the entire P2P system

▪ Processing and communication loads for access to objects are


distributed across many computers and access links.

▪ This is the most general and flexible model but securing the overall
system would be more challenging as each of the peer would have their
own data
CLOUD COMPUTING
What does a Peer-to-Peer System mean? (Cont.)

• A model of communication where every node in the network acts alike.


• As opposed to the Client-Server model, where one node provides services and other
nodes use the services.

• All nodes are equal (no hierarchy)


• No Single-Point-of-Failure (SPOF)

• A central coordinator is not needed


• But, decision making becomes harder

• The underlying system can scale out indefinitely


• In principle, no performance bottleneck
CLOUD COMPUTING
P2P Architecture

▪ Peers can interact directly, forming groups and sharing contents (or offering services
to each other)
• At least one peer should share the data, and this peer should be accessible
• Popular data will be highly available (it will be shared by many)
• Unpopular data might eventually disappear and become unavailable (as more
users/peers stop sharing them)

▪ Peers can form a virtual overlay network on top of a physical network topology
• Logical paths do not usually match physical paths (i.e., higher latency)
• Each peer plays a role in routing traffic through the overlay network
CLOUD COMPUTING
P2P Model Advantages and Limitations

Although P2P model


• Is Scalable as it is possible to add more peers to the system and scale to larger networks.
• Does not need the individual nodes to be aware of the global state
• Is Resilient to faults and attacks, since few of their elements are critical for the delivery of service
and the abundance of resources can support a high degree of replication.
• They are highly decentralized, with the individual systems not needing to be aware of the global
state and thus limiting P2P systems in terms of the ability to be managed effectively and provide
security as required by various applications
This leads to architectures where servers in the cloud are in a single administrative domain and
have a centralized management as with Client Server architecture
CLOUD COMPUTING
Distributed System - Client-Server Model (Recap)
What is the Client-Server model?
The system is structured where a set of machines called servers (which are performing some process), offer services to another
set of machines called clients for their needs.
▪ The client-server model is usually based on a simple request/reply protocol, implemented with send/receive primitives or
using remote procedure calls (RPC).
▪ The client asks the server for a service, the server does the work and returns a result or an error code if the required work
could not be done
▪ This organization by its structure distributes the functionality across different machines
▪ A Server can provide services for more than one Client and a client can request services from several servers on the network
without regard to the location or the physical characteristics of the computer in which the Server process resides.

-
CLOUD COMPUTING
Client/Server Architecture

▪ A master-slave architecture can be characterized as follows:

1) Nodes are unequal (there is a hierarchy)

▪ Vulnerable to Single-Point-of-Failure (SPOF)

2) The master acts as a central coordinator

▪ Decision making becomes easy

3) The underlying system cannot scale out indefinitely

▪ The master can render a performance bottleneck as the number of workers is


increased
CLOUD COMPUTING
References

• An Introduction to Client Server Computing (aagasc.edu.in)


• https://eclass.uoa.gr/modules/document/file.php/D416/Cloud
ComputingTheoryAndPractice.pdf(P2P)
• “Moving to the clouds: Developing Apps in the new world of cloud computing”, Dinkar Sitaram and
Geetha Manjunath. Syngress, 2011.
THANK YOU

Dr. H.L. Phalachandra


Department of Computer Science

You might also like