Upload
-
View
217
Download
0
Embed Size (px)
Citation preview
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