Distributed Systems Overview

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

A distributed system appears to its users as a single coherent ______.

system

A distributed system operates on multiple, autonomous ______ elements.

processing

In a distributed system, computers are linked by a ______.

network

A defining feature of distributed systems is that they do not share primary ______.

<p>memory</p> Signup and view all the answers

Resource and data sharing in distributed systems can include ______, databases, and multimedia servers.

<p>printers</p> Signup and view all the answers

The loss of some instances can be hidden in terms of ______ and reliability.

<p>availability</p> Signup and view all the answers

In a distributed system, the system grows with demand, such as adding extra ______.

<p>servers</p> Signup and view all the answers

Distributed systems can provide huge power in terms of ______ and memory.

<p>CPU</p> Signup and view all the answers

One characteristic of centralized systems is that they have a single point of ______.

<p>failure</p> Signup and view all the answers

Heterogeneity in distributed systems refers to differences in ______, platforms, languages, and management.

<p>hardware</p> Signup and view all the answers

One of the problems of distribution is that clients must not disturb each other's ______.

<p>concurrency</p> Signup and view all the answers

In distributed systems, coordination is achieved through ______ passing.

<p>message</p> Signup and view all the answers

Distributed systems may fail independently due to network faults, isolating computers that are still ______.

<p>running</p> Signup and view all the answers

A distributed system is often organized by a layer of software called ______ that extends over multiple machines.

<p>middleware</p> Signup and view all the answers

A key goal of a distributed system is to make resources ______ for users.

<p>accessible</p> Signup and view all the answers

A distributed system should provide ______ transparency, hiding the fact that resources are distributed across multiple computers.

<p>distribution</p> Signup and view all the answers

In a distributed system, ______ transparency allows multiple processes to operate concurrently without interference.

<p>concurrency</p> Signup and view all the answers

______ transparency allows resources to be accessed without knowledge of their physical or network location.

<p>location</p> Signup and view all the answers

Replication transparency enables the use of multiple instances of resources to increase ______ and performance.

<p>reliability</p> Signup and view all the answers

A distributed system should be ______ and scalable to accommodate growth and varying loads.

<p>open</p> Signup and view all the answers

Failure transparency enables users and applications to complete their tasks despite the failure of ______ or software components.

<p>hardware</p> Signup and view all the answers

The server for Z2 will return the address of the server for zone ______, which is capable of handling the last part of the name.

<p>Z3</p> Signup and view all the answers

Replication is used across a distributed system to increase ______ and for load balancing.

<p>availability</p> Signup and view all the answers

Caching, which is a special form of ______, reduces communication latency.

<p>replication</p> Signup and view all the answers

False assumptions made by first-time developers include that the network is ______.

<p>reliable</p> Signup and view all the answers

There are three types of distributed systems: Distributed Computing Systems, Distributed Information Systems, and Distributed ______ Systems.

<p>Pervasive</p> Signup and view all the answers

Cluster Computing consists of a collection of similar workstations or PCs closely connected by means of a high-speed ______.

<p>LAN</p> Signup and view all the answers

Grid Computing is defined as 'Resource sharing and coordinated problem solving in dynamic, multi-institutional ______ organizations.'

<p>virtual</p> Signup and view all the answers

A master node in a cluster computing system runs a middleware and ______ other compute nodes.

<p>controls</p> Signup and view all the answers

The problem is mainly related to ______ limitations in the capacity of servers and networks.

<p>performance</p> Signup and view all the answers

One solution to the problem is ______ communication latencies.

<p>hiding</p> Signup and view all the answers

______ involves taking a component, splitting it into smaller parts, and spreading those parts across the system.

<p>Distribution</p> Signup and view all the answers

The Internet Domain Name System (DNS) is an excellent example of ______.

<p>distribution</p> Signup and view all the answers

For interactive applications, it's suggested to move part of the job to the ______.

<p>client</p> Signup and view all the answers

In the context of the DNS, resolving a name means returning the ______ of the associated host.

<p>network address</p> Signup and view all the answers

The DNS name space is hierarchically organized into a tree of ______.

<p>domains</p> Signup and view all the answers

Constructing requesting applications that use only ______ communication avoids waiting for responses.

<p>asynchronous</p> Signup and view all the answers

Globus is a software system for ______ Computing.

<p>Grid</p> Signup and view all the answers

To let applications communicate directly with each other, we refer to ______ Application Integration (EAI).

<p>Enterprise</p> Signup and view all the answers

A transaction either happens completely or not at all; this is referred to as ______.

<p>Atomic</p> Signup and view all the answers

In a transaction, the amount of money in the bank must be consistent; this is known as ______.

<p>Consistent</p> Signup and view all the answers

If two or more transactions are running concurrently, they must be ______ to not interfere with each other.

<p>Isolated</p> Signup and view all the answers

Once a transaction commits, the changes are ______.

