際際滷

際際滷Share a Scribd company logo
Distributed Systems
Tanenbaum Chapter 1
Outline
 Definition of a Distributed System
 Goals of a Distributed System
What Is A Distributed System?
 A collection of independent computers that
appears to its users as a single coherent system.
 Features:
 No shared memory  message-based communication
 Each runs its own local OS
 Heterogeneity
 Ideal: to present a single-system image:
 The distributed system looks like a single
computer rather than a collection of separate
computers.
Distributed System
Characteristics
 To present a single-system image:
 Hide internal organization, communication details
 Provide uniform interface
 Easily expandable
 Adding new computers is hidden from users
 Continuous availability
 Failures in one component can be covered by other
components
 Supported by middleware
Definition of a Distributed System
Figure 1-1. A distributed system organized as middleware. The
middleware layer runs on all machines, and offers a uniform
interface to the system
Role of Middleware (MW)
 In some early research systems: MW tried to
provide the illusion that a collection of separate
machines was a single computer.
 E.g. NOW project: GLUNIX middleware
 Today:
 clustering software allows independent computers to
work together closely
 MW also supports seamless access to remote
services, doesnt try to look like a general-purpose
OS
Middleware Examples
 CORBA (Common Object Request Broker
Architecture)
 DCOM (Distributed Component Object
Management)  being replaced by .net
 Suns ONC RPC (Remote Procedure Call)
 RMI (Remote Method Invocation)
 SOAP (Simple Object Access Protocol)
Middleware Examples
 All of the previous examples support
communication across a network:
 They provide protocols that allow a program
running on one kind of computer, using one
kind of operating system, to call a program
running on another computer with a
different operating system
 The communicating programs must be running
the same middleware.
Distributed System Goals
 Resource Accessibility
 Distribution Transparency
 Openness
 Scalability
Goal 1  Resource Availability
 Support user access to remote resources (printers,
data files, web pages, CPU cycles) and the fair
sharing of the resources
 Economics of sharing expensive resources
 Performance enhancement  due to multiple
processors; also due to ease of collaboration and
info exchange  access to remote services
 Groupware: tools to support collaboration
 Resource sharing introduces security problems.
Goal 2  Distribution Transparency
 Software hides some of the details of the
distribution of system resources.
 Makes the system more user friendly.
 A distributed system that appears to its users &
applications to be a single computer system is said
to be transparent.
 Users & apps should be able to access remote
resources in the same way they access local
resources.
 Transparency has several dimensions.
Types of Transparency
Transparency Description
Access Hide differences in data representation &
resource access (enables interoperability)
Location Hide location of resource (can use resource
without knowing its location)
Migration Hide possibility that a system may change
location of resource (no effect on access)
Replication Hide the possibility that multiple copies of the
resource exist (for reliability and/or
availability)
Concurrency Hide the possibility that the resource may be
shared concurrently
Failure Hide failure and recovery of the resource.
How does one differentiate betw. slow and
failed?
Relocation Hide that resource may be moved during use
Figure 1-2. Different forms of transparency in a distributed system
(ISO, 1995)
Goal 2: Degrees of Transparency
 Trade-off: transparency versus other factors
 Reduced performance: multiple attempts to
contact a remote server can slow down the
system  should you report failure and let user
cancel request?
 Convenience: direct the print request to my
local printer, not one on the next floor
 Too much emphasis on transparency may prevent
the user from understanding system behavior.
Goal 3 - Openness
 An open distributed system offers services according to
standard rules that describe the syntax and semantics of those
services. In other words, the interfaces to the system are
clearly specified and freely available.
 Compare to network protocols
 Not proprietary
 Interface Definition/Description Languages (IDL): used to
describe the interfaces between software components, usually
in a distributed system
 Definitions are language & machine independent
 Support communication between systems using different
OS/programming languages; e.g. a C++ program running on Windows
communicates with a Java program running on UNIX
 Communication is usually RPC-based.
