Post on 11-Jan-2016
transcript
1
Distributed ComputingClass: BIT 5 & 6 Instructor: Aatif Kamal
Chapter 01: Character of Distributed
Systems
Dated: 06th Sept 2006
Copyrights @ 2006-7, Aatif Kamal 2
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 3
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 4
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 5
BOOKS
TEXT BOOK Distributed Systems: Concepts and Design
(Fourth/Third Edition) By George Coulouris, Jean Dollimore and Tim KindbergAddison-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 6
Course Grading
Quizzes/Assignment : 15 % Course Project : 10 % OHTs : 30 % Final Test : 45 % Open : 05 %
Copyrights @ 2006-7, Aatif Kamal 7
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 8
Definition of Distributed System
Machine B
Local OS
Machine A
Local OS
Machine C
Local OS
Network
Distributed applications
Middleware service
Copyrights @ 2006-7, Aatif Kamal 9
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 10
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 11
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 12
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 13
Examples of Distributed Systems1. The internet
Heterogeneous network of computers and applications
Implemented through Internet protocol
intranet
ISP
desktop computer:
backbone
satellite link
server:
network link:
Copyrights @ 2006-7, Aatif Kamal 14
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 15
Examples of Distributed Systems3. Intranet
•Locally administered network
•Usually proprietary
•Interfaces with the Internet via router
•Firewall
the rest of
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local areanetwork
email server
the Internet
IssuesFile services need to share dataFirewall impede Legitimate access
Copyrights @ 2006-7, Aatif Kamal 16
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)
Laptop
Mobile
PrinterCamera
Internet
Host intranet Home intranetWAP
Wireless LAN
phone
gateway
Host site
Copyrights @ 2006-7, Aatif Kamal 17
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 18
Challenges
A number of challenges arises:
• Heterogeneity
• Openness
• Security
• Scalability
• Failure handling
• Concurrency of components
• Transparency
Copyrights @ 2006-7, Aatif Kamal 19
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 20
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 21
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 22
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 23
Challenges Computers vs. Web servers in the Internet
Date Computers Web servers Percentage
1993, July 1,776,000 130 0.008
1995, July 6,642,000 23,500 0.41997, July 19,540,000 1,203,096 61999, July 56,218,000 6,598,697 12
Mid. 2002 Internet :
150 million+ computers
667 million people
2.5 billion+ web pages
Copyrights @ 2006-7, Aatif Kamal 24
Challenges
Failure handling Detecting failure
Checksum can be used to detect corrupted data
System crash (impossible) Masking
Retransmission Redundant storage
Tolerating failure Exception handling (timeout when waiting for
web source)
Copyrights @ 2006-7, Aatif Kamal 25
Challenges
Failure handling Recovery from failure
Roll back Redundancy
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 26
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 27
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 28
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.)