<p>Durable</p> Signup and view all the answers

Mobile and embedded computing devices are described as small, battery-powered, ______, and with a wireless connection.

<p>mobile</p> Signup and view all the answers

For pervasive applications, a device should ______ contextual changes in its environment.

<p>embrace</p> Signup and view all the answers

Signup and view all the answers

Flashcards

Distributed System

A collection of independent computers that appear to users as a single, integrated system.

Resource Sharing

A system's ability to share resources and data across multiple computers, like printers, databases, or servers.

Characteristics of Distributed Systems

A distributed system is designed to be built on many computers, each having its own failure modes, linked by a network, and operating concurrently with independent clocks.

Autonomous Machines

Separate, autonomous machines in a distributed system that don't share primary memory.

Signup and view all the flashcards

Single System View

A distributed system should be designed to appear as a single, coherent system to its users, despite being built on multiple, independent computers.

Signup and view all the flashcards

Scalability

The system can handle increasing demands by adding more resources, like servers.

Signup and view all the flashcards

Availability

The system can tolerate failures of individual components without significantly impacting overall functionality.

Signup and view all the flashcards

Extensibility

The system can smoothly adapt to changes in its environment or requirements.

Signup and view all the flashcards

Performance

The system can handle a large workload efficiently and quickly.

Signup and view all the flashcards

Centralized System

A system where all components are under the control of a single central component.

Signup and view all the flashcards

Multiple Points of Failure

The possibility of multiple components failing independently, which can lead to unpredictable outcomes.

Signup and view all the flashcards

Partial Failure

When parts of a distributed system may not be able to communicate due to network issues.

Signup and view all the flashcards

Middleware

A software layer that facilitates communication and interaction between components in a distributed system.

Signup and view all the flashcards

Distribution Transparency

The ability of a distributed system to hide the fact that its resources and processes are distributed across multiple machines.

Signup and view all the flashcards

Location Transparency

Accessing resources without needing to know their physical location.

Signup and view all the flashcards

Concurrency Transparency

Enabling multiple processes to operate concurrently on shared resources without interfering with each other.

Signup and view all the flashcards

Replication Transparency

Using multiple copies of resources to improve reliability and performance without the user being aware of these copies.

Signup and view all the flashcards

Failure Transparency

Concealing failures of hardware or software components from users and applications.

Signup and view all the flashcards

Fault Tolerance

A system's ability to handle failures gracefully, continuing to operate despite issues with components.

Signup and view all the flashcards

Hiding Communication Latencies

A technique for improving the performance of systems by hiding network delays through asynchronous communication.

Signup and view all the flashcards

Asynchronous Communication

A type of communication where a request is sent without expecting an immediate response. The application continues processing other tasks and is interrupted when a reply arrives.

Signup and view all the flashcards

Synchronous Communication

A type of communication where a request is sent and the application waits for a response before proceeding.

Signup and view all the flashcards

Moving Job to Client

A problem-solving approach for interactive applications where part of the processing is moved to the client to reduce network communication.

Signup and view all the flashcards

Distribution

A scaling technique that involves splitting a component into smaller parts and distributing them across multiple systems.

Signup and view all the flashcards

Internet Domain Name System (DNS)

A hierarchical system that manages domain names and maps them to network addresses.

Signup and view all the flashcards

DNS Zone

A named area in the DNS hierarchy containing a group of hosts.

Signup and view all the flashcards

Resolving a Name

The process of identifying the network address associated with a given domain name.

Signup and view all the flashcards

Zone Server

A server responsible for a specific portion of a domain name. For example, a Z3 server handles the last part of a "full" domain name like "example.com".

Signup and view all the flashcards

Replication

Duplicating components across a distributed system to enhance availability and distribute workload, leading to better performance.

Signup and view all the flashcards

Caching

A special form of replication where data is stored temporarily to reduce communication latency. For example, a web browser can store a copy of a webpage locally to make future accesses faster.

Signup and view all the flashcards

Consistency Problems

The potential inconsistency that might arise when multiple copies of data are updated or changed independently in a distributed system.

Signup and view all the flashcards

Cluster Computing

A collection of similar workstations or PCs closely connected by a high-speed LAN, all running the same operating system, used for parallel programming.

Signup and view all the flashcards

Grid Computing

A distributed system that uses a wide range of resources across different organizations, allowing for large-scale, complex computations. It allows for heterogeneity in hardware and software.

Signup and view all the flashcards

Distributed Computing Systems

A type of distributed computing system used for high-performance computing tasks that involve parallel processing. Common examples include scientific simulations and data analysis.

Signup and view all the flashcards

What is Globus?

A software system designed for executing tasks across multiple computers in a network, effectively utilizing the combined resources of these computers.

Signup and view all the flashcards

What is a Distributed Information System?

A system architecture that distributes data and processing across multiple independent computers connected by a network.