Examples of IDLs
Goal 3-Openness
 IDL: Interface Description Language
 The original
 WSDL: Web Services Description Language
 Provides machine-readable descriptions of the
services
 OMG IDL: used for RPC in CORBA
 OMG  Object Management Group
 Interoperability: the ability of two different
systems or applications to work together
 A process that needs a service should be able to
talk to any process that provides the service.
 Multiple implementations of the same service
may be provided, as long as the interface is
maintained
 Portability: an application designed to run
on one distributed system can run on another
system which implements the same interface.
 Extensibility: Easy to add new components,
features
Open Systems Support
Goal 4 - Scalability
 Dimensions that may scale:
 With respect to size
 With respect to geographical distribution
 With respect to the number of administrative
organizations spanned
 A scalable system still performs well as it
scales up along any of the three dimensions.
Size Scalability
 Scalability is negatively affected when the system is
based on
 Centralized server: one for all users
 Centralized data: a single data base for all users
 Centralized algorithms: one site collects all information,
processes it, distributes the results to all sites.
 Complete knowledge: good
 Time and network traffic: bad
Decentralized Algorithms
 No machine has complete information
about the system state
 Machines make decisions based only on
local information
 Failure of a single machine doesnt ruin the
algorithm
 There is no assumption that a global clock
exists.
Geographic Scalability
 Early distributed systems ran on LANs, relied on
synchronous communication.
 May be too slow for wide-area networks
 Wide-area communication is unreliable, point-to-point;
 Unpredictable time delays may even affect correctness
 LAN communication is based on broadcast.
 Consider how this affects an attempt to locate a
particular kind of service
 Centralized components + wide-area
communication: waste of network bandwidth
Scalability - Administrative
 Different domains may have different
policies about resource usage, management,
security, etc.
 Trust often stops at administrative
boundaries
 Requires protection from malicious attacks
Scaling Techniques
 Scalability affects performance more than
anything else.
 Three techniques to improve scalability:
 Hiding communication latencies
 Distribution
 Replication
Hiding Communication Delays
 Structure applications to use asynchronous
communication (no blocking for replies)
 While waiting for one answer, do something else; e.g.,
create one thread to wait for the reply and let other
threads continue to process or schedule another task
 Download part of the computation to the
requesting platform to speed up processing
 Filling in forms to access a DB: send a separate
message for each field, or download form/code and
submit finished version.
 i.e., shorten the wait times
Scaling Techniques
Figure 1-4. The difference between letting (a) a server
or (b) a client check forms as they are being filled.
Distribution
 Instead of one centralized service, divide
into parts and distribute geographically
 Each part handles one aspect of the job
 Example: DNS namespace is organized as a
tree of domains; each domain is divided into
zones; names in each zone are handled by a
different name server
 WWW consists of many (millions?) of servers
Scaling Techniques (2)
Figure 1-5. An example of dividing the DNS
name space into zones.
Third Scaling Technique -
Replication
 Replication: multiple identical copies of
something
 Replicated objects may also be distributed, but
arent necessarily.
 Replication
 Increases availability
 Improves performance through load balancing
 May avoid latency by improving proximity of
resource
Caching
 Caching is a form of replication
 Normally creates a (temporary) replica of
something closer to the user
 Replication is often more permanent
 User (client system) decides to cache,
server system decides to replicate
 Both lead to consistency problems
Summary
Goals for Distribution
 Resource accessibility
 For sharing and enhanced performance
 Distribution transparency
 For easier use
 Openness
 To support interoperability, portability, extensibility
 Scalability
 With respect to size (number of users), geographic
distribution, administrative domains
Issues/Pitfalls of Distribution
 Requirement for advanced software to realize the
potential benefits.
 Security and privacy concerns regarding network
communication
 Replication of data and services provides fault
tolerance and availability, but at a cost.
 Network reliability, security, heterogeneity,
topology
 Latency and bandwidth
 Administrative domains
Distributed Systems
 Early distributed systems emphasized the
