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