0% found this document useful (0 votes)
32 views

DCS Chapter-1

Uploaded by

Yash Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

DCS Chapter-1

Uploaded by

Yash Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

DCS

CHAPTER-1
1. what is distributed system.

• A distributed system contains multiple nodes that are physically


separated but linked together using the communication network.

• A distributed system is defined as a set of autonomous computers


that appears to the users as a single coherent system.

Characteristics of DS:
• Hetroginity is hidden from the user
• The manner in which DS is organized internally is hidden.
• Resources like printer can be shared with multiple nodes rather
than of restricted to just one.
• Availability must be there inspite of failure.
• Information/load sharing.

Example of DS:

Internet is a very large DS. User at any location can use services
like email , file transfer , www etc.

2. Discuss the key challenges faced while designing a distributed


system.

1. Network Issues
• Latency: Communication delays can occur due to network
speed and distance, affecting system responsiveness and
performance.
• Bandwidth: Limited bandwidth can restrict the amount of
data that can be transmitted, leading to bottlenecks.
2. Synchronization
• Clock Synchronization: Ensuring all distributed components
have synchronized clocks is challenging, particularly in time-
sensitive operations.
• Data Consistency: Maintaining consistency across multiple
nodes is difficult, especially in the presence of concurrent
updates.

3. Fault Tolerance
• Failure Handling: The system must be designed to handle
hardware and software failures gracefully to ensure continued
operation without losing data.
• Redundancy: Implementing redundancy can add complexity
and cost, and determining the right level of redundancy is
challenging.

4. Scalability
• Resource Management: As the system scales, managing
resources efficiently and ensuring load balancing can become
increasingly complex.
• Dynamic Scaling: Automatically adjusting resources in
response to varying loads without service interruption is a
significant challenge.

5. Security
• Data Protection: Ensuring secure communication between
components requires robust encryption and authentication
mechanisms.
• Access Control: Implementing effective access control
measures to prevent unauthorized access to distributed
resources is crucial.

6. Data Management
• Distributed Databases: Managing data across nodes involves
challenges related to data replication, partitioning, and
ensuring ACID properties (Atomicity, Consistency, Isolation,
Durability).
• Query Complexity: Handling queries across multiple data
sources and optimizing them for performance can be
complex.
7. Hetroginity:
• hardware devices os, programming language in ds must
communicate with each other and for that standard needs to
be agreed and adopted.

8. Transparency:
• It means that any form of distributed system should hide its
distributed nature from its user, appearing and functioning as
a normal centralized system.

3. Forms of computing.

I. monolithic computing:
• Definition: Monolithic computing refers to a computing
model where a single computer operates independently,
without network connections to other systems.
• Single-user Mode:In its simplest form, monolithic
computing involves a single user accessing applications
directly on the computer (e.g., word processing or
spreadsheets).
• Multiple-user Capability: Monolithic computing can also
support multiple users through a technique called
timesharing, allowing concurrent access to the computer's
resources.
• Application Focus: Applications in monolithic computing
are typically designed for specific functions, such as
payroll or billing processes for organizations.
II. distibuted computing.

• Definition: Distributed computing involves multiple network-


connected computers, each equipped with its own processors
and resources, working collaboratively.
• Local Resource Use: Users operating a workstation have full
access to the resources on their local computer while also
interacting with remote systems.
• Remote Resource Access: Users can access and utilize
resources from remote computers, enhancing overall
computational capabilities.
• World Wide Web Example: The internet exemplifies
distributed computing; web browsers (like Netscape or Internet
Explorer) run on local systems and communicate with web
servers on remote systems.
• Client-Server Interaction: In distributed computing,
applications often run parts of their processing on different
computers (clients and servers), facilitating tasks like file
retrieval across various networked locations.
• Scalability and Versatility: Distributed computing offers
greater scalability compared to monolithic systems, making it
suitable for complex applications and services that require
extensive computational resources.

III. Parallel computing:

• Definition: Parallel computing (or parallel processing) involves


