SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Chapter 1 - Introduction
1.1 Introduction and Definition
       before the mid-80s, computers were
         very expensive (hundred of thousands or even millions
         of dollars)
         very slow (a few thousand instructions per second)
          not connected among themselves
      after the mid-80s: two major developments
         cheap and powerful microprocessor-based computers
         appeared
         computer networks
            LANs at speeds ranging from 10 to 1000 Mbps (now
            even 10Gbps)
            WANs at speed ranging from 64 Kbps to gigabits/sec
      consequence
        feasibility of using a large network of computers to
        work for the same application; this is in contrast to the
        old centralized systems where there was a single
        computer with its peripherals                               2
Definition of a Distributed System
  a distributed system is:
  a collection of independent computers that appears to its
  users as a single coherent system - computer (Tanenbaum
  & Van Steen)

  this definition has two aspects:
  1. hardware: autonomous machines
  2. software: a single system view for the users




                                                              3
Other Definitions
A distributed system is a system designed to support the
development of applications and services which can exploit a
physical architecture consisting of multiple, autonomous
processing elements that do not share primary memory but
cooperate by sending asynchronous messages over a
communication network (Blair & Stefani)

A distributed system is one that stops you getting any work
done when a machine you have never even heard of crashes
(Leslie)




                                                               4
Why Distributed?
 Resource and Data Sharing
   printers, databases, multimedia servers, ...
 Availability, Reliability
   the loss of some instances can be hidden
 Scalability, Extensibility
   the system grows with demand (e.g., extra servers)
 Performance
   huge power (CPU, memory, ...) available
 Inherent distribution, communication
   organizational distribution, e-mail, video




                                                        5
Problems of Distribution
  Concurrency, Security
     clients must not disturb each other
  Privacy
     e.g., when building a preference profile such as using
     cookies
     unwanted communication such as spam
  Partial failure
     we often do not know where the error is (e.g., RPC)
  Location, Migration, Relocation, Replication
     clients must be able to find their servers
  Heterogeneity
     hardware, platforms, languages, management




                                                              6
Characteristics of Distributed Systems
   differences between the computers and the ways they
   communicate are hidden from users
   users and applications can interact with a distributed
   system in a consistent and uniform way regardless of
   location
   distributed systems should be easy to expand and scale
   a distributed system is normally continuously available,
   even if there may be partial failures




                                                              7
1.2 Goals of a Distributed System
      to support heterogeneous computers and networks and
      to provide a single-system view, a distributed system is
      often organized by means of a layer of software called
      middleware that extends over multiple machines




  a distributed system organized as middleware; note that the middleware
   layer extends over multiple machines, and offers each application the
                               same interface
      Ack: most diagrams in all slides are taken from the textbook
                                                                           8
a distributed system should
   easily connect users with resources (printers, computers,
   storage facilities, data, files, Web pages, ...)
     Some of the reasons
         economics: sharing resources such as printers and
         high-speed computers
         to collaborate and exchange information
         groupware: software for collaborative editing,
         teleconferencing, etc.
         e-commerce: buying and selling goods
   be transparent: hide the fact that the resources and
   processes are distributed across multiple computers
   be open
   be scalable
Transparency in a Distributed System
   a distributed system that is able to present itself to users
   and applications as if it were only a single computer
   system is said to be transparent                               9
different forms of transparency in a distributed system
Transparency        Description
Access              Hide differences in data representation
                    (endianness, file naming, ...) and how a resource
                    is accessed
Location            Hide where a resource is physically located; where
                    is http://www.prenhall.com/index.html? (naming)
Migration           Hide that a resource may move to another location
Relocation          Hide that a resource may be moved to another
                    location while in use; e.g., mobile users using their
                    wireless laptops and moving from place to place
Replication         Hide that a resource is replicated (for availability
                    and performance); all replicas have the same name
Concurrency         Hide that a resource may be shared by several
                    competitive users; a resource must be left in a
                    consistent state; through locking
Failure             Hide the failure and recovery of a resource
   But trying to achieve all distribution transparency may be
   impossible or may not be a good idea                                  10
Openness in a Distributed System
  a distributed system should be open
  we need well-defined interfaces
  interoperability
     components of different origin can communicate
  portability
     components work on different platforms
  another goal of an open distributed system is that it
  should be flexible and extensible; easy to configure the
  system out of different components; easy to add new
  components, replace existing ones; easier said than done
  an Open Distributed System is a system that offers
  services according to standard rules that describe the
  syntax and semantics of those services; e.g., protocols in
  networks
  standards - a necessity

                                                               11
