CS3551 Distributed Systems Exam Guide
CS3551 Distributed Systems Exam Guide
UNIT 1
• In this model, data is shared by sending and receiving messages between co-
operating processes, using system calls.
• Synchronous execution means the first task in a program must finish processing
before moving on to executing the next task.
• Heterogeneity
• Openness
• scalability
• fault tolerance
• It enables computers to coordinate their activities and to share the resources of the system,
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
b. Independent failures: The programs may not be able to detect whether the network
has failed or has become unusually slow.
c. Concurrency: The capacity of the system to handle shared resources can increase by
adding more resources to the network.
A distributed system needs to hide the fact that its processes and resources are physically
distributed across multiple computers.
Distributed system must be able to interact with services from other open systems,
irrespective of the underlying environment.
• Internet,
• an intranet
• heterogeneity openness,
• security,
• scalability,
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
• failure handling,
Enables local and remote information objects to be accessed using identical operations.
• Cache is made from static ram which is faster than the slower dynamic ram used
for a buffer.
• A buffer temporarily stores data while the data is the process of moving from one
place to another, ie. the input device to the output device.
Open distributed system is a system that offers services according to standard rules that
describe the syntax and semantics of those services.
A system is scalable with respect to either its number of components, size or number and
size of administrative domains,
In other words, middleware aims at improving the single system view that a distributed
system should have.
16 MARKS:
• Message passing
• Message sharing
• Emulating Message – passing systems on a shared memory system.
4. What is Global State? Explain about the global state of Distributed Systems.
• Definition
• Requirements of global state
o Garbage collection
o Deadlock
o Termination
o Distributed debugging
• Applications
o Mobile systems
o Pervasive computing
▪ Intranet
o Multimedia system
▪ Web casting
UNIT 2
2 MARKS:
Group communication offers a service whereby a message is sent to a group and then this
message is delivered to all members of the group. The sender is not aware of the identities of the
receivers.
• allocating requests.
When all the communication between pairs of processes is by using synchronous send and
receives primitives, the resulting order is synchronous order.
Scalar time is designed by Lamport to synchronize all the events in distributed systems.
Time domain is the set of non-negative integers.
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
• Addressing following issues: Data structures local to every process to represent logical
time.
• Protocol to update the data structures to ensure the consistency condition.
• Consistency
• total ordering
• event counting
8. What is Rendezvous?
When the counter gets to zero, an interruption is generated and is called one clock tick.
With n computers, all n crystals will run at slightly different rates, causing the software
clocks to gradually get out of sync.
A clock drift rate is the change in the offset between the clock and a nominal perfect
reference clock per unit of time measured by the reference clock.
• multicast,
• procedure-call
• symmetric mode.
2 Internal synchronization: For a synchronization bound D>0.(C0)-C < D. for 1.1 1.2 N
and for all real times t in 1
• Each process P, keeps its own logical clock L., which it uses to apply so called
Lamport timestamps to events.
The global state of the distributed system consists of the local state of each process, together
with the messages which are in transit.
1. If a and b are events in the same process, and a occurs before b then a 'b is true.
2. It is the event of a message being sent by one process, and b is the event of the message being
received by another process, then a b is also true.
17. What is need of physical clock?
• In some systems like real-time systems, the actual clock time is important these
systems external physical clocks are required.
Vector clocks are used in a distributed system to determine whether pairs of events are
causally related.
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
13 MARKS:
• Event Ordering
o Condition of happens before
o Logical clock condition
• Lamport Timestamp
• Vector Timestamp
2. Discuss about Physical Clock Synchronization: NTP
• Scalar Time
o Basic Properties
▪ Consistency property
▪ Total ordering
▪ Event counting
• Vector Time
o Definition
▪ Causal ordering
• Definition
• System Model
• Consistent Global State
UNIT 3
2 MARKS:
2. What is deadlock?
• Deadlock can be defined as the permanent blocking of a set of processes that either
complete for system resources.
Two type of messages used by Ricart-Agrawala are REQUEST and REPLY and
communication channels are assumed to follow FIFO order.
Mutual exclusion in a distributed system states that only one process is allowed to execute
the critical section (CS) at any given time. In a distributed system, shared variables or a local kernel
cannot be used to implement mutual exclusion.
6. Which are the three basic approaches for implementing distributed mutual
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
exclusion?
c Strict fairness
d. Fault tolerance
• message complexity,
• synchronization delay,
The time interval a request waits for its CS execution to be over after its request messages
have been sent out.
A deadlock that is detected' but is not really a deadlock is called a phantom deadlock.
• The nodes of this graph are processes and resources of a system, and the edges of
the graph depict assignments or pending requests.
• deadlock prevention,
• deadlock avoidance,
• deadlock detection.
• The system must be able to decide whether granting a resource is safe or not and
only make the allocation when it is safe.
• When a process is created, it must declare its maximum claim, i.e. the maximum
number of unit resource .
• The resource manager can grant the request if the resources are available.
• If an active process receives a query or reply message, it discards it. all the query
messages it has sent out.
Set of Deadlocked processes, where each process waits to receive messages from other
processes in the set.
Set of deadlocked processes, where each process waits for resource held by another
process.
The condition for deadlock in a system using the AND condition is the existence of a
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
cycle.
16 MARKS:
• Definition
• Requesting the critical session
• Conditions for entering CS
• Releasing the CS
• Correctness
• Optimization
• Lamport evalution
• Definition
• Algorithm
• Requesting the Critical Session
• Executing the Critical Session
• Releasing the Critical Session
• Definition
• Suzuki – Kasami’s Broadcast Algorithm.
o Major Design Issues
o Important Data Structures
o Algorithm
▪ Requesting CS
▪ Executing CS
▪ Releasing CS
▪ Theorem: A requesting site enters CS in finite time
▪ Performance
• Deadlock
• Necessary Condition
o Mutual exclusion
o Hold and wait
o Circular waiting
o No preemption
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
• Deadlock Prevention
o First Method
o Second Method
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
o Third Method
• Dead Avoidance
o Disadvantage
• Deadlock Detection
o Principle of operation
o Resolution
o Observation
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
UNIT 4
2 MARKS:
. • Achieve fault tolerance by periodically saving the state of a process during the
failure-free execution.
Each process has an initial value and all the correct processes must agree on a single
value.
• Check pointing techniques are useful not only for availability, but also for program
debugging, process migration, and load balancing.
In the agreement problem, to achieve overall system reliability in the presence of a number
of faulty processes and single process has the initial value.
The difference between the agreement problem and the consensus problem is that, in the
agreement problem, a single process has the initial value, whereas in the consensus problem, all
processes have an initial value.
6. Define recovery.
• Once a failure has occurred, it is essential that the process where the failure
happened recover to a correct state.
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
4. If failure rarely occurs between successive checkpoints, then the checkpoint algorithm
places an unnecessary extra load on the system, which can significantly affect performance.
Failure of a system occurs when the system does not perform its service in the manner
specified.
execution.
1. Termination
2. Agreement and
3. Integrity.
• There are bad processors. that may collaborate with each other in order to prevent
an admissible agreement.
• Each processor has an initial binary value. The agreement must reflect to a certain
extent the majority among the initial value.
• A process may take a local check point anytime during the execution.
• The local checkpoints of different processes are not coordinated to form a global
consistent checkpoint.
A useless checkpoint of a process is one that will never be part of a global consistent state.
A checkpoint interval is the sequence of events between two consecutive checkpoints in the
execution of a process.
Messages with receive recorded but message send not recorded are called the orphan
messages.
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
Basic idea:
b. The amount of computation required by each task and the are known.
16 MARKS:
• Impossible Scenario
• Lamport – Shostak – Pease Algorithm
o Example
• Definition
o Strongly Consistent Set of Checkpoint.
o Consistent Set of Checkpoint
o Checkpoint Notation
• Synchronous Checkpoint and Recovery
o Checkpointing Algorithm
▪ Types
o Synchronous Checkpointing Disadvantages
• The Rollback Recovery Algorithm
o Phase one
o Phase two
• Message Types
• Uncoordinated Checkpointing
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
• Basic Concept
• Recovery
o System Failure
o Erroneous System State
o Error
o Fault
• Introduction
o The Problem
o Validity
• Consensus Problem
o Agreement
o Validity
• Interactive Consistency Problem
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
UNIT 5
2 MARKS:
NIST definition of cloud: Cloud computing is a pay-per-use model for enabling available,
convenient, on-demand network access to a shared pool of configurable computing resources (eg,
networks, servers, storage, applications, services).
Cloud service is any service made available to users on demand via the Internet from a
cloud computing provider's servers as opposed to being provided from a company's own on-
premises servers.
Public cloud is built over the Internet and can be accessed by any by user who has paid for
the service. Public clouds are owned by service providers and are accessible through a subscription.
A private cloud is built within the domain of an intranet owned by a single organization.
Therefore, it is client owned and managed, and its access is limited to the owning clients and their
partners.
• VM is a software program or operating system that not only exhibits the behavior
of a separate computer
• The ability given to the infrastructure architects to deploy or run any software on the
computing resources provided by the service provider.
• The end users are responsible for managing applications that are running on top of the
service provider cloud infrastructure.
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
Characteristics of laaS
3. It has a variable cost, usage based pricing model (pay per go and pay per use)
8. List the situations where PaaS may not be the best option.
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable
compute capacity in the cloud. It is designed to make web-scale computing easier for developers
and system administrators.
EC2 functions:
Windows Azure is a cloud computing platform and infrastructure, created by Microsoft, for
building, deploying and managing applications and services through a global network of
Microsoft-managed data centers.
Azure queue storage is a service for storing large numbers of messages that can be accessed
from anywhere in the world via authenticated calls using HTTP or HTTPS A single queue message
can be up to 64 KB in size, and a queue can contain of messages, up to the total capacity limit of
a storage account.
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
Azure is a virtualized infrastructure to which a set of additional enterprise services has been
layered on top, including a virtualization service called An AppFabric that creates an application
hosting environment. AppFabric is a cloud-enabled version of the NET framework.
Service cloud refers to the service module in [Link]. It includes accounts, contacts,
cases, and solutions. It also encompasses features such as the publi knowledge base, web-to-case,
call center, and self-service portal, as well as custome service automation.
Google cloud storage allows world-wide storage and retrieval of any amount of data at any
time. It can be used for a range of scenarios including serving website content, storing data for
archival and disaster recovery, or distributing large data objects to users via direct download.
Amazon S3 defines a bucket name as a series of one or more labels, separated by periods,
that adhere to the following rules: The bucket name can be between 3 and 63 characters long, and
can contain only lower-case characters, numbers, periods, and dashes.
Scalability is the ability of a system or network to handle increased load or usage. At the
same time, elasticity is the ability to automatically expand and contract resources to meet demand.
Cloud elasticity is a system's ability to manage available resources according to the current
workload requirements dynamically. This is a vital feature of a system infrastructure. It comes in
handy when the system is expected to experience sudden spikes of user activity and, as a result, a
drastic increase in workload demand.
Load balancing can be defined as the process of task distribution among multiple
computers, processes, disk, or other resources in order to get optimal resource utilization and to
reduce the computation time.
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks
Load balancing is an important means to achieve effective resource sharing and utilization.
Pros:
1. Data center and energy-efficiency savings: As companies reduce the size of their hardware
and server footprint, they lower their energy consumption.
2. Operational expenditure savings: Once servers are virtualized, your IT staff can greatly reduce
the ongoing administration and management of manual work.
3. Reduced costs: It reduced cost of IT infrastructure. 4. Data does not leak across virtual
machine.
5. Virtual machine is completely isolated from host machine and other virtual machine.
Cons:
13 MARKS:
• Public Cloud
o Benefits
o Risks
• Private Cloud
o Benefits
o Risks
• Community Cloud
• Hybrid Cloud
o Benefits
o Risks
• Difference between public and private Cloud
• Software as a Service(SaaS)
o Characteristics
o Benefits
• Platform as a Service(PaaS)
o Characteristics
o Benefits
• Infrastructure as a Service(IaaS)
o Types
▪ Physical Server
▪ Dedicated Virtual Server
▪ Shared Virtual Server
o Advantage
• Hypervisor
• Para – Virtualization
o Problems
• Full – Virtualization
CS3551 - DISTRIBUTED SYSTEMS Important 2 marks and 16 marks