Understanding Distributed Systems

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

What was a primary limitation of computers before the mid-1980s concerning their operation?

  • They executed instructions at a slow pace measured in thousands per second. (correct)
  • They operated with very low power consumption.
  • They were capable of rapidly processing complex calculations.
  • They were interconnected through high-speed networks.

Following the mid-1980s, what advancements significantly influenced the evolution of computer systems?

  • The introduction of cheap processors and expansion of computer networks. (correct)
  • Development of expensive processors and isolated LAN setups.
  • A transition to slower processors with decreased network capabilities.
  • The exclusive reliance on mainframe architectures.

What characterizes a distributed system in contrast to a centralized system?

  • A single computer handling all processes with direct access to peripherals.
  • A basic setup consisting of a single computer without any network capabilities.
  • A network where multiple computers collaborate on the same application. (correct)
  • A system where computing resources are isolated and operate independently.

In the context of distributed systems, what constitutes a 'coherent system'?

<p>A system in which the presence of multiple computers is hidden from the user. (D)</p> Signup and view all the answers

Which of the following is an example of a distributed system?

<p>A web server delivering content over the Internet. (A)</p> Signup and view all the answers

What benefit does interconnecting multiple systems provide in addressing complex problems?

<p>It increases ability to solve problems that centralized systems cannot efficiently. (A)</p> Signup and view all the answers

Why is it important for components in a distributed system to use a common interconnection?

<p>To exchange information and coordinate actions to form a coherent single system. (D)</p> Signup and view all the answers

Which attribute describes a system where components can change or be changed of their own accord, without needing agreement?

<p>Autonomous (A)</p> Signup and view all the answers

What is a key outcome of designing a distributed system to hide the differences between computers and communication methods?

<p>A simplified user interaction regardless of the platform. (C)</p> Signup and view all the answers

What is the significance of 'scalability' in the context of distributed systems?

<p>The ability of the system to handle increased load by adding resources. (D)</p> Signup and view all the answers

What is the primary reason for using distributed systems in terms of resources?

<p>To facilitate the distribution, communication, and data sharing. (B)</p> Signup and view all the answers

Which consideration is relevant to security in distributed systems?

<p>Preventing clients from interfering with each other's operations. (B)</p> Signup and view all the answers

What software layer is commonly used to organize a distributed system to handle computer and network heterogeneity, presenting a unified view?

<p>Middleware. (B)</p> Signup and view all the answers

What core functionality should a distributed system provide, regarding user connectivity?

<p>A connection between users, storage, and web files. (D)</p> Signup and view all the answers

What does 'transparency' refer to in the context of distributed systems?

<p>The characteristic of the distributed system that hides its complex nature from users. (D)</p> Signup and view all the answers

Which form of transparency in distributed systems hides the differences in data representation and resource access methods?

<p>Access transparency (A)</p> Signup and view all the answers

What is 'Interoperability' in the context of distributed systems?

<p>The ability of diverse components to communicate. (C)</p> Signup and view all the answers

What does the term 'administratively scalable' mean for distributed systems?

<p>The ability of the system to manage multiple administrative organizations. (A)</p> Signup and view all the answers

How do distributed systems handle geographical scalability?

<p>By minimizing the impact of communication latency through techniques like asynchronous communication. (C)</p> Signup and view all the answers

What impact does the decision to use caching and replication techniques have on distributed system design?

<p>These might create consistency-related challenges. (B)</p> Signup and view all the answers

Which type of distributed system involves a collection of similar workstations closely connected to form high-speed LAN?

<p>Cluster Computing. (B)</p> Signup and view all the answers

Which of the following is primarily true about Grid Computing?

<p>The distributed architecture of heterogeneous structure. (C)</p> Signup and view all the answers

How is Enterprise Application Integration (EAI) typically achieved in distributed information systems?

<p>Through distributed transaction management. (B)</p> Signup and view all the answers

What are the four properties of transactions, often referred to by the acronym ACID?