in distributed systems, such services are often specified
  through interfaces often described using an Interface
  Definition Language (IDL)
      specify only syntax: the names of the functions, types
      of parameters, return values, possible exceptions, ...
      semantics given in an informal way by means of natural
      languages

Scalability in Distributed Systems
  a distributed system should be scalable; there are three
  dimensions
     size: adding more users and resources to the system
     geographically: users and resources may be far apart
     administratively: should be easy to manage even if it
     spans many administrative organizations
  but a scalable system may exhibit performance problems


                                                             12
scalability problems leading to low performance

Concept                  Example
                         Single server for all users-mostly for
Centralized services
                         security reasons
Centralized data         A single on-line telephone book
                       Doing routing based on complete
Centralized algorithms
                       information
                   examples of scalability limitations

Scaling Techniques: how to solve scaling problems
  the problem is mainly performance, and arises as a result
  of limitations in the capacity of servers and networks (for
  geographical scalability with high latency and mostly
  unreliable links)
  three possible solutions: hiding communication latencies,
  distribution, and replication
                                                                  13
a. Hide Communication Latencies
      try to avoid waiting for responses to remote service
      requests
      let the requester do other useful job
      i.e., construct requesting applications that use only
      asynchronous communication instead of synchronous
      communication; when a reply arrives the application is
      interrupted
      good for batch processing and parallel applications
      since independent tasks can be scheduled while
      another task is waiting for communication to complete
      or use multithreading for non-parallel programs
      hiding communication latencies is not in general
      applicable for interactive applications
      for interactive applications, try to reduce
      communication; move part of the job to the client to
      reduce communication; e.g. filling a form to access a
      database and checking the entries                        14
(a) a server checking the correctness of field entries
     (b) a client doing the job
e.g., checking the completeness of mandatory fields
   shipping code is now supported in Web applications using
   Java Applets and ActiveX controls (with some security
                                                           15
   issues)
b. Distribution
      means splitting a component into smaller parts and
      spreading those parts across the system
      e.g., DNS - Domain Name System (mlibsie@cs.aau.edu.et)
      divide the name space into nonoverlapping zones
      for details, see later in Chapter 5 - Naming




        an example of dividing the DNS name space into zones   16
c. Replication
     replicate components across a distributed system to
     increase availability and for load balancing, leading to
     better performance
     replication is decided by the owner of a resource
     caching (a special form of replication) also reduces
     communication latency; decided by the user
     but, caching and replication may lead to consistency
     problems (see Chapter 7 - Consistency and Replication)




                                                                17
Pitfalls when Developing Distributed Systems
    because of false assumptions made by first time
    developers (of distributed systems) which are related to
    the properties of distributed systems and do not occur in
    nondistributed applications
        The network is reliable (making it difficult to achieve
        failure transparency)
        The network is secure
        The network is homogeneous
        The topology does not change
        Latency is zero
        Bandwidth is infinite
        Transport cost is zero
        There is one administrator



                                                                  18
1.3 Types of Distributed Systems
       Three types: distributed computing systems, distributed
       information systems, and distributed pervasive/embedded
       systems
    1. Distributed Computing Systems
          Used for high-performance computing tasks
          two types: cluster computing and grid computing
          Cluster Computing
            a collection of similar workstations or PCs
            (homogeneous), closely connected by means of a
            high-speed LAN
            each node runs the same operating system
            used for parallel programming in which a single
            compute intensive program is run in parallel on
            multiple machines


                                                             19
an example of a cluster computing system
a master node runs a middleware (containing libraries for
parallel programs) and controls other compute nodes; it
   allocates tasks
   provides an interface to users
   etc.                                                   20
Grid Computing
       “Resource sharing and coordinated problem solving in
       dynamic, multi-institutional virtual organizations” (Ian
       Foster)
       high degree of heterogeneity: no assumptions are made
       concerning hardware, operating systems, networks,
       administrative domains, security policies, etc.
       Globus is a software system for Grid Computing; read
       about the Globus Alliance at http://www.globus.org/
2.   Distributed Information Systems
         problem: many networked applications with a problem of
         interoperability
         at the lowest level: wrap a number of requests into a
         single larger request and have it executed as a
         distributed transaction; all or none of the requests would
         be executed
         how to let applications communicate directly with each
         other, i.e., Enterprise Application Integration (EAI)    21