single system image  often tried to make a
networked set of computers look like an
ordinary general purpose computer
 Examples: Amoeba, Sprite, NOW, Condor
(distributed batch system),
Distributed systems run distributed
applications, from file sharing to large scale
projects like SETI@Home
http://setiathome.ssl.berkeley.edu/
Questions?
Additional 際際滷s
 Middleware: CORBA, ONC RPC, SOAP
CORBA
 CORBA is the acronym for Common Object
Request Broker Architecture, OMG's open,
vendor-independent architecture and infrastructure
that computer applications use to work together
over networks. Using the standard protocol IIOP,
a CORBA-based program from any vendor, on
almost any computer, operating system,
programming language, and network, can
interoperate with a CORBA-based program from
the same or another vendor, on almost any other
computer, operating system, programming
language, and network.
http://www.omg.org/gettingstarted/corbafaq.htm
ONC RPC
 ONC RPC, short for Open Network
Computing Remote Procedure Call, is a
widely deployed remote procedure call
system. ONC was originally developed by
Sun Microsystems as part of their Network
File System project, and is sometimes
referred to as Sun ONC or Sun RPC.
http://en.wikipedia.org/wiki/Open_Network_Computing_Remote_Procedure_Call
Simple Object Access Protocol
 SOAP is a lightweight protocol for exchange of
information in a decentralized, distributed environment. It
is an XML based protocol that consists of three parts: an
envelope that defines a framework for describing what is
in a message and how to process it, a set of encoding rules
for expressing instances of application-defined datatypes,
and a convention for representing remote procedure calls
and responses. SOAP can potentially be used in
combination with a variety of other protocols; however,
the only bindings defined in this document describe how to
use SOAP in combination with HTTP and HTTP
Extension Framework.
 http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

More Related Content

Similar to Lecture 2 - Definition and Goals of a Distributed System.ppt (20)

Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
JiyaMalik33
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
salutiontechnology
Lect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxLect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptx
PardonSamson
Disadvantages Distributed System.pptx
Disadvantages   Distributed  System.pptxDisadvantages   Distributed  System.pptx
Disadvantages Distributed System.pptx
vlakshmirajendran1
Design Issues of Distributed System (1).pptx
Design Issues of Distributed System  (1).pptxDesign Issues of Distributed System  (1).pptx
Design Issues of Distributed System (1).pptx
vlakshmirajendran1
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
harpreetkaur1129
Intro
IntroIntro
Intro
sukhvinder39
istributed system
istributed systemistributed system
istributed system
abdillahkarine
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.ppt
MrVMNair
Distributed Computing
Distributed Computing Distributed Computing
Distributed Computing
Megha yadav
Distributed system
Distributed systemDistributed system
Distributed system
爐爐爛爐爐逗い爐 爐む爐萎た爐爐鉦爛
20IT703_PDS_PPT_Unit_I.ppt
20IT703_PDS_PPT_Unit_I.ppt20IT703_PDS_PPT_Unit_I.ppt
20IT703_PDS_PPT_Unit_I.ppt
suganthi66742
Chapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsChapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systems
Francelyno Murela
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
Tamrat Amare
2-distri-intro nos mos.ppt Distributed systems Introduction
2-distri-intro nos mos.ppt Distributed systems Introduction2-distri-intro nos mos.ppt Distributed systems Introduction
2-distri-intro nos mos.ppt Distributed systems Introduction
piyushingole7
Apos week 1 4
Apos week 1   4Apos week 1   4
Apos week 1 4
alixafar
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
balewayalew
Intro to Distributed Systems (By Lasmon Kapota).pptx
Intro to Distributed Systems (By Lasmon Kapota).pptxIntro to Distributed Systems (By Lasmon Kapota).pptx
Intro to Distributed Systems (By Lasmon Kapota).pptx
lasmonkapota201
UNIT-1 Introduction to Distributed SystemPPT.ppt
UNIT-1 Introduction to Distributed SystemPPT.pptUNIT-1 Introduction to Distributed SystemPPT.ppt
UNIT-1 Introduction to Distributed SystemPPT.ppt
cnpnraja
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
HashirAhmad19
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
JiyaMalik33
Lect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxLect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptx
PardonSamson
Disadvantages Distributed System.pptx
Disadvantages   Distributed  System.pptxDisadvantages   Distributed  System.pptx
Disadvantages Distributed System.pptx
vlakshmirajendran1
Design Issues of Distributed System (1).pptx
Design Issues of Distributed System  (1).pptxDesign Issues of Distributed System  (1).pptx
Design Issues of Distributed System (1).pptx
vlakshmirajendran1
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
harpreetkaur1129
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.ppt
MrVMNair
Distributed Computing
Distributed Computing Distributed Computing
Distributed Computing
Megha yadav
20IT703_PDS_PPT_Unit_I.ppt
20IT703_PDS_PPT_Unit_I.ppt20IT703_PDS_PPT_Unit_I.ppt
20IT703_PDS_PPT_Unit_I.ppt
suganthi66742
Chapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsChapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systems
Francelyno Murela
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
Tamrat Amare
2-distri-intro nos mos.ppt Distributed systems Introduction
2-distri-intro nos mos.ppt Distributed systems Introduction2-distri-intro nos mos.ppt Distributed systems Introduction
2-distri-intro nos mos.ppt Distributed systems Introduction
piyushingole7
Apos week 1 4
Apos week 1   4Apos week 1   4
Apos week 1 4
alixafar
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
balewayalew
Intro to Distributed Systems (By Lasmon Kapota).pptx
Intro to Distributed Systems (By Lasmon Kapota).pptxIntro to Distributed Systems (By Lasmon Kapota).pptx
Intro to Distributed Systems (By Lasmon Kapota).pptx
lasmonkapota201
UNIT-1 Introduction to Distributed SystemPPT.ppt
UNIT-1 Introduction to Distributed SystemPPT.pptUNIT-1 Introduction to Distributed SystemPPT.ppt
UNIT-1 Introduction to Distributed SystemPPT.ppt
cnpnraja
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
HashirAhmad19