<p>Atomic, Consistent, Isolated, and Durable. (A)</p> Signup and view all the answers

What mechanism ensures operations can be executed or rolled back so that no intermediate states are visible to another process?

<p>Atomicity. (D)</p> Signup and view all the answers

What is the main intention of Message-Oriented Middleware (MOM) in distributed systems?

<p>Enable communication between wireless devices. (D)</p> Signup and view all the answers

What is a key characteristic of distributed pervasive systems?

<p>Dynamic responses to environmental changes. (B)</p> Signup and view all the answers

What is meant by the pervasive term 'Embrace contextual changes'?

<p>Devices adapt to their environment changes. (C)</p> Signup and view all the answers

What distinguishes multicomputers from multiprocessors?

<p>Multicomputers do not share memory, while multiprocessors do. (A)</p> Signup and view all the answers

Within a shared memory model, what is the relevance of 'coherent' memory?

<p>Processors read shared value. (C)</p> Signup and view all the answers

What is a primary scalability problem?

<p>They become overloaded as the number of processors grows. (D)</p> Signup and view all the answers

Why is a protection mechanism required for concurrent access?

<p>Guarantee consistency. (C)</p> Signup and view all the answers

What is the primary communication method in multicomputer operating systems?

<p>Message passing. (B)</p> Signup and view all the answers

What component is exclusive to each node on a multicomputer system?

<p>Kernel. (C)</p> Signup and view all the answers

What mechanism makes Distributed Shared Memory (DSM) possible?

<p>Each individual virtual node. (D)</p> Signup and view all the answers

How do middleware in Network Operating Systems enhance service?

<p>Improve distribution transparency services. (C)</p> Signup and view all the answers

What capabilities does adding middleware enable to a Network Operating System?

<p>Greater transparency and ease. (C)</p> Signup and view all the answers

What service does middleware not support?

<p>Data storage. (B)</p> Signup and view all the answers

Signup and view all the answers

Signup and view all the answers

Flashcards

Pre-mid-80s computers

Before the mid-80s, computers were very expensive and slow, and not connected.

Post-mid-80s network development

Post-mid-80s included cheaper computers, and LANS/ WANS networks.

Distributed System definition

A distributed system is a collection of independent computers that appears as a single coherent system.

Mobile Telephony

Mobile telephony allows communications using cell phone networks.

Signup and view all the flashcards

Concurrency in distributed systems

An issue is clients disturbing each other's operation.

Signup and view all the flashcards

How to organise a Distributed System

It must give a single-system view by layering software over multiple machines.

Signup and view all the flashcards

Goals of Distributed systems

Distributed systems should easily connect users with resources, be transparent, open, and scalable.

Signup and view all the flashcards

Access Transparency

Hiding differences in data representation and resource access.

Signup and view all the flashcards

Location Transparency

Hiding the resource's physical location from users.

Signup and view all the flashcards

Migration Transparency

Hiding that a resource may be moved to another location.

Signup and view all the flashcards

Replication Transparency

Hiding that a resource is replicated across multiple locations.

Signup and view all the flashcards

Concurrency Transparency

Hiding that a resource may be shared by multiple competitive users.

Signup and view all the flashcards

Failure Transparency

Hiding the failure and recovery of resources.

Signup and view all the flashcards

Portability

Components work on different platforms.

Signup and view all the flashcards

Size Scalability

Scaling by adding more users and resources.

Signup and view all the flashcards

Geographical Scalability

Scaling across geographically dispersed locations.

Signup and view all the flashcards

Administrative Scalability

Scaling across different administrative organizations.

Signup and view all the flashcards

Hiding Communication Latencies

Delaying responses to remote service requests to improve scaling.

Signup and view all the flashcards

Centralized Services

Single server for all users, often for enforcing security.

Signup and view all the flashcards

Distribution Name Space

Dividing the name space into different zones to scale.

Signup and view all the flashcards

Replication

Replication enhances availability and enables load balancing.

Signup and view all the flashcards