a. Transaction Processing Systems
     consider database applications
     special primitives are required to program transactions,
     supplied either by the underlying distributed system or by
     the language runtime system
     exact list of primitives depends on the type of application;
     procedure calls, ordinary statements, etc. can also be
     included
Primitive                  Description
BEGIN_TRANSACTION          Mark the start of a transaction
                           Terminate the transaction and try to
END_TRANSACTION
                           commit
                           Kill the transaction and restore the old
ABORT_TRANSACTION
                           values
                           Read data from a file, a table, or
READ
                           otherwise
                           Write data to a file, a table, or
WRITE
                           otherwise                                  22
The Transaction Model
  the model for transactions comes from the world of
  business
  a supplier and a retailer negotiate on
     price
     delivery date
     quality
     etc.
  until the deal is concluded they can continue negotiating
  or one of them can terminate
  but once they have reached an agreement they are bound
  by law to carry out their part of the deal
  transactions between processes is similar with this
  scenario



                                                              23
e.g., assume the following banking operation
   withdraw an amount x from account 1
   deposit the amount x to account 2
what happens if there is a problem after the first activity is
carried out?
group the two operations into one transaction; either both
are carried out or neither
we need a way to roll back when a transaction is not
completed




                                                             24
e.g. reserving a seat from Manchester to Lalibella through
   Heathrow and AA Bole airports

BEGIN_TRANSACTION                   BEGIN_TRANSACTION
 reserve Man → Heathrow;             reserve Man → Heathrow;
 reserve Heathrow → Bole;            reserve Heathrow → Bole;
 reserve Bole → Lalibella;           reserve Bole → Lalibella full ⇒
END_TRANSACTION                     ABORT_TRANSACTION
        (a)                                       (b)


     (a) transaction to reserve three flights commits
     (b) transaction aborts when third flight is unavailable




                                                                       25
properties of transactions, often referred to as ACID
1. Atomic: to the outside world, the transaction happens
   indivisibly; a transaction either happens completely or
   not at all; intermediate states are not seen by other
   processes
2. Consistent: the transaction does not violate system
   invariants; e.g., in an internal transfer in a bank, the
   amount of money in the bank must be the same as it
   was before the transfer (the law of conservation of
   money); this may be violated for a brief period of time,
   but not seen to other processes
3. Isolated or Serializable: concurrent transactions do not
   interfere with each other; if two or more transactions
   are running at the same time, the final result must look
   as though all transactions run sequentially in some
   order
4. Durable: once a transaction commits, the changes are
   permanent; see later in Chapter 8 - Fault Tolerance
                                                              26
Classification of Transactions
  a transaction could be flat, nested or distributed
  Flat Transaction
     consists of a series of operations that satisfy the ACID
     properties
     simple and widely used but with some limitations
        do not allow partial results to be committed or aborted
           i.e., atomicity is also partly a weakness
           in our airline reservation example, we may want to
           accept the first two reservations and find an
           alternative one for the last
        some transactions may take too much time




                                                              27
Nested Transaction
  constructed from a number of subtransactions; it is
  logically decomposed into a hierarchy of
  subtransactions; the flight reservation can be split into
  three transactions, each accessing a different database
  the top-level transaction forks off children that run in
  parallel, on different machines; to gain performance or
  for programming simplicity
  each may also execute one or more subtransactions
  permanence (durability) applies only to the top-level
  transaction; commits by children should be undone
Distributed Transaction
   a flat transaction that operates on data that are
   distributed across multiple machines
   problem: separate algorithms are needed to handle the
   locking of data and committing the entire transaction;
   see later in Chapter 8 for distributed commit
                                                              28
(a) a nested transaction
(b) a distributed transaction



                                29
b. Enterprise Application Integration
     how to integrate applications independent from their
     databases
     transaction systems rely on request/reply
     how can applications communicate with each other; by
     means of a middleware




 middleware as a communication facilitator in enterprise application
                            integration                                30
there are different communication models
        RPC (Remote procedure Call)
        RMI (Remote Method Invocation)
        MOM (Message-Oriented Middleware)
        Stream-Oriented Communication
        Multicast Communication
     see later in Chapter 4 - Communication
3. Distributed Pervasive Systems
      the distributed systems discussed so far are
      characterized by their stability; fixed nodes having high-
      quality connection to a network
      there are also mobile and embedded computing devices
      which are small, battery-powered, mobile, and with a
      wireless connection



                                                               31
three requirements for pervasive applications
   embrace contextual changes: a device is aware that
   its environment (location, identities of nearby people
   and objects, time of the day, season, temperature,
   etc.) may change all the time, e.g., by changing its
   network access point; hence its operations and
   services must be adapted to the current context
   encourage ad hoc composition: devices are used in
   different ways by different users
   recognize sharing as the default: devices join a
   system to access or provide information
examples of pervasive systems
   Home Systems that integrate consumer electronics
   Electronic Health Care Systems to monitor the well-
   being of individuals
   Sensor Networks
   read pages 26 - 30
                                                            32
[ Diversion
      Different approaches to distribution - Lost in the forest of
      distribution
        Distributed system
          N autonomous computers (sites): n administrators, n
          data/control flows
          an interconnection network
          user view: one single (virtual) system
          (traditional) programmer view: client-server
        Parallel system
          1 computer, n nodes: one administrator, one
          scheduler, one power source
          memory: it depends
          programmer view: one single machine executing
          parallel codes; various programming models
          (message passing, distributed shared memory, …)
                                                                     33
Cluster computing
  use of PCs interconnected by a (high performance)
  network as a parallel (cheap) machine
Network computing
  from LAN (cluster) computing to WAN computing
  set of machines distributed over a MAN/WAN that are
  used to execute parallel loosely coupled codes
  depending on the infrastructure, network computing
  comes in many flavours: grid computing, P2P, Internet
  computing, etc.
Grid computing
  “Resource sharing and coordinated problem solving in
  dynamic, multi-institutional virtual organizations” (Ian
  Foster)
Peer-to-peer computing
  a site is both client and server

                                                             34
application: mostly file sharing, but also others like
      Internet Telephony (Skype)
      2 approaches:
         centralized management: Napster
         distributed management: Gnutella, Kazaa
    Internet Computing
      use of (idle) computers interconnected by Internet for
      processing large throughput applications
      programmer view: a single master, n servants
    Cloud Computing
      a general term for anything that involves delivering hosted
      services over the Internet
      a model for enabling convenient, on-demand network
      access to a shared pool of configurable computing
      resources (e.g., networks, servers, storage, applications,
      and services) that can be rapidly provisioned and released
      with minimal management effort or service provider
      interaction
]                                                               35

Contenu connexe

Tendances

Intro (Distributed computing)
Intro (Distributed computing)Intro (Distributed computing)
Intro (Distributed computing)Sri Prasanna
 
Distributed System
Distributed SystemDistributed System
Distributed SystemIqra khalil
 
Chapter 16 - Distributed System Structures
Chapter 16 - Distributed System StructuresChapter 16 - Distributed System Structures
Chapter 16 - Distributed System StructuresWayne Jones Jnr
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemRKGhosh3
 
Distributed OS - An Introduction
Distributed OS - An IntroductionDistributed OS - An Introduction
Distributed OS - An IntroductionSuhit Kulkarni
 
Distributed system notes unit I
Distributed system notes unit IDistributed system notes unit I
Distributed system notes unit INANDINI SHARMA
 
Distributed systems1
Distributed systems1Distributed systems1
Distributed systems1Sumita Das
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating systemudaya khanal
 
Distributed Operating System,Network OS and Middle-ware.??
Distributed Operating System,Network OS and Middle-ware.??Distributed Operating System,Network OS and Middle-ware.??
Distributed Operating System,Network OS and Middle-ware.??Abdul Aslam
 
Basic features of distributed system
Basic features of distributed systemBasic features of distributed system
Basic features of distributed systemsatish raj
 
Design issues of dos
Design issues of dosDesign issues of dos
Design issues of dosvanamali_vanu
 
Lecture 1 (distributed systems)
Lecture 1 (distributed systems)Lecture 1 (distributed systems)
Lecture 1 (distributed systems)Fazli Amin
 
How to Develop True Distributed Simulations? HLA & DDS Interoperability
How to Develop True Distributed Simulations? HLA & DDS InteroperabilityHow to Develop True Distributed Simulations? HLA & DDS Interoperability
How to Develop True Distributed Simulations? HLA & DDS InteroperabilityJose Carlos Diaz
 
Distributed computing environment
Distributed computing environmentDistributed computing environment
Distributed computing environmentRavi Bhushan
 

Tendances (20)

Intro (Distributed computing)
Intro (Distributed computing)Intro (Distributed computing)
Intro (Distributed computing)
 
Distributed System
Distributed SystemDistributed System
Distributed System
 
Chapter 16 - Distributed System Structures
Chapter 16 - Distributed System StructuresChapter 16 - Distributed System Structures
Chapter 16 - Distributed System Structures
 