Recently uploaded (20)

15 Premium WordPress Plugins You Need to Know About
15 Premium WordPress Plugins You Need to Know About15 Premium WordPress Plugins You Need to Know About
15 Premium WordPress Plugins You Need to Know About
abu noim md toha
Dell EMC Club SE Unity estrategia y negocio
Dell EMC Club SE Unity estrategia y negocioDell EMC Club SE Unity estrategia y negocio
Dell EMC Club SE Unity estrategia y negocio
Fernando564134
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh ThakurComplete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Hackopedia Utkarsh Thakur
Chapter-2-NSA_Network System Administration.pdf
Chapter-2-NSA_Network System Administration.pdfChapter-2-NSA_Network System Administration.pdf
Chapter-2-NSA_Network System Administration.pdf
AssefaSen
Mobile App Security Essential Tips to Protect Your App in 2025.pdf
Mobile App Security Essential Tips to Protect Your App in 2025.pdfMobile App Security Essential Tips to Protect Your App in 2025.pdf
Mobile App Security Essential Tips to Protect Your App in 2025.pdf
WebConnect Pvt Ltd
Some DNSSEC Measurements, presented at ICANN 82
Some DNSSEC Measurements, presented at ICANN 82Some DNSSEC Measurements, presented at ICANN 82
Some DNSSEC Measurements, presented at ICANN 82
APNIC
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdfThe-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
makelinkak002
01 Dell EMC Heroes Novedades de DPS_Estrategia.pdf
01 Dell EMC Heroes Novedades de DPS_Estrategia.pdf01 Dell EMC Heroes Novedades de DPS_Estrategia.pdf
01 Dell EMC Heroes Novedades de DPS_Estrategia.pdf
Fernando564134
PresentWEFWEFWERWERWERWERREWREWation.pptx
PresentWEFWEFWERWERWERWERREWREWation.pptxPresentWEFWEFWERWERWERWERREWREWation.pptx
PresentWEFWEFWERWERWERWERREWREWation.pptx
toxicsuprit
Cybersecurity Compliance Consulting | Ensure Regulatory Readiness
Cybersecurity Compliance Consulting | Ensure Regulatory ReadinessCybersecurity Compliance Consulting | Ensure Regulatory Readiness
Cybersecurity Compliance Consulting | Ensure Regulatory Readiness
privaxic
Incident Command for IT Professionals and Their Teams
Incident Command for IT Professionals and Their TeamsIncident Command for IT Professionals and Their Teams
Incident Command for IT Professionals and Their Teams
mentattechnologyente
The Best Streaming Services for Documentaries and Educational Content.pdf
The Best Streaming Services for Documentaries and Educational Content.pdfThe Best Streaming Services for Documentaries and Educational Content.pdf
The Best Streaming Services for Documentaries and Educational Content.pdf
Internet Bundle Now
Expert Odoo Support Services .pdf
Expert Odoo Support Services         .pdfExpert Odoo Support Services         .pdf
Expert Odoo Support Services .pdf
dela33martin33
ODOO Development Company 1 pdf.pdf
ODOO Development Company     1   pdf.pdfODOO Development Company     1   pdf.pdf
ODOO Development Company 1 pdf.pdf
dela33martin33
Exploring the Warhammer 40k Universe.pdf
Exploring the Warhammer 40k Universe.pdfExploring the Warhammer 40k Universe.pdf
Exploring the Warhammer 40k Universe.pdf
davidwarren322002
Mastering SEO: Understanding How Search Engines and Google Algorithms Work
Mastering SEO: Understanding How Search Engines and Google Algorithms WorkMastering SEO: Understanding How Search Engines and Google Algorithms Work
Mastering SEO: Understanding How Search Engines and Google Algorithms Work
Shashank Skills Academy
Lets make Cycling Smarter and Safer.pptx
Lets make Cycling Smarter and Safer.pptxLets make Cycling Smarter and Safer.pptx
Lets make Cycling Smarter and Safer.pptx
hapax77239
Odoo POS Development Company .pdf
Odoo POS Development Company        .pdfOdoo POS Development Company        .pdf
Odoo POS Development Company .pdf
dela33martin33
Hire Odoo Developers .pdf
Hire  Odoo Developers                .pdfHire  Odoo Developers                .pdf
Hire Odoo Developers .pdf
dela33martin33
Odoo Service Provider .pdf
Odoo Service Provider               .pdfOdoo Service Provider               .pdf
Odoo Service Provider .pdf
dela33martin33
15 Premium WordPress Plugins You Need to Know About
15 Premium WordPress Plugins You Need to Know About15 Premium WordPress Plugins You Need to Know About
15 Premium WordPress Plugins You Need to Know About
abu noim md toha
Dell EMC Club SE Unity estrategia y negocio
Dell EMC Club SE Unity estrategia y negocioDell EMC Club SE Unity estrategia y negocio
Dell EMC Club SE Unity estrategia y negocio
Fernando564134
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh ThakurComplete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Hackopedia Utkarsh Thakur
Chapter-2-NSA_Network System Administration.pdf
Chapter-2-NSA_Network System Administration.pdfChapter-2-NSA_Network System Administration.pdf
Chapter-2-NSA_Network System Administration.pdf
AssefaSen
Mobile App Security Essential Tips to Protect Your App in 2025.pdf
Mobile App Security Essential Tips to Protect Your App in 2025.pdfMobile App Security Essential Tips to Protect Your App in 2025.pdf
Mobile App Security Essential Tips to Protect Your App in 2025.pdf
WebConnect Pvt Ltd
Some DNSSEC Measurements, presented at ICANN 82
Some DNSSEC Measurements, presented at ICANN 82Some DNSSEC Measurements, presented at ICANN 82
Some DNSSEC Measurements, presented at ICANN 82
APNIC
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdfThe-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
makelinkak002
01 Dell EMC Heroes Novedades de DPS_Estrategia.pdf
01 Dell EMC Heroes Novedades de DPS_Estrategia.pdf01 Dell EMC Heroes Novedades de DPS_Estrategia.pdf
01 Dell EMC Heroes Novedades de DPS_Estrategia.pdf
Fernando564134
PresentWEFWEFWERWERWERWERREWREWation.pptx
PresentWEFWEFWERWERWERWERREWREWation.pptxPresentWEFWEFWERWERWERWERREWREWation.pptx
PresentWEFWEFWERWERWERWERREWREWation.pptx
toxicsuprit
Cybersecurity Compliance Consulting | Ensure Regulatory Readiness
Cybersecurity Compliance Consulting | Ensure Regulatory ReadinessCybersecurity Compliance Consulting | Ensure Regulatory Readiness
Cybersecurity Compliance Consulting | Ensure Regulatory Readiness
privaxic
Incident Command for IT Professionals and Their Teams
Incident Command for IT Professionals and Their TeamsIncident Command for IT Professionals and Their Teams
Incident Command for IT Professionals and Their Teams
mentattechnologyente
The Best Streaming Services for Documentaries and Educational Content.pdf
The Best Streaming Services for Documentaries and Educational Content.pdfThe Best Streaming Services for Documentaries and Educational Content.pdf
The Best Streaming Services for Documentaries and Educational Content.pdf
Internet Bundle Now
Expert Odoo Support Services .pdf
Expert Odoo Support Services         .pdfExpert Odoo Support Services         .pdf
Expert Odoo Support Services .pdf
dela33martin33
ODOO Development Company 1 pdf.pdf
ODOO Development Company     1   pdf.pdfODOO Development Company     1   pdf.pdf
ODOO Development Company 1 pdf.pdf
dela33martin33
Exploring the Warhammer 40k Universe.pdf
Exploring the Warhammer 40k Universe.pdfExploring the Warhammer 40k Universe.pdf
Exploring the Warhammer 40k Universe.pdf
davidwarren322002
Mastering SEO: Understanding How Search Engines and Google Algorithms Work
Mastering SEO: Understanding How Search Engines and Google Algorithms WorkMastering SEO: Understanding How Search Engines and Google Algorithms Work
Mastering SEO: Understanding How Search Engines and Google Algorithms Work
Shashank Skills Academy
Lets make Cycling Smarter and Safer.pptx
Lets make Cycling Smarter and Safer.pptxLets make Cycling Smarter and Safer.pptx
Lets make Cycling Smarter and Safer.pptx
hapax77239
Odoo POS Development Company .pdf
Odoo POS Development Company        .pdfOdoo POS Development Company        .pdf
Odoo POS Development Company .pdf
dela33martin33
Hire Odoo Developers .pdf
Hire  Odoo Developers                .pdfHire  Odoo Developers                .pdf
Hire Odoo Developers .pdf
dela33martin33
Odoo Service Provider .pdf
Odoo Service Provider               .pdfOdoo Service Provider               .pdf
Odoo Service Provider .pdf
dela33martin33