using multiple processors to execute a single program
simultaneously, enhancing performance.
• Speed Increase: The primary benefit of parallel computing is
that it makes programs run faster by utilizing more processing
units (CPUs) concurrently.
• Challenges in Implementation: Dividing a program into
segments that can run independently without interference is
often complex and challenging.
• Typical Setup: While parallel computing usually occurs on a
single machine with multiple CPUs, it can also be performed
across a network of connected computers.
• Distributed Processing Software: Implementing parallel
processing across multiple computers requires sophisticated
distributed processing software.
• Problem Solving Capability: Parallel computing allows for
solving complex problems that are impractical or economically
unfeasible on a single computer.
• Application Areas: It is primarily used in large-scale scientific
computing applications, including fields like biology, aerospace,
weather forecasting, and semiconductor design.

4. What are the key differences between monolithic and distributed


computing systems? Provide examples of each.

topic monolithic distributed

Architecture Involves a single computer Involves multiple


system that operates interconnected
independently, without computers working
connecting to other systems. together, sharing
resources over a
network.
Resource Users have access only to the Users can access
Access resources of the single resources from
machine they are using. multiple computers,
allowing for more
topic monolithic distributed
extensive
computational
power.

Scalability Scalability is limited as it Highly scalable;


relies on upgrading a single new machines can
machine. be added to the
network to improve
performance and
capacity.
User Typically supports one or a Supports multiple
Interaction few users at a time, often in a users concurrently,
single-user mode. often across
different
geographical
locations.

Fault If the single system fails, the Provides better


Tolerance entire process stops. fault tolerance; if
one node fails,
others can continue
operating.

Complexity Easier to manage and More complex due


maintain due to its to the need for
straightforward architecture. network
management and
coordination
among different
systems.

Examples
Monolithic Computing:
• Personal Computer (PC): A typical PC used for word processing
or spreadsheets operates independently without network
connections.
• Mainframe Systems (Single-user focus): Early mainframe
computers accessed by a single user or in a simple timesharing
environment could also exemplify a less complex form of
monolithic computing.

Distributed Computing:
• World Wide Web: When a user visits a website, their browser
interacts with multiple server computers that retrieve data from
different locations.
• Cloud Computing Platforms: Services like Amazon Web
Services (AWS) or Google Cloud Platform that utilize numerous
interconnected servers for processing, storage, and application
deployment.
• Grid Computing: Projects like SETI@home utilize distributed
resources from numerous volunteer computers to analyze
astronomical data.

5. What are the issues related to fault tolerance, synchronization, and


security in distributed systems? Explain how these challenges can
be addressed.
Fault Tolerance
Challenges:
• Hardware Failures: Component failures can cause downtime.
• Network Partitioning: Nodes may get isolated, leading to
inconsistencies.
• Software Bugs: Errors can lead to unpredictable behavior.
Solutions:
• Redundancy: Use backup systems to ensure continuity.
• Graceful Degradation: Maintain partial functionality during
failures.
• Checkpointing/Rollback: Save states regularly to restore after
failures.
• Consensus Algorithms: Implement algorithms (e.g., Paxos, Raft)
to agree on system state during failures.

Synchronization
Challenges:
• Clock Synchronization: Unsynchronized clocks can lead to
inconsistencies.
• Data Consistency: Ensuring all nodes display the same data.
• Concurrent Access: Managing simultaneous resource access
can cause conflicts.
Solutions:
• Logical Clocks: Use logical clocks (e.g., Lamport timestamps)
for event ordering.
• Consensus Mechanisms: Employ two-phase commit (2PC) for
transaction coordination.
• Distributed Locking: Implement tools like Apache Zookeeper
for resource management.

Security
Challenges:
• Data Interception: Communications can be intercepted if
unsecured.
• Unauthorized Access: Protecting against unauthorized users.
• Data Integrity: Preventing data tampering during transmission.
Solutions:
• Encryption: Use TLS for secure data in transit and at rest.
• Authentication: Implement robust mechanisms (e.g., OAuth,
JWT) for access control.
• Access Control Policies: Define who can access or modify
resources.
• Auditing and Monitoring: Regularly audit and monitor for
anomalies.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy