1 of 50

DISTRIBUTED COMPUTING

Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai

Seema Shah, Principal, Vidyalankar Institute of Technology, Mumbai University

© Oxford University Press 2011

2 of 50

Chapter-1��Basic Distributed System Concepts

Operating system

(hardware, Software, application software)

Network (Resource, Client-server)

Communication

Database Concept

Independent , networked, communicating

© Oxford University Press 2011

3 of 50

What is a distributed system?

  • Tanenbaum’s definition of a distributed system:

“A distributed system is a collection of independent computers that appear to the users of the system as a single coherent system.”

DS is a software system in which components located on networked computers and they communicate and coordinate by passing msg

Component interact with each other: for common goal

© Oxford University Press 2011

4 of 50

© Oxford University Press 2011

5 of 50

DS-Goals

  • Making resource availability
  • Distribution Transparency
  • Scalability
  • Openness- interact services from other open system
      • E.g. message (Send, Receive)

© Oxford University Press 2011

6 of 50

Principles of DS

Coordinate activities, Share Resource of system

  • Processes
  • Communication
  • Naming – scale tech DNS (.com .au .in)
  • Synchronization
  • Replication and consistency
  • Fault tolerance and security

© Oxford University Press 2011

7 of 50

Architecture for DS

  1. Single high speed processor (centralize)
  2. Decentralize (not in syllabus)
  3. Multiple processors inter connected (Distributed)

(i) tightly coupled (shared Memory)

(ii) Loosely coupled (Distributed memory arch)

Compare above three?

(point of failure, Fault tolerence/stability, scalability)

© Oxford University Press 2011

8 of 50

© Oxford University Press 2011

9 of 50

Architectures for Distributed systems

© Oxford University Press 2011

10 of 50

An example of a Distributed System

  • Nationalized Bank with multiple Branch Offices

© Oxford University Press 2011

11 of 50

Requirements of Distributed systems

  • Security and reliability.
  • Consistency of replicated data.
  • Concurrent transactions (operations which involve accounts in different banks; simultaneous access from several users, etc)
  • Fault tolerance

© Oxford University Press 2011

12 of 50

Architectures for Distributed systems

  • Tightly coupled systems (Shared memory)
    • shared memory (address space)
    • System- wide primary memory -> nr. of PE’s
    • Write carefully
    • Should have exclusive access, Parallel processing
  • Loosely coupled systems (Distributed memory )
    • Do not share memory, local memory
    • Communication - passing msg across network
    • scalability

© Oxford University Press 2011

13 of 50

Architectures for Distributed systems

© Oxford University Press 2011

14 of 50

NOS vs DOS

  • NOS: Network OS
  • Software associate

(protocol)

  • Multiplicity of nodes

  • Control-manual
  • Performance- bad
  • Remote resource

login- failure

  • DOS: Distribute OS
  • Centralize OS ,

run on multiple PE

  • User unaware of multiplicity (machines)
  • Automatically
  • Good performance
  • Actual local resource

© Oxford University Press 2011

15 of 50

Distributed Computing Models

    • Mini computer models
      • (centralize time sharing sys., multiple users, comm n/w)
      • E.g. ARPANET
  • Workstation model
  • Workstation–server model
  • Processor-pool model
  • Hybrid model

© Oxford University Press 2011

16 of 50

Workstation model

  • Consists of network of Personal computers,
  • Each one with its own hard disk and local file system
  • Interconnected over the network(high speed LAN)
  • single user sys,Idle- when not in use (user absent), waste of cpu

WS---job --> WS (efficiency, processing capability)

  • Issue: how to find idle WS?, how transfer, (idle -> busy)

© Oxford University Press 2011

17 of 50

workstation-server model

  • Consists of multiple workstations coupled with powerful servers with extra hardware to store the file systems and other software like databases
  • Not own disk, file on server, (less expensive)
  • High speed LAN, different servers
  • Server control (Fun, reliability, fault tolerant)

© Oxford University Press 2011

18 of 50

processor-pool model

  • consists of multiple processors: a pool of processors and a group of workstations
  • Run Server (pool schedule)

© Oxford University Press 2011

19 of 50

Advantages of Distributed systems

  • Inherently distributed applications
  • Information sharing among geographically distributed users
  • Resource Sharing
  • Better price performance ratio
  • Shorter response time & higher throughput
  • Higher reliability and availability against component failures
  • Extensibility and Incremental Growth
  • Better Flexibility
  • e,.g. banking, ticket reservation,
      • multi branch offices

© Oxford University Press 2011

20 of 50

Disadvantages of Distributed systems

  • Relevant software does not exist currently
  • Security poses a problem due to easy access to all data
  • Networking saturation may cause a hurdle in data transfer.