Distributed Computing Systems

Cluster computing and Grid computing are types of this

Signup and view all the flashcards

Distributed Information Systems

Systems with interoperability issues and distributed transactions.

Signup and view all the flashcards

Distributed Pervasive Systems

Mobile and embedded devices in wireless networks.

Signup and view all the flashcards

Requirements for pervasive applications

Embracing change, ad hoc composition and sharing is a key aspect of distribution applications.

Signup and view all the flashcards

Multiprocessors

With shared memory

Signup and view all the flashcards

Multicomputers

Processors do not share memory

Signup and view all the flashcards

Coherent shared memory

The shared memory has to be coherent

Signup and view all the flashcards

Multiprocessor cache

High-speed cache memory sits between the processors and the bus.

Signup and view all the flashcards

Multiprocessor Operating Systems

Extended to support multiple processors having access to a shared memory.

Signup and view all the flashcards

Multicomputer Operating Systems

Processors can not share memory; communication is through message passing.

Signup and view all the flashcards

Distributed Shared Memory Systems

Use DSM - virtual memory capabilities of each individual node

Signup and view all the flashcards

Network Operating Systems

heterogeneous hardware

Signup and view all the flashcards

Services offered by NOS

Remote login (rlogin); remote file copy (rcp); shared file systems through file servers

Signup and view all the flashcards

Middleware

Combines the scalability and openness of network operating systems and the transparency and ease of use of distributed operating systems

Signup and view all the flashcards

Naming service

Such as a URL in the WWW naming.

Signup and view all the flashcards

Study Notes

Introduction to Distributed Systems

  • Before the mid-1980s, computers were very expensive and slow, with costs reaching into the millions of dollars.
  • These computers were not interconnected.
  • After the mid-1980s, major developments included the appearance of cheap and powerful microprocessor-based computers.
  • Computer networks emerged, with LANs ranging from 10 to 1000 Mbps and WANs from 64 Kbps to gigabits/sec.

Definition of a Distributed System

  • A distributed system consists of independent computers that appear to users as a single coherent system.
  • This definition considers autonomous hardware and software providing a unified user experience.

Paradigmatic Examples

  • The Web over the Internet is a key example.
  • Mobile telephony over cellular networks is another example.
  • Electronic funds transfer systems operate over special-purpose networks, facilitating transactions between bank accounts, credit card purchases, and cash machines.

Other Examples of Distributed Systems

  • Email and instant messaging are common examples.
  • Videoconferencing and multiuser gaming are also instances of distributed systems.
  • Home entertainment and global positioning systems (GPS) further illustrate this concept.

Benefits of Scale

  • Interconnecting systems enhances the ability to solve problems more efficiently than centralized systems in sequential mode.
  • Distributed systems enable more users to accomplish more valuable work effectively compared to centralized systems.

Characteristics of a Distributed System

  • It is independent and self-sufficient.
  • It is often heterogeneous and autonomous.
  • Its components are spatially separated.
  • Components use a common interconnection to coordinate actions, presenting a single coherent system to users.
  • Differences between computers and communication methods are hidden from users.
  • Users and applications can interact consistently and uniformly, regardless of location.
  • These systems are designed for continuous availability, even with partial failures, and are easily expandable and scalable.

Key Aspects of Distributed System Components

  • The "independent, self-sufficient" aspect means components have their own processor, state (memory), and resource control/management, such as an operating system.
  • "Autonomous" means each component can change or be changed on its own accord without prior agreement or notification.
  • "Heterogeneous" implies components may have differing capabilities, such as performance.

Heterogeneity in Distributed Systems

  • Heterogeneity arises from different hardware, software, and software interfaces.
  • These differences can cause interacting components to drift apart over time.
  • Failures force components to manage gaps in their knowledge of the system state.
  • Greater spatial distance between components increases the system's representation as a distributed system.

