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

Distributed Systems Lecture 1-2

Here are the key points from the tutorial: 1. Time-sharing systems allow multiple programs to share the same processor while parallel systems use multiple processors working simultaneously. Distributed systems coordinate activities across networked computers while network OS focus on sharing resources across a network. 2. Distributed systems can leverage idle processing power across many systems for greater scalability. They also provide location independence and greater fault tolerance through redundancy. 3. Principles for good distributed OS performance include minimizing communication, exploiting locality, avoiding unnecessary duplication, and balancing workload across nodes. 4. Major issues in designing a distributed OS include synchronization, naming/addressing, replication, consistency across failures, security, and heterogeneity. 5. A network OS focuses on

Uploaded by

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

Distributed Systems Lecture 1-2

Here are the key points from the tutorial: 1. Time-sharing systems allow multiple programs to share the same processor while parallel systems use multiple processors working simultaneously. Distributed systems coordinate activities across networked computers while network OS focus on sharing resources across a network. 2. Distributed systems can leverage idle processing power across many systems for greater scalability. They also provide location independence and greater fault tolerance through redundancy. 3. Principles for good distributed OS performance include minimizing communication, exploiting locality, avoiding unnecessary duplication, and balancing workload across nodes. 4. Major issues in designing a distributed OS include synchronization, naming/addressing, replication, consistency across failures, security, and heterogeneity. 5. A network OS focuses on

Uploaded by

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

Distributed Systems

Lecture 1
Google Classroom Class Code

xupeyxa
Lecture Outline
• About the course
• Lecture 1 - Fundamentals of Distributed Computing
• What is distributed computing?
• Properties of a DS
• Evolution of Distributed Computing Systems,
• System models,
• issues in design of Distributed Systems,
• Distributed-computing environment,
• web based distributed model,
• computer networks related to distributed systems and web-based protocols
About the Course
Pre-requisites
• Basic networking concepts, Basic OS concepts (e.g., processes, threads,
synchronization, file systems, scheduling etc.), Advanced Programming.
Synopsis
• A detailed coverage of distributed systems, with a particular focus on
concurrency programming using distributed computing architectures. Use of
distributed architectures for big data processing and parallel computing.
Distributed memory coherency; distributed file systems; distributed process
management, including load sharing and process migration; concurrency
control; fault tolerance, recoverability and distributed transactions; naming;
industry standards; case studies.
About the course (cont..)
Description of the Course
• The course introduces the main principles underlying distributed
systems: processes, communication, naming, synchronization,
consistency, fault tolerance, and security. Students will be familiar
with some of the main paradigms in distributed systems: object-based
systems, file systems, web-based and coordination-based systems. On
the completion of the unit, students will understand the
fundamentals of distributed computing and be able to design and
develop distributed systems and applications.
Fundamentals of Distributed
Computing
What is a distributed system?
• A collection of independent entities that cooperate to solve a problem
that cannot be individually solved
• A collection of computers that do not share common memory or a
common physical clock, that communicate by message passing over a
communication network – each computer runs its own operating
system and has its own memory.
• These computers are semi-autonomous and are loosely coupled while they
cooperate to address a problem collectively
Properties of DS
• Heterogeneity – systems consist of heterogeneous hardware and
software components
• Concurrency – multiple programs run together
• Shared data – data is accessed simultaneously by multiple entities
• No global clock – each component has a local notion of time
• Interdependencies – independent components depend on each otehr
DS Example
Layered Architecture of a DS
Motivation for DS (advantages)
• Inherently distributed computations – many applications such as money
transfer, or reaching consensus among parties that are geographically
distant: computation is inherently distributed
• Resource sharing – resources such as peripherals, complete datasets in
databases, special libraries etc cannot be fully replicated at all the sites
because it is often impractical and expensive
• Access to geographically remote data and resources – eg bank databases,
supercomputers, resource-constrained mobile devices
• Enhanced reliability – resources and executions can be replicated to
enhance reliability. Geographically distributed resources are not likely to
malfunction at the same time
Motivation (cont..)
• Reliability entails several aspects:
• Availability – resource should be accessible at all times
• Integrity – state of correctness in the face of concurrent access
• Fault tolerance – ability to recover from system failures
• Increased performance/cost ratio – must be able to access geographically remote data
and share resources
• Scalability – adding more processors to the communication network
does not cause problems to the system
• Modularity and incremental expandability – heterogenous
processors may be easily added or replaced without affecting
performance
Design Issues and challenges of DS
• Perspectives
1. Systems perspective
2. Algorithm perspective
3. Recent technology advances/new applications
1. DS design challenges from a system
perspective
• Communication – there must be appropriate communication
mechanisms among the processes on the network
• Processes – Some of the issues involved are managements of
processes and threads at clients/servers; code migration; the design
of software and mobile agents
• Synchronisation – coordination among the processes is essential.
Example of synchronisation include mutual exclusion, leader election,
physical clocks, logical clocks and global state recording algorithms
DS challenges from a system perspective
• Fault tolerance – correctness must be maintained in spite of failure of
links, nodes and processes
• Methods of achieving fault tolerance include: process resilience, reliable
communication, distributed commit, check-pointing and recovery, agreement and
consensus, failure detection, self-stabilisation
• Transparency – Hiding the implementation policies from the users
• Access transparency – hides differences in data representation on different
systems and provides uniform operations to access system resources
• Location transparency – makes the locations of resources transparent to the users
• Migration transparency – allows relocating resources without changing names
• Other transparencies are: relocation, replication, concurrency, failure
2. DS design challenges from an algorithm
perspective
• Asynchrony – Absolute and relative timings of events cannot always
be known precisely
• Local view (limited knowledge) – computing entities can only be
aware of information it acquires, so it has local views of the global
situation
• Failures – computing entities can fail independently, leaving some
components operational while others are not
Algorithmic Challenges in DS
• Time and global state
• Synchronisation/coordination mechanisms
• Reliability and fault tolerance
• Consensus algorithms, Replication and replica management, Voting and quorum systems,
Distributed databases and distributed commit, Self-stabilising systems, Check-pointing and
recovery algorithms, Failure detectors
• Group communication, multicast and ordered message delivery – a group is a
collection of processes that share a common context and collaborate on a
common task
• Specific algorithms need to be designed to enable efficient group communication and group
management such that processes can join and leave groups dynamically
• Distributed shared memory abstraction
3. Design challenges and issues from recent
technology advances/new applications perspective
• Mobile systems – they typically use wireless communication which is based on
electromagnetic waves and uses a shred broadcast medium
• Sensor networks – reading and interpreting physical parameters
• Ubiquitous or pervasive computing – processors embedded through the environment to
perform certain functions
• Peer-to-peer computing – processors being “equal” and playing a symmetric role in
computation
• Distributed data mining – examining large amount of data to detect patterns and trends
in the data so as to extract useful information
• Grid computing – allows for idle CPU cycles of connected machines being made available
to others
• Security in DS - CIAA
Summary
• This lecture covered the following topics:
• What is distributed computing?
• Properties of a DS
• issues in design of Distributed Systems,
Task 1
Read the tutorial and make notes for presentation in groups as follows:
1. Differentiate between time-sharing, parallel processing, network and distributes
operating systems.
2. In what respect are distributed computing systems better than parallel processing
systems?
3. Discuss the main guiding principles that a distributed operating system designer
must keep in mind for good performance of the system?
4. What are the major issues of designing a Distributed OS?
5. What is the major difference between Network OD and Distributed OS?
6. Why is scalability an important feature in the design of a distributed OS? Discuss
the guiding principles for designing a scalable distributed system.

You might also like