Distributed Computing Class: BIT4 Instructor: Aatif Kamal

Download Report

Transcript Distributed Computing Class: BIT4 Instructor: Aatif Kamal

Dated: 06th Sept 2006
Distributed Computing
Class: BIT 5 & 6
Instructor: Aatif Kamal
Chapter 01:
Character of Distributed Systems
1
Objectives: course
 The aims of this course is to study the fundamental
characteristics of distributed systems; their models
and architectures; the design of distributed algorithms
and applications that exploit rapidly evolving
technology
 Theory:


To study the principles of distributed systems
To grasp the basic issues of the distributed systems
 Practice:
 To design and implement basic distributed system as a
client/server and a number of other ways
Copyrights @ 2006-7, Aatif Kamal
2
Course Structure
 Characteristics of Distributed Systems (1.5 Wks)
Introduction to Distributed systems and Examples, Resource
sharing and Challenges.
 Distributed System Models. (2 Wks)
Architectural models and Fundamental models
 Networking and Internetworking (Special Classes/Self Study)
Types of network, Network principles, Internet protocols, Network
case studies: ATM
 Interprocess Communication (2 Wks)
APIs for the Internet protocols, External data representation and
marshalling, Client-server communication, Group communication
Copyrights @ 2006-7, Aatif Kamal
3
Course Structure
 Distributed Objects and Remote Invocation (2 Wks)
Communication between distributed objects, Remote procedure
call, Events and notifications, Java RMI case study.
 Security (Special Classes/Self Study)
Overview of security techniques, Cryptographic algorithms,
Digital signatures, Cryptography pragmatics, Case studies:
Needham-Schroeder, Kerberos, SSL & Millicent
 Peer to Peer Computing (2 Wks)
P2P Introduction, Napster & its lageacy, P2P middleware,
Routing Overlays, Overlay case studies: Pastry, Tpastery,
Squirrel, Oceanstore, Ivy and JAXTA
 Time and Global States (2 Wks)
Clocks, events and process states, Synchronizing physical
clocks, Logical time and logical clocks, Global states, Distributed
debugging.
Copyrights @ 2006-7, Aatif Kamal
4
BOOKS
 TEXT BOOK
 Distributed Systems: Concepts and Design
(Fourth/Third Edition)
By George Coulouris, Jean Dollimore and Tim Kindberg
Addison-Wesley, ©Pearson Education 2001
 REFERENCE BOOKS
 Distributed Systems: Principles and Paradigms, By
Andrew S. Tanenbaum and van Steen
 Distributed Operating System and Algorithms, By
Randy Chow & Theodore Johnson.
Copyrights @ 2006-7, Aatif Kamal
5
Course Grading
 Quizzes/Assignment :
 Course Project :
 OHTs
 Final Test
 Open
:
:
:
15 %
10 %
30 %
45 %
05 %
Copyrights @ 2006-7, Aatif Kamal
6
Definition of Distributed System
 A distributed system is:

Components located at networked computers
communicate and coordinate their actions by
passing messages
 A distributed system is:

Collection of independent computers that
appear to the users of the system as a single
computer [Tanenbaum]
Copyrights @ 2006-7, Aatif Kamal
7
Definition of Distributed System
Machine A
Machine B
Machine C
Distributed applications
Middleware service
Local OS
Local OS
Local OS
Network
Copyrights @ 2006-7, Aatif Kamal
8
Definition of Distributed System
 "a collection of autonomous computers linked by a
computer network with distributed system software"
 "a collection of processors interconnected by a
communication network in which each processor has
its own local memory and other peripherals and the
communication between any two processors of the
system takes place by message passing over the
communication network"
 "one in which hardware or software components
located at networked computers communicate and
coordinate their actions only by passing messages"
Copyrights @ 2006-7, Aatif Kamal
9
Definition of Distributed System
 In other words, to the user, a DS looks like a single system
a virtual uniprocessor
 The user doesn't know (or care)
 - where (on what machine) files are located
 - where a job is executed
 A Distributed System is made of several computers which
 have no shared memory
 have no shared clock
 communicate with each other via messages
 have their own operating systems

Copyrights @ 2006-7, Aatif Kamal
10
Advantages
 Why distributed systems
 Resource sharing
 Communication
 Inherent distribution
 Speed
 10000 CPU running at speed of 50 MIPS
 500000 MIPS
 Economy
 Incremental growth
 Reliability
Copyrights @ 2006-7, Aatif Kamal
11
Characteristics of DS
 Concurrency
 Distributed systems are concurrent systems
 Every software or hardware components is autonomous
 Process

Concurrent tasks
 A and B are concurrent if either A can happen before B or B
can happen before A

Synchronization and coordination by message passing
 Lack of global clock
 Coordination and time
 Independent failure
 Failures of individual processes may remain undetected
Copyrights @ 2006-7, Aatif Kamal
12
Examples of Distributed Systems
1. The internet
Heterogeneous network of computers and
applications
Implemented through Internet protocol


