Distributed Computing Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Distributed Computing Systems

Description:

Distributed Computing Systems CSCI 6900/4900 Review Definition & characteristics of distributed systems Distributed system organization Design goals Resource ... – PowerPoint PPT presentation

Number of Views:100
Avg rating:3.0/5.0
Slides: 18
Provided by: SteveA187
Learn more at: http://cobweb.cs.uga.edu
Category:

less

Transcript and Presenter's Notes

Title: Distributed Computing Systems


1
Distributed Computing Systems
  • CSCI 6900/4900

2
Review
  • Definition characteristics of distributed
    systems
  • Distributed system organization
  • Design goals
  • Resource availability to users
  • Transparency
  • Openness
  • Scalability
  • Security and privacy

3
Scalability Techniques
  • Hiding communication latencies
  • Asynchronous communication
  • Reduce amount of data transmitted
  • Distribution
  • Spreading work across system
  • Caching and replication
  • Make copies of data and services
  • Balance load
  • Avoid hot spots

4
Scaling Techniques
1.4
  • The difference between letting
  • a server or
  • a client check forms as they are being filled

5
Scaling Techniques (2)
1.5
An example of dividing the DNS name space into
zones.
6
Hardware Classification
  • Based on address space
  • Multiprocessor
  • Multicomputer
  • Based on communication infrastructure
  • Bus
  • Switched
  • Based on uniformity
  • Homogenous
  • Heterogeneous

7
Hardware Concepts
1.6
Different basic organizations and memories in
distributed computer systems
8
Multiprocessors (1)
  • Key Property All CPUs have direct access to
    shared memory
  • Coherent memory Reads and writes are sequential

1.7
  • A bus-based multiprocessor.
  • Scalability
  • Ensuring coherency

9
Multiprocessors (2)
  • Crossbar switch

Omega switching network
10
Homogeneous Multicomputer Systems
  • Also known as System Area Networks (SANs)
  • Bus-based (Shared multi-access N/W such as
    Ethernet)
  • Switch-based (Massively Parallel Processors,
    Cluster of Workstations)

Grid
  • Hypercube

11
Heterogeneous Multicomputer Systems
  • Most widely used
  • Individual computers can vary widely
  • Some node might be multiprocessor machines or
    homogenous multicomputer machines
  • Hierarchical systems (multicomputer systems on
    top of existing multicomputer systems).
  • Nodes lack global view
  • Cannot assume identical or even similar
    performance
  • Providing transparency, performance scalability
    are key challenges.

12
Software Concepts
  • Functionalities
  • Resource managers
  • Hiding intricacies and heterogeneity
  • Two kinds of operating systems
  • Tightly coupled (distributed operating system)
  • Loosely coupled (network operating system)
  • Middleware
  • Providing transparency for loosely coupled systems

13
OS for Distributed Systems
System Description Main Goal
DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware resources
NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients
Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency
14
Uniprocessor Operating Systems
  • Virtualize physical devices (manages devices,
    protects users)
  • Two modes (User, Kernel)
  • Two kinds (Monolithic, microkernel)

1.11
  • Separating applications from operating system
    code through
  • a microkernel.

15
Multiprocessor Operating Systems
  • Similar in many aspects to uni-processor systems
  • Main extension is how shared memory access is
    handled
  • Guard against simultaneous access to provide
    consistency
  • Two primitives
  • Semaphores
  • Two atomic primitives (UP and DOWN)
  • Monitors

16
Monitors
  • Borrowed from programming languages
  • Has data and procedures
  • One process can execute at any point of time

monitor Counter private int count
0 public int value() return count void
incr () count count 1 void decr()
count count 1
17
Monitors (2)
  • Monitors can be used to conditionally block
    processes
  • Producers/consumers scenario

monitor Counter private int count 0 int
blocked_procs 0 condition unblocked public
int value () return count void incr ()
if (blocked_procs 0) count
count 1 else signal
(unblocked)
void decr() if (count 0) blocked_procs
blocked_procs 1 wait (unblocked)
blocked_procs blocked_procs 1 else
count count 1
Write a Comment
User Comments (0)
About PowerShow.com