Advantages of Distributed Systems

  • Resource and Data Sharing: enables sharing of printers, databases, and multimedia servers.
  • Availability, Reliability: allows masking of loss through redundancy.
  • Scalability, Extensibility: facilitates system growth with demand.
  • Performance: provides substantial computational resources.
  • Inherent Distribution: supports organizational distribution via tools like e-mail and video.

Challenges of Distribution

  • Concurrency, Security: requires preventing clients from interfering with each other.
  • Privacy: needs to protect preference profiles and prevent unwanted communication like spam.
  • Partial Failure: makes it difficult to identify error locations and impacts Location, Migration, and Replication.
  • Heterogeneity: must address differences in hardware, platforms, languages, and management.

Organizing a Distributed System

  • Distributed systems are often structured using middleware to support heterogeneous computers and networks.
  • Middleware provides a unified system view across multiple machines.

Goals of Distributed Systems

  • Easily connect users with resources, including printers, computers, storage, data, files, and Web pages, for economic reasons and to facilitate collaboration.
  • Be transparent: Mask the distributed nature of resources and processes across multiple computers.
  • Be open and scalable.

Transparency in Distributed Systems

  • A system is considered transparent if users and applications perceive it as a single computer system.
  • Access transparency hides data representation and resource access methods.
  • Location transparency hides the physical location of resources (e.g., through naming).
  • Migration transparency hides resource movement.
  • Relocation transparency hides resource movement during use, such as with mobile wireless laptops.
  • Replication transparency hides resource replication.
  • Concurrency transparency hides resource sharing among competitive users.
  • Failure transparency hides failures and recovery.
  • Persistence transparency hides whether a resource resides in memory or on disk.

Openness in Distributed Systems

  • Open distributed systems rely on well-defined interfaces.
  • Interoperability allows components from different origins to communicate.
  • Portability allows components to work on various platforms.
  • Flexibility and extensibility are key, allowing easy configuration and the addition/replacement of components.
  • Open Distributed Systems offer services based on standard rules, like network protocols.

Scalability in Distributed Systems

  • Distributed systems should be scalable to accommodate more users/resources (size), geographically dispersed elements, and multiple administrative organizations.
  • Centralized services, data, and algorithms pose scalability limitations.

Scaling Techniques

  • Addressing scalability problems involves hiding communication latencies.
  • Distribution and replication are key strategies to solve scalability problems.

Hiding Communication Latencies

  • Avoid waiting for remote service requests.
  • Let the requester perform other useful tasks while waiting.
  • Employ asynchronous communication to allow applications to continue until a reply arrives.
  • Batch processing and parallel applications benefit from this approach.
  • For interactive applications, shift part of the processing to the client to reduce communication.

Strategies for Software Systems that Scale

  • Distribution involves dividing namespaces into zones, exemplified by the Domain Name System (DNS).
  • Replication involves replicating components across a system to increase availability and distribute load, which can be managed by the resource owner.
  • Caching, a special form of replication, reduces communication latency and is managed by the user, but caching and replication can introduce consistency problems.

Types of Distributed Systems

  • Distributed computing systems
  • Distributed information systems
  • Distributed pervasive/embedded systems

Distributed Computing Systems

  • Used for high-performance computing tasks.
  • Includes cluster computing and grid computing.

Cluster Computing

  • Involves homogeneous workstations or PCs connected via a high-speed LAN.
  • Each node operates under the same operating system.
  • Used for computationally intensive programs run in parallel.
  • A master node manages middleware for parallel programs and controls compute nodes.
  • It allocates tasks and provides a user interface.

Grid Computing

  • Grid computing focuses on resource sharing and coordinated problem-solving in dynamic, multi-institutional virtual organizations.
  • It features a high degree of heterogeneity.

Distributed Information Systems

  • These systems often face Interoperability issues with several networked applications.
  • Wrapping requests into distributed transactions is one technique to make systems interoperable.
  • Enterprise Application Integration seeks to allow applications to communicate directly with each other.

