Professional Documents
Culture Documents
DC CIA2 ANSWER KEY
DC CIA2 ANSWER KEY
DC CIA2 ANSWER KEY
SCHOOL OF ENGINEERING
AccreditedbyNAAC
ApprovedbyAICTE, New Delhi; AffiliatedtoAnnaUniversity, Chennai
Siruganur, Trichy -621 105. www.mamse.in
Department of Computer science & Engineering
Academic Year 2022-2023(ODD Semester) SET B
CIA – 1I
Sub.Code/Sub.Name : CS3551 – Distributed Computing Date : 10.10.2023
Year/Sem. : III / V Max.Marks : 100
Phantom Deadlock is a deadlock that occurs in a Distributed DBMS due to communication delays between
different processes and leads to unnecessary process abortions
The wait-for-graph scheme is not applicable to a resource allocation system with multiple instances of each
resource type.
S.N
O Cloud Computing Virtualization
The total cost of cloud computing is The total cost of virtualization is lower
7.
higher than virtualization. than Cloud Computing.
Thus, Virtualization is a technique which allows us to share a single physical instance of a resource or an
application among multiple customers and an organization. Virtualization often creates many virtual resources
from one physical resource.
Host Machine –
The machine on which virtual machine is going to create is known as Host Machine.
Guest Machine –
The virtual machines which are created on Host Machine is called Guest Machine.
10. Explain the characteristics of PaaS?
PaaS offers browser based development environment. It allows the developer to create database and edit the
application code either via Application Programming Interface or point-and-click tools.
Part B (5x13=65 Marks)
11. Illustrate with a case study explain ricart–agrawala algorithm?
Ricart–Agrawala algorithm is an algorithm for mutual exclusion in a distributed system proposed by Glenn Ricart
and Ashok Agrawala. This algorithm is an extension and optimization of Lamport’s Distributed Mutual Exclusion
Algorithm. Like Lamport’s Algorithm, it also follows permission-based approach to ensure mutual exclusion. In
this algorithm:
Two type of messages ( REQUEST and REPLY) are used and communication channels are assumed to follow FIFO
order.
A site send a REQUEST message to all other site to get their permission to enter the critical section.
A site send a REPLY message to another site to give its permission to enter the critical section.
A timestamp is given to each critical section request using Lamport’s logical clock.
Timestamp is used to determine priority of critical section requests. Smaller timestamp gets high priority over
larger timestamp. The execution of critical section request is always in the order of their timestamp.
Algorithm:
(N – 1) request messages
(N – 1) reply messages
Advantages of the Ricart-Agrawala Algorithm:
Low message complexity: The algorithm has a low message complexity as it requires only (N-1) messages to enter
the critical section, where N is the total number of nodes in the system.
Scalability: The algorithm is scalable and can be used in systems with a large number of nodes.
Non-blocking: The algorithm is non-blocking, which means that a node can continue executing its normal
operations while waiting to enter the critical section.
Drawbacks of Ricart–Agrawala algorithm:
Unreliable approach: failure of any one of node in the system can halt the progress of the system. In this
situation, the process will starve forever. The problem of failure of node can be solved by detecting failure after
some timeout.
In token-based algorithms, A site is allowed to enter its critical section if it possesses the unique token. Non-token
based algorithms uses timestamp to order requests for the critical section where as sequence number is used in
token based algorithms.
Each requests for critical section contains a sequence number. This sequence number is used to distinguish old
and current requests.
(N – 1) request messages
1 reply message
Drawbacks of Suzuki–Kasami Algorithm:
Non-symmetric Algorithm: A site retains the token even if it does not have requested for critical section.
According to definition of symmetric algorithm
“No site possesses the right to access its critical section when it has not been requested.”
Locally dependent
Consider the n processes P1, P2, P3, P4, P5,, ... ,Pn which are performed in a single system (controller). P1 is
locally dependent on Pn, if P1 depends on P2, P2 on P3, so on and Pn−1 on Pn. That is, if
Description
The algorithm uses a message called probe(i,j,k) to transfer a message from controller of process Pj to controller
of process Pk. It specifies a message started by process Pi to find whether a deadlock has occurred or not. Every
process Pj maintains a boolean array dependent which contains the information about the processes that depend
on it. Initially the values of each array are all "false".
Algorithm
In pseudocode, the algorithm works as follows:[1]
With paravirtualization, virtual machines are accessible through interfaces similar to the underlying hardware.
This capacity minimizes overhead and optimizes system performance by supporting the use of VMs that would
otherwise be underutilized in conventional or full hardware virtualization.
Paravirtualization eliminates the need for the virtual machine to trap privileged instructions. Trapping, a means of
handling unexpected or unallowable conditions, can be time consuming and lower performance in systems that
employ full virtualization.
The main limitation of paravirtualization is that the guest OS must be tailored specifically to run on top of the
virtual machine monitor (VMM) -- the host program that lets a single computer support multiple, identical
execution environments.
How does paravirtualization work?
Paravirtualization attempts to resolve issues found in full virtualization. The primary difference between
paravirtualization and full virtualization is the ability to make modifications to the guest OS in paravirtualization.
Furthermore, in paravirtualization, the guest OS is aware it is being virtualized. In full virtualization, the
unmodified OS is unaware it is being virtualized, and sensitive OS calls are captured and translated using binary
translation.
By granting the guest OS access to the underlying hardware, paravirtualization enables communication between
the guest OS and the hypervisor, thus improving performance and efficiency within the system.
More specifically, the paravirtualization process consists of the guest OS being modified specifically for installation
on a VM. This is necessary because unmodified guest OSes are unable to run on a VMM. The intent of the
modification is to decrease the execution time required to complete operations that can be problematic in virtual
environments.
In paravirtualization, the guest kernel is modified to run with the hypervisor. This frequently involves removing
operations that only run on ring 0 of the processor with calls to the hypervisor, or hypercalls.
The hypervisor responds by performing the task for the guest kernel and supplying hypercall interfaces that can
complete other important kernel operations -- such as interrupt handling, time keeping and memory
management.
B) Distinguish between para virtualization and full virtualization.
1. Full virtualization is the first generation of software solutions for server virtualization. On
the other hand, the interaction of the guest operating system with the hypervisor to
improve performance and productivity is known as paravirtualization.
2. Full virtualization enables the Guest operating system to run independently. In contrast,
paravirtualization enables the Guest OS to interact with the hypervisor.
3. Full virtualization performance is slow. In contrast, paravirtualization performance is high
than full virtualization.
4. Full virtualization is less secure than paravirtualization. On the other hand,
paravirtualization is more secure than full virtualization.
5. Binary translation and a direct approach are used in full virtualization. On the other hand,
paravirtualization operates through hypercalls.
6. Full virtualization is more portable and adaptable. On the other hand, paravirtualization is
less portable and compatible.
7. Full virtualization supports all the Guest OS without any change. On the other hand, the
Guest OS has to be modified in paravirtualization and only a few OS support it.
8. The Guest OS will issue hardware calls in full virtualization. In contrast, the guest OS will
interface directly with the hypervisor via drivers in paravirtualization.
9. Full virtualization is less efficient than paravirtualization. On the other hand,
paravirtualization is more simplified.
10. The optimum isolation is provided by full virtualization. On the other hand,
paravirtualization offers less isolation than full virtualization.
11. There are just a few paravirtualization examples, such as VMware and Xen. In contrast, full
virtualization is used in VMware, Microsoft, and Parallels systems.
Load balancing was introduced for various reasons. One of them is to improve the speed and performance of
each single device, and the other is to protect individual devices from hitting their limits by reducing their
performance.
Cloud load balancing is defined as dividing workload and computing properties in cloud computing. It enables
enterprises to manage workload demands or application demands by distributing resources among multiple
computers, networks or servers. Cloud load balancing involves managing the movement of workload traffic and
demands over the Internet.
Traffic on the Internet is growing rapidly, accounting for almost 100% of the current traffic annually. Therefore,
the workload on the servers is increasing so rapidly, leading to overloading of the servers, mainly for the popular
web servers. There are two primary solutions to overcome the problem of overloading on the server-
First is a single-server solution in which the server is upgraded to a higher-performance server. However, the new
server may also be overloaded soon, demanding another upgrade. Moreover, the upgrading process is arduous
and expensive.
The second is a multiple-server solution in which a scalable service system on a cluster of servers is built. That's
why it is more cost-effective and more scalable to build a server cluster system for network services.
Cloud-based servers can achieve more precise scalability and availability by using farm server load balancing. Load
balancing is beneficial with almost any type of service, such as HTTP, SMTP, DNS, FTP, and POP/IMAP.
15.B) Discuss about the windows Azure platform architecture with neat diagram?
Users can create any kind of web application in Azure, from a blog to a corporate intranet. Developers can choose
from a large range of hosted tools, from WordPress to Node.js. For example, a large telecom company could set
up an internal corporate intranet for employees and contractors with a Node.js app.
Azure provides a scalable and reliable environment for hosting your applications. It is easy to scale the application
up or down as needed, and easily change the location of where you host the application.
The dev testing service Azure App Creation lets developers quickly spin up virtual machines in the cloud and run
their applications in the same way a customer would. It’s ideal for testing on the same platform as a customer or
for beta testing applications and features on the developer’s own infrastructure.
You can use Azure to quickly set up a virtual machine with the software your organization needs. You can use
virtual networks, Storage accounts, and other features to make your environment more secure, manage access,
and stay compliant with regulatory and compliance requirements. You can also monitor virtual machines with
built-in synthetic tests, custom metrics, and custom alarm rules. In the end, virtualizing your workloads gives you
flexibility, scalability, and control.
Virtual hard drives allow you to have more storage capacity than what’s allowed in a single virtual machine. You
can use this feature to store excess data from a virtual machine, host a backup, or allocate storage to an
application that requires a large amount of hard drive space. You can also use virtual hard drives to create a
separate, independent storage pool for each virtual machine. This flexibility allows you to scale your
infrastructure without having to scale your hardware.
Azure provides a broad array of cloud-based applications that can be easily integrated with your existing
infrastructure. This gives enterprises a new way of using apps in the cloud, without sacrificing data security,
compliance, or control. Azure also gives you the option to create hybrid cloud applications that can run on both
on-premises infrastructure and in the cloud.
This data can then be used to improve performance, measure the effectiveness of your marketing campaigns, and
more. It can also be used to create custom reports and visualizations that were never possible before the advent
of cloud computing.
16. Discuss briefly about the application services of cloud computing?
Cloud technology offers several applications in various fields like business, data storage, entertainment,
management, social networking, education, art, GPS, to name a few.
The major types of cloud computing service models available are Platform as a Service (PaaS), Infrastructure as a
Service (IaaS), and Software as a Service (SaaS). Plus, there are platforms like Public Cloud, Private Cloud, Hybrid
Cloud, and Community Cloud.
As a tech revolution that has witnessed rapid adoption over the last decade, the cloud fuels some of the world’s
largest brands, and it’s the technology behind some of the most innovative products and tools of recent times.
Businesses worldwide are using cloud resources or cloud computing to access important programs and data on a
pay-as-you-go basis. Prized for its convenience and reliability, cloud computing is transforming businesses and
their operations across industries.
Here we’ll look at some of the reasons why cloud computing is so important, its benefits, the most popular
applications of cloud computing, and why cloud computing careers are so high-in-demand.
By renting IT resources from a cloud service provider, companies can avoid setting up and owning data centers
and computing infrastructure. This reduces the cost of developing and installing software to improve business
operations. Companies simply pay for services they use when they use. Thus cloud computing enables business
owners to lower operational costs, run their infrastructure more efficiently, and scale as business needs change.
Mobility
Cloud-based technology offers mobility, ensuring workers can access resources in the cloud in real-time from any
location or device.
Scalability
Businesses using cloud computing can scale up or down their IT features based on business requirements.
Disaster Recovery
There’s no need for a disaster recovery data backup plan in cloud systems. There’s no permanent data loss in case
of a disaster.
Data Security
Cloud computing offers many advanced data security features to guarantee data safety and security.
Better Collaboration
Cloud environments allow easy sharing of real-time data across teams within an organization, which improves
collaboration and team performance.
The major types of cloud computing service models available are Platform as a Service (PaaS), Infrastructure as a
Service (IaaS), and Software as a Service (SaaS). Plus, there are platforms like Public Cloud, Private Cloud, Hybrid
Cloud, and Community Cloud.
The interface provided is easy to use, convenient, and has the benefits of high speed, scalability, and integrated
security.
2. Backup and Recovery
Cloud service providers offer safe storage and backup facility for data and resources on the cloud. In a traditional
computing system, data backup is a complex problem, and often, in case of a disaster, data can be permanently
lost. But with cloud computing, data can be easily recovered with minimal damage in case of a disaster.
5. Antivirus Applications
With Cloud Computing comes cloud antivirus software which is stored in the cloud from where they monitor
viruses and malware in the organization’s system and fixes them. Earlier, organizations had to install antivirus
software within their system and detect security threats.
6. E-commerce Application
Ecommerce applications in the cloud enable users and e-businesses to respond quickly to emerging opportunities.
It offers a new approach to business leaders to make things done with minimum amount and minimal time. They
use cloud environments to manage customer data, product data, and other operational systems.