Enea Element Whitepaper
Enea Element WhitepaperEnea Element Whitepaper
Enea Element Whitepaper
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Distributed OS - An Introduction
Distributed OS - An IntroductionDistributed OS - An Introduction
Distributed OS - An Introduction
 
Distributed architecture (SAD)
Distributed architecture (SAD)Distributed architecture (SAD)
Distributed architecture (SAD)
 
Distributed system notes unit I
Distributed system notes unit IDistributed system notes unit I
Distributed system notes unit I
 
Intro ds 1
Intro ds 1Intro ds 1
Intro ds 1
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Distributed systems1
Distributed systems1Distributed systems1
Distributed systems1
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
 
Distributed Operating System,Network OS and Middle-ware.??
Distributed Operating System,Network OS and Middle-ware.??Distributed Operating System,Network OS and Middle-ware.??
Distributed Operating System,Network OS and Middle-ware.??
 
Aos distibutted system
Aos distibutted systemAos distibutted system
Aos distibutted system
 
Basic features of distributed system
Basic features of distributed systemBasic features of distributed system
Basic features of distributed system
 
Design issues of dos
Design issues of dosDesign issues of dos
Design issues of dos
 
Lecture 1 (distributed systems)
Lecture 1 (distributed systems)Lecture 1 (distributed systems)
Lecture 1 (distributed systems)
 
How to Develop True Distributed Simulations? HLA & DDS Interoperability
How to Develop True Distributed Simulations? HLA & DDS InteroperabilityHow to Develop True Distributed Simulations? HLA & DDS Interoperability
How to Develop True Distributed Simulations? HLA & DDS Interoperability
 
Distributed computing environment
Distributed computing environmentDistributed computing environment
Distributed computing environment
 
3. challenges
3. challenges3. challenges
3. challenges
 

En vedette

En vedette (8)

NARYBEK CITY MoU with Uijeonbu city
NARYBEK CITY MoU with Uijeonbu cityNARYBEK CITY MoU with Uijeonbu city
NARYBEK CITY MoU with Uijeonbu city
 
Metaksan full
Metaksan fullMetaksan full
Metaksan full
 
Congratulations andrew!
Congratulations andrew!Congratulations andrew!
Congratulations andrew!
 
media kit
media kitmedia kit
media kit
 
Sparql
SparqlSparql
Sparql
 
Hola
HolaHola
Hola
 
Brug Mindre Tid På Mails
Brug Mindre Tid På MailsBrug Mindre Tid På Mails
Brug Mindre Tid På Mails
 
Examples of my proffesional skills (in Danish)
Examples of my proffesional skills (in Danish)Examples of my proffesional skills (in Danish)
Examples of my proffesional skills (in Danish)
 

Similaire à Introduction to Distributed Systems

Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptbalewayalew
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptsirajmohammed35
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxmeharikiros2
 
CSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating SystemCSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating Systemghayour abbas
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes SAhammedShakil
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -ssuser7c150a
 
433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.pptMattChristianAustria2
 
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptMrVMNair
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemSunita Sahu
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxvinaypandey170
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdflematadese670
 
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT JaipurDistributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT JaipurDrNilam Choudhary
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptxharpreetkaur1129
 
Presentation of ditributed system
Presentation of ditributed systemPresentation of ditributed system
Presentation of ditributed systemgoogle
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptxPardonSamson
 
Distributed system
Distributed systemDistributed system
Distributed systemchirag patil
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptAschalewAyele2
 

Similaire à Introduction to Distributed Systems (20)

Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
Chapter One.ppt
Chapter One.pptChapter One.ppt
Chapter One.ppt
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
 
CSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating SystemCSI-503 - 11.Distributed Operating System
CSI-503 - 11.Distributed Operating System
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes
 
- Introduction - Distributed - System -
- Introduction - Distributed - System  -- Introduction - Distributed - System  -
- Introduction - Distributed - System -
 
433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt433672084-distributed-vs-parallel-computing-ppt.ppt
433672084-distributed-vs-parallel-computing-ppt.ppt
 
Chapter 1_NG_2020.ppt
Chapter 1_NG_2020.pptChapter 1_NG_2020.ppt
Chapter 1_NG_2020.ppt
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
DISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docxDISTRIBUTED SYSTEM.docx
DISTRIBUTED SYSTEM.docx
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdf
 
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT JaipurDistributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
Distributed System Unit 1 Notes by Dr. Nilam Choudhary, SKIT Jaipur
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
 