intranet
%
ISP
%
%
%
backbone
satellite link
desktop computer:
server:
network link:
Copyrights @ 2006-7, Aatif Kamal
13
Examples of Distributed Systems
2. Distributed multimedia
•Often use the Internet infrastructure
•Characteristics
•Heterogeneous data sources that need to be synchronized
in real time
•Video, Audio, Text
•Often: distribution services
•multicast
•Examples
•Tele teaching, Video conferencing
Copyrights @ 2006-7, Aatif Kamal
14
Examples of Distributed Systems
3. Intranet
•Locally administered network
•Usually proprietary
•Interfaces with the Internet via router
•Firewall
email server
Desktop
computers
print and other servers
Web server
Issues
File services need to share
data
Firewall impede Legitimate
access
Local area
network
email server
File server
print
other servers
the rest of
the Internet
router/firewall
Copyrights @ 2006-7, Aatif Kamal
15
Examples of Distributed Systems (1)
4. Mobile and Ubiquitous computing
•Resource Sharing while on the move
•Primary concerns:
•resource discovery
•efficient use of limited bandwidth
•security (privacy)
Internet
Host intranet
WAP
gatew ay
Wireles s LAN
Mobile
phone
Laptop
Printer
Camera
Copyrights @ 2006-7, Aatif Kamal
Home intranet
Host site
16
Resource sharing and the Web
Resource sharing pattern
•Search engine
•CSCW
•Computer-supported cooperative work
•Service
•Software that manages a collection of resources
and presents them to users and applications via
a well-defined interface
•Server
•Running program (a process that provide one or
more services)
•Remote invocation
•Client’s request to server.
Copyrights @ 2006-7, Aatif Kamal
17
Challenges
 A number of challenges arises:
• Heterogeneity
• Openness
• Security
• Scalability
• Failure handling
• Concurrency of components
• Transparency
Copyrights @ 2006-7, Aatif Kamal
18
Challenges
 Heterogeneity




networks
computer hardware
Operating systems
Programming languages
 Middleware

To over come differences in network, OS
and languages

CORBA
Copyrights @ 2006-7, Aatif Kamal
19
Challenges
 Openness
 Ensures extensibility and maintainability of the
system
 Standard interfaces & their publication
 Addition of new resources
 RFC (Request for comments) specification for
internet protocols. www. ietf.org
 Benefits of ODS
 key interfaces are published
 uniform communication mechanisms and access
to shared resources
 Construction
 Heterogeneous components
Copyrights @ 2006-7, Aatif Kamal
20
Challenges
 Security
 confidentiality
 integrity
 availability
 Example
 A doctor might request access to hospital patient
data
 In electronic commerce and banking, users send
their credit card numbers across the internet
 Current security challenges
 Denial of service attack
 Security of mobile code
Copyrights @ 2006-7, Aatif Kamal
21
Challenges
 Scalability
 Controlling the cost of the physical resources
 Does the system remain effective given the
expected growth
 Controlling the performance loss
 www.amzon.com is more than one computer
 Preventing the software resources running out
 IP addressees :32 bits to 128
 Avoiding performance bottleneck
 Decentralization of data/information
Copyrights @ 2006-7, Aatif Kamal
22
Challenges
 Computers vs. Web servers in the Internet
Date
1993, July
1995, July
1997, July
1999, July
Computers
1,776,000
6,642,000
19,540,000
56,218,000
Web servers
130
23,500
1,203,096
6,598,697
Percentage
0.008
0.4
6
12
Mid. 2002 Internet :
150 million+ computers
667 million people
2.5 billion+ web pages
Copyrights @ 2006-7, Aatif Kamal
23
Challenges
 Failure handling
 Detecting failure



Masking



Checksum can be used to detect corrupted
data
System crash (impossible)
Retransmission
Redundant storage
Tolerating failure

Exception handling (timeout when waiting for
web source)
Copyrights @ 2006-7, Aatif Kamal
24
Challenges
 Failure handling
 Recovery from failure


Redundancy




Roll back
Redundant routes in network
Replication of name tables in multiple domain
name servers
Database replication
Availability

Measure of the proportion of the time a server
is available
Copyrights @ 2006-7, Aatif Kamal
25
Challenges
 Concurrency


Consistent scheduling of threads (so that
dependencies are preserved in concurrent
transactions)
Avoidance of deadlock
 Transparency

Concealing the heterogeneous and
distributed nature of the system so that it
appears to the user like one system
Copyrights @ 2006-7, Aatif Kamal
26
Challenges :Transparency
 Access transparency: enables local and remote resources to be







accessed using identical operations.
Location transparency: enables resources to be accessed without
knowledge of their location.
Concurrency transparency: enables several processes to operate
concurrently using shared resources without interference between
them.
Replication transparency: enables multiple instances of resources to
be used to increase reliability and performance without knowledge of
the replicas by users or application programmers.
Failure transparency: enables the concealment of faults, allowing
users and application programs to complete their tasks despite the
failure of hardware or software components.
Mobility transparency: allows the movement of resources and clients
within a system without affecting the operation of users or programs.
Performance transparency: allows the system to be reconfigured to
improve performance as loads vary.
Scaling transparency: allows the system and applications to expand
in scale without change to the system structure or the application
algorithms.
Copyrights @ 2006-7, Aatif Kamal
27
Assignment
1
Linux system installation
2
From the text book answer (Reading 1.3)
1.7
1.8
1.9
3
Write a small article on history of distributed computing (2 pages max.)
Copyrights @ 2006-7, Aatif Kamal
28