Signup and view all the flashcards

What is the lowest level of interoperability in a distributed system?

A technique used to combine multiple network requests into a single larger request, ensuring all actions within the request are completed or none are completed.

Signup and view all the flashcards

What is Enterprise Application Integration (EAI)?

A software approach that allows different applications to communicate and exchange data directly, enabling seamless integration between systems.

Signup and view all the flashcards

What are transaction processing system primitives?

Specialized instructions or functions designed for managing data transactions in a distributed system.

Signup and view all the flashcards

What are the properties of Transactions?

A set of properties (ACID) ensuring the integrity and reliability of data transactions in a distributed system.

Signup and view all the flashcards

What does 'Atomic' mean in ACID properties?

A transaction is completed as a whole, either fully or not at all. There are no partial or inconsistent results.

Signup and view all the flashcards

What does 'Consistent' mean in ACID properties?

A transaction ensures data consistency and does not violate any system rules or invariants. The system's state remains valid after the transaction.

Signup and view all the flashcards

Study Notes

Introduction to Distributed Systems

  • Distributed systems are collections of independent computers appearing as a single coherent system to users.
  • This has hardware and software aspects.
    • Hardware: autonomous machines
    • Software: a single system view for users.
  • A system is "a complex whole; a set of connected parts; an organized assembly of resources and procedures (collection of ...) united and regulated by interaction or interdependence to accomplish a set of specific functions."

Goals of a Distributed System

  • Making resources accessible: Connect users to resources (printers, computers, storage facilities, data, files, and web pages). Reasons include economics, e-commerce, and collaboration.
  • Distribution transparency: Hide the distributed nature of resources and processes across multiple computers.
  • Openness: Enables flexibility and extensibility to configure system components and add/replace existing ones. This necessitates well-defined interfaces and interoperability between different components.
  • Scalability: Enable the system to handle growth in users and resources (size, geographically, and administratively). Problems include overloading and communication complexities as well as administrative complexity.
  • Scalability techniques include hiding communication latency, distribution, and replication.

Types of Distributed Systems

  • Three types:
    1. Distributed Computing Systems
    2. Distributed Information Systems
    3. Distributed Pervasive/Embedded Systems.
  • Distributed Computing Systems (used for high performance computing)
    • Two types: A. Cluster Computing: - A collection of similar workstations or PCs connected by a high-speed LAN. - Each node runs the same operating system. - Used for parallel programming where a program is run in parallel on multiple machines. B. Grid Computing: - A system that shares resources and coordinates problem-solving across multiple institutions. - A high degree of heterogeneity (different hardware, operating systems, networks, and security policies). - Globus is a software system for Grid Computing.
  • Distributed Information Systems:
    • Problem: many networked applications have interoperability issues
    • Solutions at lowest level: Wrapping multiple requests into a single distributed transaction, or letting applications directly interact (Enterprise Application Integration).
  • Distributed Pervasive Systems: Includes mobile and embedded computing devices.
    • Requirements: Embrace contextual changes, encourage ad-hoc composition, and recognize sharing as a default.
    • Examples: Home Systems, Electronic Health Care Systems, and Sensor Networks

Problems of Distribution

  • Concurrency and Security: prevent clients disturbing each other
  • Privacy: prevent unwanted communications (e.g., spam, cookies)
  • Partial failure: dealing with errors, not knowing where the errors come from
  • Location, Migration, Replication: enabling clients to find their servers
  • Heterogeneity: managing hardware, platforms, languages, and management aspects

Transparency in a Distributed System

  • Access transparency: Enable local and remote resources using identical operations.
  • Location transparency: Enables access to resources regardless of their physical or network location.
  • Concurrency transparency: Enables concurrent processes using shared resources without interfering with each other.
  • Replication transparency: Enables multiple resource instances without users or application programmers knowing about them.
  • Failure transparency: Conceals component failures, keeping applications functional.
  • Mobility transparency: Allows movement of resources and clients within the system without affecting user operations.
  • Performance transparency: Allows system reconfiguration to improve performance based on workload.
  • Scaling transparency: Allows system and application scaling without affecting the system structure or application algorithms.

Pitfalls When Developing Distributed Systems

  • Assume network reliability, security, homogeneity, constant topology, zero latency, infinite bandwidth, or single administrator, despite non-distributed features.

Transaction Processing Systems

  • Application special primitives are needed. Consider database to program transactions (supplied by underlying distributed systems or systems languages).
  • Distributed systems may require different techniques based on application types (using procedure calls, ordinary statements, etc.).
    • Need a way to "roll back" when a transaction isn't completed.
    • Transaction properties (ACID):
      • Atomic: indivisible operations
      • Consistent: system invariants are not violated
      • Isolated: concurrent transactions don't affect each other
      • Durable: permanent changes.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Use Quizgecko on...
Browser
Browser