Presentation of ditributed system
Presentation of ditributed systemPresentation of ditributed system
Presentation of ditributed system
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
 
Distributed system
Distributed systemDistributed system
Distributed system
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
 

Dernier

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Dernier (20)

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 

Introduction to Distributed Systems

  • 1. Chapter 1 - Introduction
  • 2. 1.1 Introduction and Definition before the mid-80s, computers were very expensive (hundred of thousands or even millions of dollars) very slow (a few thousand instructions per second) not connected among themselves after the mid-80s: two major developments cheap and powerful microprocessor-based computers appeared computer networks LANs at speeds ranging from 10 to 1000 Mbps (now even 10Gbps) WANs at speed ranging from 64 Kbps to gigabits/sec consequence feasibility of using a large network of computers to work for the same application; this is in contrast to the old centralized systems where there was a single computer with its peripherals 2
  • 3. Definition of a Distributed System a distributed system is: a collection of independent computers that appears to its users as a single coherent system - computer (Tanenbaum & Van Steen) this definition has two aspects: 1. hardware: autonomous machines 2. software: a single system view for the users 3
  • 4. Other Definitions A distributed system is a system designed to support the development of applications and services which can exploit a physical architecture consisting of multiple, autonomous processing elements that do not share primary memory but cooperate by sending asynchronous messages over a communication network (Blair & Stefani) A distributed system is one that stops you getting any work done when a machine you have never even heard of crashes (Leslie) 4
  • 5. Why Distributed? Resource and Data Sharing printers, databases, multimedia servers, ... Availability, Reliability the loss of some instances can be hidden Scalability, Extensibility the system grows with demand (e.g., extra servers) Performance huge power (CPU, memory, ...) available Inherent distribution, communication organizational distribution, e-mail, video 5
  • 6. Problems of Distribution Concurrency, Security clients must not disturb each other Privacy e.g., when building a preference profile such as using cookies unwanted communication such as spam Partial failure we often do not know where the error is (e.g., RPC) Location, Migration, Relocation, Replication clients must be able to find their servers Heterogeneity hardware, platforms, languages, management 6
  • 7. Characteristics of Distributed Systems differences between the computers and the ways they communicate are hidden from users users and applications can interact with a distributed system in a consistent and uniform way regardless of location distributed systems should be easy to expand and scale a distributed system is normally continuously available, even if there may be partial failures 7
  • 8. 1.2 Goals of a Distributed System to support heterogeneous computers and networks and to provide a single-system view, a distributed system is often organized by means of a layer of software called middleware that extends over multiple machines a distributed system organized as middleware; note that the middleware layer extends over multiple machines, and offers each application the same interface Ack: most diagrams in all slides are taken from the textbook 8
  • 9. a distributed system should easily connect users with resources (printers, computers, storage facilities, data, files, Web pages, ...) Some of the reasons economics: sharing resources such as printers and high-speed computers to collaborate and exchange information groupware: software for collaborative editing, teleconferencing, etc. e-commerce: buying and selling goods be transparent: hide the fact that the resources and processes are distributed across multiple computers be open be scalable Transparency in a Distributed System a distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent 9
  • 10. different forms of transparency in a distributed system Transparency Description Access Hide differences in data representation (endianness, file naming, ...) and how a resource is accessed Location Hide where a resource is physically located; where is http://www.prenhall.com/index.html? (naming) Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use; e.g., mobile users using their wireless laptops and moving from place to place Replication Hide that a resource is replicated (for availability and performance); all replicas have the same name Concurrency Hide that a resource may be shared by several competitive users; a resource must be left in a consistent state; through locking Failure Hide the failure and recovery of a resource But trying to achieve all distribution transparency may be impossible or may not be a good idea 10
  • 11. Openness in a Distributed System a distributed system should be open we need well-defined interfaces interoperability components of different origin can communicate portability components work on different platforms another goal of an open distributed system is that it should be flexible and extensible; easy to configure the system out of different components; easy to add new components, replace existing ones; easier said than done an Open Distributed System is a system that offers services according to standard rules that describe the syntax and semantics of those services; e.g., protocols in networks standards - a necessity 11
  • 12. in distributed systems, such services are often specified through interfaces often described using an Interface Definition Language (IDL) specify only syntax: the names of the functions, types of parameters, return values, possible exceptions, ... semantics given in an informal way by means of natural languages Scalability in Distributed Systems a distributed system should be scalable; there are three dimensions size: adding more users and resources to the system geographically: users and resources may be far apart administratively: should be easy to manage even if it spans many administrative organizations but a scalable system may exhibit performance problems 12
  • 13. scalability problems leading to low performance Concept Example Single server for all users-mostly for Centralized services security reasons Centralized data A single on-line telephone book Doing routing based on complete Centralized algorithms information examples of scalability limitations Scaling Techniques: how to solve scaling problems the problem is mainly performance, and arises as a result of limitations in the capacity of servers and networks (for geographical scalability with high latency and mostly unreliable links) three possible solutions: hiding communication latencies, distribution, and replication 13
  • 14. a. Hide Communication Latencies try to avoid waiting for responses to remote service requests let the requester do other useful job i.e., construct requesting applications that use only asynchronous communication instead of synchronous communication; when a reply arrives the application is interrupted good for batch processing and parallel applications since independent tasks can be scheduled while another task is waiting for communication to complete or use multithreading for non-parallel programs hiding communication latencies is not in general applicable for interactive applications for interactive applications, try to reduce communication; move part of the job to the client to reduce communication; e.g. filling a form to access a database and checking the entries 14
  • 15. (a) a server checking the correctness of field entries (b) a client doing the job e.g., checking the completeness of mandatory fields shipping code is now supported in Web applications using Java Applets and ActiveX controls (with some security 15 issues)
  • 16. b. Distribution means splitting a component into smaller parts and spreading those parts across the system e.g., DNS - Domain Name System (mlibsie@cs.aau.edu.et) divide the name space into nonoverlapping zones for details, see later in Chapter 5 - Naming an example of dividing the DNS name space into zones 16
  • 17. c. Replication replicate components across a distributed system to increase availability and for load balancing, leading to better performance replication is decided by the owner of a resource caching (a special form of replication) also reduces communication latency; decided by the user but, caching and replication may lead to consistency problems (see Chapter 7 - Consistency and Replication) 17
  • 18. Pitfalls when Developing Distributed Systems because of false assumptions made by first time developers (of distributed systems) which are related to the properties of distributed systems and do not occur in nondistributed applications The network is reliable (making it difficult to achieve failure transparency) The network is secure The network is homogeneous The topology does not change Latency is zero Bandwidth is infinite Transport cost is zero There is one administrator 18
  • 19. 1.3 Types of Distributed Systems Three types: distributed computing systems, distributed information systems, and distributed pervasive/embedded systems 1. Distributed Computing Systems Used for high-performance computing tasks two types: cluster computing and grid computing Cluster Computing a collection of similar workstations or PCs (homogeneous), closely connected by means of a high-speed LAN each node runs the same operating system used for parallel programming in which a single compute intensive program is run in parallel on multiple machines 19
  • 20. an example of a cluster computing system a master node runs a middleware (containing libraries for parallel programs) and controls other compute nodes; it allocates tasks provides an interface to users etc. 20
  • 21. Grid Computing “Resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations” (Ian Foster) high degree of heterogeneity: no assumptions are made concerning hardware, operating systems, networks, administrative domains, security policies, etc. Globus is a software system for Grid Computing; read about the Globus Alliance at http://www.globus.org/ 2. Distributed Information Systems problem: many networked applications with a problem of interoperability at the lowest level: wrap a number of requests into a single larger request and have it executed as a distributed transaction; all or none of the requests would be executed how to let applications communicate directly with each other, i.e., Enterprise Application Integration (EAI) 21
  • 22. a. Transaction Processing Systems consider database applications special primitives are required to program transactions, supplied either by the underlying distributed system or by the language runtime system exact list of primitives depends on the type of application; procedure calls, ordinary statements, etc. can also be included Primitive Description BEGIN_TRANSACTION Mark the start of a transaction Terminate the transaction and try to END_TRANSACTION commit Kill the transaction and restore the old ABORT_TRANSACTION values Read data from a file, a table, or READ otherwise Write data to a file, a table, or WRITE otherwise 22
  • 23. The Transaction Model the model for transactions comes from the world of business a supplier and a retailer negotiate on price delivery date quality etc. until the deal is concluded they can continue negotiating or one of them can terminate but once they have reached an agreement they are bound by law to carry out their part of the deal transactions between processes is similar with this scenario 23
  • 24. e.g., assume the following banking operation withdraw an amount x from account 1 deposit the amount x to account 2 what happens if there is a problem after the first activity is carried out? group the two operations into one transaction; either both are carried out or neither we need a way to roll back when a transaction is not completed 24
  • 25. e.g. reserving a seat from Manchester to Lalibella through Heathrow and AA Bole airports BEGIN_TRANSACTION BEGIN_TRANSACTION reserve Man → Heathrow; reserve Man → Heathrow; reserve Heathrow → Bole; reserve Heathrow → Bole; reserve Bole → Lalibella; reserve Bole → Lalibella full ⇒ END_TRANSACTION ABORT_TRANSACTION (a) (b) (a) transaction to reserve three flights commits (b) transaction aborts when third flight is unavailable 25
  • 26. properties of transactions, often referred to as ACID 1. Atomic: to the outside world, the transaction happens indivisibly; a transaction either happens completely or not at all; intermediate states are not seen by other processes 2. Consistent: the transaction does not violate system invariants; e.g., in an internal transfer in a bank, the amount of money in the bank must be the same as it was before the transfer (the law of conservation of money); this may be violated for a brief period of time, but not seen to other processes 3. Isolated or Serializable: concurrent transactions do not interfere with each other; if two or more transactions are running at the same time, the final result must look as though all transactions run sequentially in some order 4. Durable: once a transaction commits, the changes are permanent; see later in Chapter 8 - Fault Tolerance 26
  • 27. Classification of Transactions a transaction could be flat, nested or distributed Flat Transaction consists of a series of operations that satisfy the ACID properties simple and widely used but with some limitations do not allow partial results to be committed or aborted i.e., atomicity is also partly a weakness in our airline reservation example, we may want to accept the first two reservations and find an alternative one for the last some transactions may take too much time 27
  • 28. Nested Transaction constructed from a number of subtransactions; it is logically decomposed into a hierarchy of subtransactions; the flight reservation can be split into three transactions, each accessing a different database the top-level transaction forks off children that run in parallel, on different machines; to gain performance or for programming simplicity each may also execute one or more subtransactions permanence (durability) applies only to the top-level transaction; commits by children should be undone Distributed Transaction a flat transaction that operates on data that are distributed across multiple machines problem: separate algorithms are needed to handle the locking of data and committing the entire transaction; see later in Chapter 8 for distributed commit 28
  • 29. (a) a nested transaction (b) a distributed transaction 29
  • 30. b. Enterprise Application Integration how to integrate applications independent from their databases transaction systems rely on request/reply how can applications communicate with each other; by means of a middleware middleware as a communication facilitator in enterprise application integration 30
  • 31. there are different communication models RPC (Remote procedure Call) RMI (Remote Method Invocation) MOM (Message-Oriented Middleware) Stream-Oriented Communication Multicast Communication see later in Chapter 4 - Communication 3. Distributed Pervasive Systems the distributed systems discussed so far are characterized by their stability; fixed nodes having high- quality connection to a network there are also mobile and embedded computing devices which are small, battery-powered, mobile, and with a wireless connection 31
  • 32. three requirements for pervasive applications embrace contextual changes: a device is aware that its environment (location, identities of nearby people and objects, time of the day, season, temperature, etc.) may change all the time, e.g., by changing its network access point; hence its operations and services must be adapted to the current context encourage ad hoc composition: devices are used in different ways by different users recognize sharing as the default: devices join a system to access or provide information examples of pervasive systems Home Systems that integrate consumer electronics Electronic Health Care Systems to monitor the well- being of individuals Sensor Networks read pages 26 - 30 32
  • 33. [ Diversion Different approaches to distribution - Lost in the forest of distribution Distributed system N autonomous computers (sites): n administrators, n data/control flows an interconnection network user view: one single (virtual) system (traditional) programmer view: client-server Parallel system 1 computer, n nodes: one administrator, one scheduler, one power source memory: it depends programmer view: one single machine executing parallel codes; various programming models (message passing, distributed shared memory, …) 33
  • 34. Cluster computing use of PCs interconnected by a (high performance) network as a parallel (cheap) machine Network computing from LAN (cluster) computing to WAN computing set of machines distributed over a MAN/WAN that are used to execute parallel loosely coupled codes depending on the infrastructure, network computing comes in many flavours: grid computing, P2P, Internet computing, etc. Grid computing “Resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations” (Ian Foster) Peer-to-peer computing a site is both client and server 34
  • 35. application: mostly file sharing, but also others like Internet Telephony (Skype) 2 approaches: centralized management: Napster distributed management: Gnutella, Kazaa Internet Computing use of (idle) computers interconnected by Internet for processing large throughput applications programmer view: a single master, n servants Cloud Computing a general term for anything that involves delivering hosted services over the Internet a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction ] 35