Example of a Distributed Transaction

  • Assume a banking operation involving a withdrawal from one account and a deposit into another.
  • Without proper handling, problems can occur if operations are only partially completed.
  • Transactions group operations to ensure either all or none are carried out, with a rollback mechanism for incomplete transactions.

Properties of Reliable Transactions

  • Atomic: Transactions happen indivisibly.
  • Consistent: Do not violate system invariants.
  • Isolated or Serializable: Concurrent transactions do not interfere.
  • Durable: Changes are permanent once a transaction commits.

Strategies for Enterprise Application Integration

  • Integrate applications independent from their databases.
  • Design transaction systems to rely on request/reply patterns.
  • Let applications communicate with each other.

Distributed Pervasive Systems

  • These systems emphasize stability with fixed nodes and high-quality network connections.
  • Wireless mobile and embedded computing devices are included.
  • Embrace contextual changes.
  • Encourage ad hoc composition.
  • Recognize sharing as the default.

Hardware Concepts of Distributed Systems

  • Multi-processors utilize shared memory.
  • Multi-computers do not use shared memory.
  • These systems can be homogeneous or heterogeneous.

Shared vs Private Memory Setups

  • Shared Memory system shares a single backbone.
  • Private memory system uses switches.

Multiprocessors and Shared Memory

  • Shared memory must be coherent so that values written by one processor can be read by others.
  • Bus-based organizations face performance bottlenecks as the number of processors increases.
  • Cache memory aims to improve performance, which may cause incoherent memory.

Multi-processor Scaling Solutions

  • Bus-based multi-processors struggle to scale
  • Using a crossbar switch or omega network is required.
  • Crossbar switches divide memory into modules connected via crosspoint switches, but are expensive.
  • Omega networks reduce cost but introduce high latency between CPU and memory.

Software Concepts

  • There are OSs in relation to distributed systems: Tightly-coupled systems and Loosely-coupled systems
  • Tightly-coupled systems tries to maintain a single, global view of the resources.
  • Loosely-coupled systems is a collection of computers each running its own OS.
  • Middleware enhances services of network OSs to improve distribution transparency.

Summary of Main Issues

  • DOSs are tightly-coupled operating systems for multi-processors.
  • NOS are loosely-coupled operating system.
  • Middleware is used to provide distribution transparency.

Distributed Operating Systems

  • Multiprocessor OSs manage resources in a multiprocessor system.
  • Multicomputer OSs exist for homogeneous multicomputer systems.
  • Uniprocessor OSs separate applications and OS code via a microkernel.

Multiprocessor / Uniprocessor Operating Systems

  • These systems extend uniprocessor OSs to support multi-processors with shared memory.
  • A protection mechanism is used to guarantee consistency.

Multicomputer Operating Systems

  • Processors cannot share memory, relying instead on message passing.
  • Each node has its kernel for managing local resources.
  • Each module handles interprocess communication.

Implementation of Distributed Shared Memory Systems

  • Sharing can be emulated on distributed systems using a virtual shared memory that uses virtual memory capabilities.
  • Addressing is handled at the individual node level.

How Distributed Memory Pages / Reads Work

  • Read-only pages can be easily replicated.

Network Operating Systems

  • These are possibly heterogeneous at a base level.
  • These are constructed from a collection of uniprocessor systems with their own operating system.
  • These systems are each independently connected to each other in a computer network.

Network OS Common Services

  • Remote login rlogin
  • Remote file copy rcp
  • Shared file systems via file servers

Middleware

  • These are not intended to handle a collection of independent computers as distributed OS do.
  • The network operating system does not provide a view of a single coherent system that's scalable and open.
  • Transparency and ease of use are combined.

Middleware Topologies

  • Middleware services provide: access transparency, naming conventions, distributed transaction, security

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

P2P Computing Architecture
10 questions

P2P Computing Architecture

InnovativeLavender avatar
InnovativeLavender
Client-Server Architecture
20 questions

Client-Server Architecture

EnergySavingAmbiguity9661 avatar
EnergySavingAmbiguity9661
Use Quizgecko on...
Browser
Browser