Podcast
Questions and Answers
What was a primary limitation of computers before the mid-1980s concerning their operation?
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?
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?
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'?
In the context of distributed systems, what constitutes a 'coherent system'?
Which of the following is an example of a distributed system?
Which of the following is an example of a distributed system?
What benefit does interconnecting multiple systems provide in addressing complex problems?
What benefit does interconnecting multiple systems provide in addressing complex problems?
Why is it important for components in a distributed system to use a common interconnection?
Why is it important for components in a distributed system to use a common interconnection?
Which attribute describes a system where components can change or be changed of their own accord, without needing agreement?
Which attribute describes a system where components can change or be changed of their own accord, without needing agreement?
What is a key outcome of designing a distributed system to hide the differences between computers and communication methods?
What is a key outcome of designing a distributed system to hide the differences between computers and communication methods?
What is the significance of 'scalability' in the context of distributed systems?
What is the significance of 'scalability' in the context of distributed systems?
What is the primary reason for using distributed systems in terms of resources?
What is the primary reason for using distributed systems in terms of resources?
Which consideration is relevant to security in distributed systems?
Which consideration is relevant to security in distributed systems?
What software layer is commonly used to organize a distributed system to handle computer and network heterogeneity, presenting a unified view?
What software layer is commonly used to organize a distributed system to handle computer and network heterogeneity, presenting a unified view?
What core functionality should a distributed system provide, regarding user connectivity?
What core functionality should a distributed system provide, regarding user connectivity?
What does 'transparency' refer to in the context of distributed systems?
What does 'transparency' refer to in the context of distributed systems?
Which form of transparency in distributed systems hides the differences in data representation and resource access methods?
Which form of transparency in distributed systems hides the differences in data representation and resource access methods?
What is 'Interoperability' in the context of distributed systems?
What is 'Interoperability' in the context of distributed systems?
What does the term 'administratively scalable' mean for distributed systems?
What does the term 'administratively scalable' mean for distributed systems?
How do distributed systems handle geographical scalability?
How do distributed systems handle geographical scalability?
What impact does the decision to use caching and replication techniques have on distributed system design?
What impact does the decision to use caching and replication techniques have on distributed system design?
Which type of distributed system involves a collection of similar workstations closely connected to form high-speed LAN?
Which type of distributed system involves a collection of similar workstations closely connected to form high-speed LAN?
Which of the following is primarily true about Grid Computing?
Which of the following is primarily true about Grid Computing?
How is Enterprise Application Integration (EAI) typically achieved in distributed information systems?
How is Enterprise Application Integration (EAI) typically achieved in distributed information systems?
What are the four properties of transactions, often referred to by the acronym ACID?
What are the four properties of transactions, often referred to by the acronym ACID?
What mechanism ensures operations can be executed or rolled back so that no intermediate states are visible to another process?
What mechanism ensures operations can be executed or rolled back so that no intermediate states are visible to another process?
What is the main intention of Message-Oriented Middleware (MOM) in distributed systems?
What is the main intention of Message-Oriented Middleware (MOM) in distributed systems?
What is a key characteristic of distributed pervasive systems?
What is a key characteristic of distributed pervasive systems?
What is meant by the pervasive term 'Embrace contextual changes'?
What is meant by the pervasive term 'Embrace contextual changes'?
What distinguishes multicomputers from multiprocessors?
What distinguishes multicomputers from multiprocessors?
Within a shared memory model, what is the relevance of 'coherent' memory?
Within a shared memory model, what is the relevance of 'coherent' memory?
What is a primary scalability problem?
What is a primary scalability problem?
Why is a protection mechanism required for concurrent access?
Why is a protection mechanism required for concurrent access?
What is the primary communication method in multicomputer operating systems?
What is the primary communication method in multicomputer operating systems?
What component is exclusive to each node on a multicomputer system?
What component is exclusive to each node on a multicomputer system?
What mechanism makes Distributed Shared Memory (DSM) possible?
What mechanism makes Distributed Shared Memory (DSM) possible?
How do middleware in Network Operating Systems enhance service?
How do middleware in Network Operating Systems enhance service?
What capabilities does adding middleware enable to a Network Operating System?
What capabilities does adding middleware enable to a Network Operating System?
What service does middleware not support?
What service does middleware not support?
Flashcards
Pre-mid-80s computers
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 network development
Post-mid-80s included cheaper computers, and LANS/ WANS networks.
Distributed System definition
Distributed System definition
A distributed system is a collection of independent computers that appears as a single coherent system.
Mobile Telephony
Mobile Telephony
Signup and view all the flashcards
Concurrency in distributed systems
Concurrency in distributed systems
Signup and view all the flashcards
How to organise a Distributed System
How to organise a Distributed System
Signup and view all the flashcards
Goals of Distributed systems
Goals of Distributed systems
Signup and view all the flashcards
Access Transparency
Access Transparency
Signup and view all the flashcards
Location Transparency
Location Transparency
Signup and view all the flashcards
Migration Transparency
Migration Transparency
Signup and view all the flashcards
Replication Transparency
Replication Transparency
Signup and view all the flashcards
Concurrency Transparency
Concurrency Transparency
Signup and view all the flashcards
Failure Transparency
Failure Transparency
Signup and view all the flashcards
Portability
Portability
Signup and view all the flashcards
Size Scalability
Size Scalability
Signup and view all the flashcards
Geographical Scalability
Geographical Scalability
Signup and view all the flashcards
Administrative Scalability
Administrative Scalability
Signup and view all the flashcards
Hiding Communication Latencies
Hiding Communication Latencies
Signup and view all the flashcards
Centralized Services
Centralized Services
Signup and view all the flashcards
Distribution Name Space
Distribution Name Space
Signup and view all the flashcards
Replication
Replication
Signup and view all the flashcards
Distributed Computing Systems
Distributed Computing Systems
Signup and view all the flashcards
Distributed Information Systems
Distributed Information Systems
Signup and view all the flashcards
Distributed Pervasive Systems
Distributed Pervasive Systems
Signup and view all the flashcards
Requirements for pervasive applications
Requirements for pervasive applications
Signup and view all the flashcards
Multiprocessors
Multiprocessors
Signup and view all the flashcards
Multicomputers
Multicomputers
Signup and view all the flashcards
Coherent shared memory
Coherent shared memory
Signup and view all the flashcards
Multiprocessor cache
Multiprocessor cache
Signup and view all the flashcards
Multiprocessor Operating Systems
Multiprocessor Operating Systems
Signup and view all the flashcards
Multicomputer Operating Systems
Multicomputer Operating Systems
Signup and view all the flashcards
Distributed Shared Memory Systems
Distributed Shared Memory Systems
Signup and view all the flashcards
Network Operating Systems
Network Operating Systems
Signup and view all the flashcards
Services offered by NOS
Services offered by NOS
Signup and view all the flashcards
Middleware
Middleware
Signup and view all the flashcards
Naming service
Naming service
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.