Lecture 2 - Definition and Goals of a Distributed System.ppt

  • 2. Outline Definition of a Distributed System Goals of a Distributed System
  • 3. What Is A Distributed System? A collection of independent computers that appears to its users as a single coherent system. Features: No shared memory message-based communication Each runs its own local OS Heterogeneity Ideal: to present a single-system image: The distributed system looks like a single computer rather than a collection of separate computers.
  • 4. Distributed System Characteristics To present a single-system image: Hide internal organization, communication details Provide uniform interface Easily expandable Adding new computers is hidden from users Continuous availability Failures in one component can be covered by other components Supported by middleware
  • 5. Definition of a Distributed System Figure 1-1. A distributed system organized as middleware. The middleware layer runs on all machines, and offers a uniform interface to the system
  • 6. Role of Middleware (MW) In some early research systems: MW tried to provide the illusion that a collection of separate machines was a single computer. E.g. NOW project: GLUNIX middleware Today: clustering software allows independent computers to work together closely MW also supports seamless access to remote services, doesnt try to look like a general-purpose OS
  • 7. Middleware Examples CORBA (Common Object Request Broker Architecture) DCOM (Distributed Component Object Management) being replaced by .net Suns ONC RPC (Remote Procedure Call) RMI (Remote Method Invocation) SOAP (Simple Object Access Protocol)
  • 8. Middleware Examples All of the previous examples support communication across a network: They provide protocols that allow a program running on one kind of computer, using one kind of operating system, to call a program running on another computer with a different operating system The communicating programs must be running the same middleware.
  • 9. Distributed System Goals Resource Accessibility Distribution Transparency Openness Scalability
  • 10. Goal 1 Resource Availability Support user access to remote resources (printers, data files, web pages, CPU cycles) and the fair sharing of the resources Economics of sharing expensive resources Performance enhancement due to multiple processors; also due to ease of collaboration and info exchange access to remote services Groupware: tools to support collaboration Resource sharing introduces security problems.
  • 11. Goal 2 Distribution Transparency Software hides some of the details of the distribution of system resources. Makes the system more user friendly. A distributed system that appears to its users & applications to be a single computer system is said to be transparent. Users & apps should be able to access remote resources in the same way they access local resources. Transparency has several dimensions.
  • 12. Types of Transparency Transparency Description Access Hide differences in data representation & resource access (enables interoperability) Location Hide location of resource (can use resource without knowing its location) Migration Hide possibility that a system may change location of resource (no effect on access) Replication Hide the possibility that multiple copies of the resource exist (for reliability and/or availability) Concurrency Hide the possibility that the resource may be shared concurrently Failure Hide failure and recovery of the resource. How does one differentiate betw. slow and failed? Relocation Hide that resource may be moved during use Figure 1-2. Different forms of transparency in a distributed system (ISO, 1995)
  • 13. Goal 2: Degrees of Transparency Trade-off: transparency versus other factors Reduced performance: multiple attempts to contact a remote server can slow down the system should you report failure and let user cancel request? Convenience: direct the print request to my local printer, not one on the next floor Too much emphasis on transparency may prevent the user from understanding system behavior.
  • 14. Goal 3 - Openness An open distributed system offers services according to standard rules that describe the syntax and semantics of those services. In other words, the interfaces to the system are clearly specified and freely available. Compare to network protocols Not proprietary Interface Definition/Description Languages (IDL): used to describe the interfaces between software components, usually in a distributed system Definitions are language & machine independent Support communication between systems using different OS/programming languages; e.g. a C++ program running on Windows communicates with a Java program running on UNIX Communication is usually RPC-based.
  • 15. Examples of IDLs Goal 3-Openness IDL: Interface Description Language The original WSDL: Web Services Description Language Provides machine-readable descriptions of the services OMG IDL: used for RPC in CORBA OMG Object Management Group
  • 16. Interoperability: the ability of two different systems or applications to work together A process that needs a service should be able to talk to any process that provides the service. Multiple implementations of the same service may be provided, as long as the interface is maintained Portability: an application designed to run on one distributed system can run on another system which implements the same interface. Extensibility: Easy to add new components, features Open Systems Support
  • 17. Goal 4 - Scalability Dimensions that may scale: With respect to size With respect to geographical distribution With respect to the number of administrative organizations spanned A scalable system still performs well as it scales up along any of the three dimensions.
  • 18. Size Scalability Scalability is negatively affected when the system is based on Centralized server: one for all users Centralized data: a single data base for all users Centralized algorithms: one site collects all information, processes it, distributes the results to all sites. Complete knowledge: good Time and network traffic: bad
  • 19. Decentralized Algorithms No machine has complete information about the system state Machines make decisions based only on local information Failure of a single machine doesnt ruin the algorithm There is no assumption that a global clock exists.
  • 20. Geographic Scalability Early distributed systems ran on LANs, relied on synchronous communication. May be too slow for wide-area networks Wide-area communication is unreliable, point-to-point; Unpredictable time delays may even affect correctness LAN communication is based on broadcast. Consider how this affects an attempt to locate a particular kind of service Centralized components + wide-area communication: waste of network bandwidth
  • 21. Scalability - Administrative Different domains may have different policies about resource usage, management, security, etc. Trust often stops at administrative boundaries Requires protection from malicious attacks
  • 22. Scaling Techniques Scalability affects performance more than anything else. Three techniques to improve scalability: Hiding communication latencies Distribution Replication
  • 23. Hiding Communication Delays Structure applications to use asynchronous communication (no blocking for replies) While waiting for one answer, do something else; e.g., create one thread to wait for the reply and let other threads continue to process or schedule another task Download part of the computation to the requesting platform to speed up processing Filling in forms to access a DB: send a separate message for each field, or download form/code and submit finished version. i.e., shorten the wait times
  • 24. Scaling Techniques Figure 1-4. The difference between letting (a) a server or (b) a client check forms as they are being filled.
  • 25. Distribution Instead of one centralized service, divide into parts and distribute geographically Each part handles one aspect of the job Example: DNS namespace is organized as a tree of domains; each domain is divided into zones; names in each zone are handled by a different name server WWW consists of many (millions?) of servers
  • 26. Scaling Techniques (2) Figure 1-5. An example of dividing the DNS name space into zones.
  • 27. Third Scaling Technique - Replication Replication: multiple identical copies of something Replicated objects may also be distributed, but arent necessarily. Replication Increases availability Improves performance through load balancing May avoid latency by improving proximity of resource
  • 28. Caching Caching is a form of replication Normally creates a (temporary) replica of something closer to the user Replication is often more permanent User (client system) decides to cache, server system decides to replicate Both lead to consistency problems
  • 29. Summary Goals for Distribution Resource accessibility For sharing and enhanced performance Distribution transparency For easier use Openness To support interoperability, portability, extensibility Scalability With respect to size (number of users), geographic distribution, administrative domains
  • 30. Issues/Pitfalls of Distribution Requirement for advanced software to realize the potential benefits. Security and privacy concerns regarding network communication Replication of data and services provides fault tolerance and availability, but at a cost. Network reliability, security, heterogeneity, topology Latency and bandwidth Administrative domains
  • 31. Distributed Systems Early distributed systems emphasized the single system image often tried to make a networked set of computers look like an ordinary general purpose computer Examples: Amoeba, Sprite, NOW, Condor (distributed batch system),
  • 32. Distributed systems run distributed applications, from file sharing to large scale projects like SETI@Home http://setiathome.ssl.berkeley.edu/
  • 34. Additional 際際滷s Middleware: CORBA, ONC RPC, SOAP
  • 35. CORBA CORBA is the acronym for Common Object Request Broker Architecture, OMG's open, vendor-independent architecture and infrastructure that computer applications use to work together over networks. Using the standard protocol IIOP, a CORBA-based program from any vendor, on almost any computer, operating system, programming language, and network, can interoperate with a CORBA-based program from the same or another vendor, on almost any other computer, operating system, programming language, and network. http://www.omg.org/gettingstarted/corbafaq.htm
  • 36. ONC RPC ONC RPC, short for Open Network Computing Remote Procedure Call, is a widely deployed remote procedure call system. ONC was originally developed by Sun Microsystems as part of their Network File System project, and is sometimes referred to as Sun ONC or Sun RPC. http://en.wikipedia.org/wiki/Open_Network_Computing_Remote_Procedure_Call
  • 37. Simple Object Access Protocol SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses. SOAP can potentially be used in combination with a variety of other protocols; however, the only bindings defined in this document describe how to use SOAP in combination with HTTP and HTTP Extension Framework. http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

Editor's Notes

  • #13: Relate to extensible OS arguments.