© Oxford University Press 2011

21 of 50

Software concepts

  • Network Operating System (NOS)
  • Distributed Operating System (DOS)
  • Multiprocessor Time Sharing System

© Oxford University Press 2011

22 of 50

Network Operating System (NOS)

  • Build using a distributed system from a network of workstations connected by high speed network.
  • Each workstation is an independent computer with its own operating system, memory and other resources like hard disks, file system and databases

© Oxford University Press 2011

23 of 50

Distributed Operating System (DOS)

  • Enables a distributed system to behave like a virtual uniprocessor even though the system operates on a collection of machines.
  • Characteristics
    • enabling Inter process communication,
    • Uniform process management mechanism,
    • Uniform and visible file system,
    • Identical kernel implementation,
    • Local control of machines
    • handling scheduling issues.

© Oxford University Press 2011

24 of 50

Multiprocessor Time Sharing System

  • Combination of tightly coupled software and tightly coupled hardware with multiple CPUs projecting a uniprocessor image.
  • Tasks are queued in shared memory and are scheduled to be executed in time shared mode on available processors.

© Oxford University Press 2011

25 of 50

Comparison of different Operating systems

Software Concepts

© Oxford University Press 2011

26 of 50

Issues in Designing Distributed systems

  • Transparency
  • Flexibility
  • Reliability
  • Performance
  • Scalability
  • Security

© Oxford University Press 2011

27 of 50

Transparency

Transparencies required for Distributed Systems

© Oxford University Press 2011

28 of 50

Replication Transparency

Locating Replicated File stored on any server

© Oxford University Press 2011

29 of 50

Flexibility

  • Monolithic kernel approach
  • Microkernel approach

  • Kernel- central control (Basic system facilities)
  • Kernel-execute supervisory mode
    • Privilege access to physical resources
    • Function of kernel
      • Memory management
      • Process management
      • Resource management

© Oxford University Press 2011

30 of 50

Monolithic kernel approach

  • uses the minimalist , modular approach with accessibility to other services as needed.

© Oxford University Press 2011

31 of 50

Microkernel approach

  • uses the kernel does it all approach with all functionalities provided by the kernel irrespective whether all machines use it or not

© Oxford University Press 2011

32 of 50

Monolithic versus Microkernel Approach

© Oxford University Press 2011

33 of 50

�Reliability�

    • Availability in case of Hardware failure

- e.g. single system- if (crash)?

- multiple proc available, become reliable

    • Data recovery in case of Data failure
    • Maintain consistency in case of replicated data

© Oxford University Press 2011

34 of 50

Performance

Metrics are:

  • Response time,
  • Throughput,
  • System utilization
  • Amount of network capacity used

© Oxford University Press 2011

35 of 50

Scalability

  • Techniques to handle scalability issues
    • hide communication latencies,
    • hide distribution
    • hide replication

© Oxford University Press 2011

36 of 50

Hide communication latencies,

© Oxford University Press 2011

37 of 50

Hide distribution

© Oxford University Press 2011

38 of 50

Security

  • confidentiality means protection against unauthorized access;
  • integrity implies protection of data against corruption
  • availability means protection against failure always accessible.

Fault tolerence

Fail-> other one take load

© Oxford University Press 2011

39 of 50

Client Server model

Client Server Interaction

© Oxford University Press 2011

40 of 50

Client Server addressing techniques

  • Machine addressing,
  • process addressing
  • Name server addressing

© Oxford University Press 2011

41 of 50

Client Server addressing techniques

© Oxford University Press 2011

42 of 50

Client Server implementation

  • Messages for client server interaction
    • Request, Reply, Acknowledge, Are you Alive, I am Alive.

© Oxford University Press 2011

43 of 50

differentiation between the client and the server

  • User interface level
  • Processing level
  • data level

© Oxford University Press 2011

44 of 50

Client Server Architecture

© Oxford University Press 2011

45 of 50

© Oxford University Press 2011

46 of 50

Case Study: World Wide Web 1.0

© Oxford University Press 2011

47 of 50

Internet scenario with web servers and web browsers

© Oxford University Press 2011

48 of 50

Case study: World Wide Web 2.0

© Oxford University Press 2011

49 of 50

Case Study: Google Servers

© Oxford University Press 2011

50 of 50

Summary

  • Multiple-interconnected computers can have either shared memory or distributed memory architectures
  • Distributed systems offer integration of distributed applications, resource sharing, more reliability, better flexibility
  • Network operating system, distributed operating system and multiprocessor timesharing system are different types of distributed systems

© Oxford University Press 2011