distributed systems lecture 01

Upload: -

Post on 06-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Distributed Systems Lecture 01

    1/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 1iMRAN iHSAN

    Distributed Systems

    Lecture 1

    Introduction

    iMRAN iHSANLecturer

    Faculty of Engineering Science & Technology

    Hamdard Institute of Information Technology

    Hamdard University, Karachi

    Islamabad Campus, Islamabad

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 2iMRAN iHSAN

    Course Information

    Course Title : Distributed Systems

    Instructor : iMRAN iHSAN

    Course Code : CS 408

    Credit Hours : Three (3) (Three hours theory)

    Class : BSSD - VIII

    Semester : Spring 2005

    Pre-requisite : Introductory Parallel and Distributed

    Programming, Programming Methodology (OOProgramming), Data-Structures, ComputerArchitecture. Familiarity with the UNIXoperating system and knowledge of Java,C++, or C required.

    Class Times : Tuesday : 12:00 13:30

    Wednesday : 10:00 11:30

  • 8/3/2019 Distributed Systems Lecture 01

    2/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 3iMRAN iHSAN

    Text Book

    Distributed Systems:

    Principles and Paradigms

    By : Andrew S. Tanenbaum

    Maarten van Steen

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 4iMRAN iHSAN

    Reference Book

    Distributed Systems:Concepts and Design (3rd Ed)

    By : George CoulourisJean DollimoreTim Kindberg

  • 8/3/2019 Distributed Systems Lecture 01

    3/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 5iMRAN iHSAN

    Introduction

    This course will introduce students to fundamentals parallel anddistributed programming. The course will cover the current paralleland distributed architecture, basic issues in parallel/distributedapplication development, parallel/distributed algorithms, data-

    structures and programming methodologies, and currenttechnologies. The course will be a hands-on course withprogramming assignments and a final project

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 6iMRAN iHSAN

    Objective

    This course will focus on the current practices in parallel anddistributed computing technologies including systems, architectures,programming models, languages and software tools. The first partof the course will consist of lectures covering key issues inparallel/distributed computing. The second part of the course willcover current research in Distributed computing, and will consist ofstudent presentations. The course will require students to researchand present a topic and complete a final project.

  • 8/3/2019 Distributed Systems Lecture 01

    4/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 7iMRAN iHSAN

    Assignment / Programs

    Attendance is mandatory. Every class is important. Assignments aredue at the beginning of the every week class. Under normalcircumstances, late work will not be accepted. Students are requiredto take all quizzes. No make-up quiz will be given under normal

    circumstances. Programs are submitted at the beginning of the classperiod on the due date. Programs in assignments are normally dueon every week first class. No programs will be accepted after thenext first lab every week.

    Students are expected to do their own programs. Students copyinganother person's work or allowing their work to be copied canexpect one of the following actions to be taken by the instructor.

    Both students will receive negative points equal to the assignment

    Both students will have their final grade lowered by one letter grade

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 8iMRAN iHSAN

    Attendance

    80% attendance is mandatory.

    Late comer will be marked as absent.

  • 8/3/2019 Distributed Systems Lecture 01

    5/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 9iMRAN iHSAN

    Evaluation Criteria

    Assignments/projects 05 + 10

    Quizzes 05

    Mid-Term 40 (Best Two will be selected)

    Final 40

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 10iMRAN iHSAN

    Lecture Plan

    MIDTERM ILecture 10

    Java RMIRMI TutorialLecture 9Week 5

    Parameter Passing, DCE Remote Objects, Java RMILecture 8

    Distributed Objects, Binding a Client to an Object, Staticversus Dynamic Remote Method Invocations

    Remote ObjectInvocation

    Lecture 7Week 4

    NetbulaRPC, RPCGenRPC TutorialLecture 6

    Basic RPC Operation, Parameter Passing, Extended RPCModels, DCE RPC

    RemoteProcedure

    Call

    Lecture 5Week 3

    Lower-Level Protocols, Transport Protocols, Higher-LevelProtocols

    LayeredProtocols

    Lecture 4

    Clients and Servers, Application Layering, Client-ServerArchitectures

    Client-ServerModel

    Lecture 3Week 2

    Multiprocessors, Distributed Operating Systems, NetworkOperating Systems, Middleware

    Lecture 2

    Connecting Users and Resources, Transparency, Openness,Scalability

    IntroductionLecture 1Week 1

  • 8/3/2019 Distributed Systems Lecture 01

    6/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 11iMRAN iHSAN

    Lecture Plan

    MIDTERM IILecture 18

    Migration in Heterogeneous Systems, D'AgentsLecture 17Week 9

    Approaches to Code Migration, Migration and LocalResources

    Code MigrationLecture 16

    General Design Issues, Object ServersServersLecture 15Week 8

    User Interfaces, Client-Side Software for DistributionTransparency

    ClientsLecture 14

    Introduction to Threads, Threads in Distributed SystemsThreadsLecture 13Week 7

    Message-Oriented Persistent Communication, IBMMQSeries

    Lecture 12

    Persistence and Synchronicity in Communication,Message-Oriented Transient Communication

    Message- OrientedCommunication

    Lecture 11Week 6

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 12iMRAN iHSAN

    Lecture Plan

    MIDTERM IIILecture 26

    Reference Listing, Identifying Unreachable EntitiesLecture 25Week 13

    The Problem of Unreferenced Objects, Reference Counting,RemovingUnreferencedEntities

    Lecture 24

    Home-Based Approaches, Hierarchical ApproachesLecture 23Week 12

    Naming versus Locating Entities, Simple SolutionsLocating MobileEntities

    Lecture 22

    The Implementation of a Name Space, The Domain NameSystem, X.500 206

    Lecture 21Week 11

    Names, Identifiers, and Addresses, Name ResolutionNaming EntitiesLecture 20

    Software Agents in Distributed Systems, Agent TechnologySoftware AgentsLecture 19Week 10

  • 8/3/2019 Distributed Systems Lecture 01

    7/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 13iMRAN iHSAN

    Lecture Plan

    PRESENTATIONSLecture 32

    The Transaction Model, Classification of Transactions,Concurrency Control

    DistributedTransactions

    Lecture 31Week 16

    Centralized Algorithm, A Distributed Algorithm, AToken Ring Algorithm, Comparison of the ThreeAlgorithms

    Mutual ExclusionLecture 30

    The Bully Algorithm, A Ring AlgorithmElection AlgorithmsLecture 29Week 15

    Lamport timestamps, Vector timestampsLogical ClocksLecture 28

    Physical Clocks, Clock Synchronization Algorithms,Use of Synchronized Clocks

    ClockSynchronization

    Lecture 27Week 14

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 14iMRAN iHSAN

    Revolution in Computer Systems

    Until about 1985, large and expensive computers

    Very few computers in an organization

    Lack of networks

    Two main advances in technology

    Powerful low cost microprocessors

    High-speed computer networks

    Now its possible to put together computing systems

    Large numbers of computers

    Connected through high-speed networks

    Called distributed systems

  • 8/3/2019 Distributed Systems Lecture 01

    8/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 15iMRAN iHSAN

    Definition of a Distributed System

    A collection of independent computers that appears to its users as asingle coherent system.

    Independent computers

    Autonomous systems Hardware issue

    Single coherent system

    Distribution of system hidden from user

    Apparently one system for user.

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 16iMRAN iHSAN

    Important Characteristics of DS

    Hidden distributed aspect of the system

    User Interaction: Consistent and Uniform

    Easy to expand or scale

    Continuously Available

    To support heterogeneous computers and networks while offering

    a single system view, distributed systems are often organized by

    means of a layer of software that is logically placed between a

    higher level layer and lower level physical layer

  • 8/3/2019 Distributed Systems Lecture 01

    9/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 17iMRAN iHSAN

    Definition of a Distributed System

    A distributed system organized as middleware.

    Note that the middleware layer extends over multiple machines.

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 18iMRAN iHSAN

    Distributed System Example 1

    A Network of workstations in a university or company department.

    Personal workstations for each user.

    A pool of processors in a room, allocated dynamically as needed.

    A single file system

    When a user types a command, the system looks for best place toexecute it( own or someone elses idle workstation or unassignedprocessors)

    If whole system looks & acts like classical single-processortimesharing system, it qualifies as a Distributed System

  • 8/3/2019 Distributed Systems Lecture 01

    10/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 19iMRAN iHSAN

    Distributed System Example 2

    Workflow Information System

    Supports automatic processing of orders.

    System is used by people of several departments (differentlocations).

    Orders are placed by means of Laptops, connected throughtelephone or cellular phones.

    Incoming orders are automatically forwarded to planningdepartments.

    New internal shipping orders to stock department and billing ordersto accounting departments.

    Users are totally unaware of how orders physically flow throughsystem. (behaves like Centralized Database)

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 20iMRAN iHSAN

    Distributed System Example 3

    World Wide Web

    It offers a simple, consistent and uniform model of distributedSystem.

    Uniform Resource Locator (URL) are used to publish a document.

    If Web appear to its users as a gigantic centralized documents

    system, it would qualify as a Distributed system.

    We have not reached this point yet.

    Users are aware of the fact that documents are on different placesand handled by different servers.

  • 8/3/2019 Distributed Systems Lecture 01

    11/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 21iMRAN iHSAN

    Goals of a Distributed System

    The four important goals of Distributed System are:

    Connectivity

    Easily connect users to resources

    Transparency It should hide the fact that resources are distributed across a

    network.

    Openness

    It should be open

    Scalability

    It should be scalable

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 22iMRAN iHSAN

    Goals of a Distributed System

    Connecting users and resources (connectivity)

    Sharing of Resources (More Economic)

    Easy access to remote resources

    Sharing in a controlled way

    A resource can be a printer, a computer, hard disk, files, web pagesand networks etc.

    Collaboration and information exchange (Easy)

    IP Phone, Video conferencing, voice chat are examples.

    Connectivity of Internet leading of Virtual Organizations

    Groupware; software for collaborative editing, teleconferencing

    E-Commerce allows us to buy and sell all kinds of good withoutactually having to go to a store

    Connectivity and sharing increases, security becomes more important

  • 8/3/2019 Distributed Systems Lecture 01

    12/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 23iMRAN iHSAN

    Goals of a Distributed System

    Transparency

    Hide the fact that processes and resources are physically distributedacross multiple computers.

    Different forms of transparency in a distributed system Access

    Location

    Migration

    Relocation

    Replication

    Concurrency

    Failure

    Persistence

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 24iMRAN iHSAN

    Goals of a Distributed System

    Hide whether a (software) resource is in memory or on diskPersistence

    Hide the failure and recovery of a resourceFailure

    Hide that a resource may be shared by several competitive usersConcurrency

    Hide that a resource is replicatedReplication

    Hide that a resource may be moved to another location while in useRelocation

    Hide that a resource may move to another locationMigration

    Hide where a resource is locatedLocation

    Hide differences in data representation and how a resource is accessedAccess

    DescriptionTransparency

  • 8/3/2019 Distributed Systems Lecture 01

    13/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 25iMRAN iHSAN

    Goals of a Distributed System

    Degree of Transparency

    Blindly hide all distributed aspects from users is not always a good idea.

    It should be considered together with other issues such as

    performance.

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 26iMRAN iHSAN

    Goals of a Distributed System

    Openness

    System offers services according to standard rules.

    Rules describe the syntax and semantics of those services.

    Services are specified through interfaces using Interface definitionLanguage (IDL).

    Interface definition specify function name, parameters, return type,exceptions etc.

    Semantics of the Interface: hard part is specifying precisely what thoseservices do?

    Interoperability and Portability Flexibility: easy to configure the system out of different components

    possibly from different developers

    Separating policy from mechanism

  • 8/3/2019 Distributed Systems Lecture 01

    14/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 27iMRAN iHSAN

    Goals of a Distributed System

    Scalability

    Three different dimensions (Neuman, 1994)

    Size (add more users & resources easily)

    Geographically scalable

    Administratively Scalable (easy to manage)

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 28iMRAN iHSAN

    Goals of a Distributed System

    If more users or resources need to be supported, we are oftenconfront with some limitations

    Scalability limitations examples.

    Doing routing based on complete informationCentralized algorithms

    A single on-line telephone bookCentralized data

    A single server for all usersCentralized services

    ExampleConcept

  • 8/3/2019 Distributed Systems Lecture 01

    15/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 29iMRAN iHSAN

    Scaling Techniques (1)

    1.4

    The difference between letting:a) server orb) a client check forms as they are being filled

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 30iMRAN iHSAN

    Scaling Techniques (2)

    1.5

    An example of dividing the DNS name space into zones.

  • 8/3/2019 Distributed Systems Lecture 01

    16/16

    DISTRIBUTED SYSTEMS: LECTURE 1 INTRODUCTION TO DISTRIBUTED SYSTEMS SPRING 2005: 31iMRAN iHSAN

    Summary

    This Lecture

    Introduction

    Definition of Distributed Systems & Examples

    Goals of Distributed System

    Connecting Users and Resources, Transparency, Openness, Scalability

    Next Lecture

    Introduction

    Multiprocessors

    Distributed Operating Systems

    Network Operating Systems

    Middleware