ECE 151: Goals, Transparency, Scalability, and Techniques in Distributed Systems, Study notes of Electrical and Electronics Engineering

The lecture notes for the first class of ece 151, which introduces the concept of distributed systems. Topics covered include the definition of distributed systems, their goals such as scalability and transparency, openness, and scalability problems. Techniques for scaling distributed systems are also discussed, including distribution, consistency, and hardware concepts.

Typology: Study notes

Pre 2010

Uploaded on 09/17/2009

koofers-user-v2k
koofers-user-v2k ๐Ÿ‡บ๐Ÿ‡ธ

9 documents

1 / 50

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ECE 151 โ€“ Lecture 1 1
ECE151 - Lecture 1
Chapter 1
Introduction
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32

Partial preview of the text

Download ECE 151: Goals, Transparency, Scalability, and Techniques in Distributed Systems and more Study notes Electrical and Electronics Engineering in PDF only on Docsity!

ECE151 - Lecture 1

Chapter 1

Introduction

Definition of a Distributed System (1)

A Distributed System is:

A collection of independent

computers that appears to its

users as a single coherent

system.

Goals of Distributed Systems

๏ƒ˜ Connecting resources and users

๏ƒ˜ Distribution transparency

๏ƒ˜ Openness

๏ƒ˜ Scalability

Transparency in a Distributed System

Different forms of transparency in a distributed system.

Hide whether a (software) resource is in memory or on disk Persistence Failure Hide the failure and recovery of a resource Hide that a resource may be shared by several competitive users Concurrency Hide that a resource may be available on several distinct computers Replication Hide that a resource may be moved to another location Relocation Hide that a resource may be moved to another location while in use Migration Location Hide where a resource is located Hide differences in data representation and how a resource is accessed Access Transparency Description

Openness of Distributed Systems

Open distributed system: Be able to interact with

services from other open systems, irrespective of the

underlying environment:

๏ƒ˜ Systems should conform to well-defined interfaces ๏ƒ˜ Systems should support portability of applications ๏ƒ˜ Systems should easily interoperate

Achieving openness: At least make the distributed system

independent from heterogeneity of the underlying

environment:

๏ƒ˜ Hardware ๏ƒ˜ Platforms ๏ƒ˜ Languages

Policies versus Mechanisms

Implementing openness: Requires support for different policies

specified by applications and users:

๏ƒ˜ What level of consistency do we require for client cached data? ๏ƒ˜ Which operations do we allow downloaded code to perform? ๏ƒ˜ Which QoS requirements do we adjust in the face of varying bandwidth? ๏ƒ˜ What level of secrecy do we require for communication?

Implementing openness: Ideally, distributed operating systems and

middleware provide only mechanisms :

๏ƒ˜ Allow (dynamic) setting of caching policies, preferably per cachable item ๏ƒ˜ Support different levels of trust for mobile code ๏ƒ˜ Provide adjustable QoS parameters per data stream ๏ƒ˜ Offer different encryption algorithms

Scale in Distributed Systems

Observation: Many developers of modern distributed system

easily use the adjective โ€œscalableโ€ without making clear why

their system actually scales.

Scalability: At least three components:

Number of users and/or processes (size scalability)

Maximum distance between nodes (geographical scalability)

Number of administrative domains (administrative scalability)

Most systems account only, to a certain extent, for size

scalability. The (non)solution: powerful servers.

Today, the challenge lies in geographical and administrative

scalability.

Techniques for Scaling

Distribution: Partition data and computations across

multiple machines:

๏ƒ˜ Move computations to clients (Java applets) ๏ƒ˜ Decentralized naming services (DNS) ๏ƒ˜ Decentralized information systems (WWW)

Replication: Make copies of data available at different

machines:

๏ƒ˜ Replicated file servers (mainly for fault tolerance) ๏ƒ˜ Replicated databases ๏ƒ˜ Mirrored Web sites ๏ƒ˜ Large-scale distributed shared memory systems

Caching: Allow client processes to access local copies:

๏ƒ˜ Web caches (browser/Web proxy) ๏ƒ˜ File caching (at server and client)

Scaling Techniques (1)

The difference between letting:

a) a server or

b) a client check forms as they are being filled

Scaling Techniques (2)

An example of dividing the DNS name space into zones.

Multiprocessors (1)

A bus-based multiprocessor.

Multiprocessors (2)

a) A crossbar switch b) An omega switching network

Networks of Computers

High degree of node heterogeneity:

๏ƒ˜ High-performance parallel systems (multiprocessors as well as multicomputers) ๏ƒ˜ High-end PCs and workstations (servers) ๏ƒ˜ Simple network computers (offer users only network access) ๏ƒ˜ Mobile computers (palmtops, laptops) ๏ƒ˜ Multimedia workstations

High degree of network heterogeneity:

๏ƒ˜ Local-area gigabit networks ๏ƒ˜ Wireless connections ๏ƒ˜ Long-haul, high-latency POTS connections ๏ƒ˜ Wide-area switched megabit connections

Observation: Ideally, a distributed system hides these differences

Software Concepts

An overview between

  • DOS (Distributed Operating Systems)
  • NOS (Network Operating Systems)
  • Middleware Provide distribution transparency Additional layer atop of NOS implementing general-purpose services Middleware Offer local services to remote clients Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) NOS Hide and manage hardware resources Tightly-coupled operating system for multi- processors and homogeneous multicomputers DOS System Description Main Goal