Download 1. Introduction

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

CP/M wikipedia , lookup

Unix security wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

Distributed operating system wikipedia , lookup

Transcript
Distributed Systems
• Distributed systems—principles and paradigms, Tanenbaum
• Distributed systems—concepts and design, George Coulouris
• 分布式系统, 李西宁, 科学出版社, 2006
= Supercomputer
Table of Contents
1. Introduction
(Evolution)
2. Some system models
3. Communication in distributed systems
4. Distributed programming
5. Distributed OS: Processes, Naming, Synchronization
6. Distributed object-based systems: CORBA, DCOM
7. Web services
8. DDM: Consistency, replication, concurrency (DNS)
9. Peer-to-peer computing
10. Grid
11. Fault tolerance
12. Security
1. Introduction
1.1 Introduction
1. What is a distributed system?
(P2)
A distributed system is a collection of independent computers that appears to its users as a single
coherent system.
A distributed computing system consists of
multiple autonomous computers (or processors)
that do not share primary memory, but cooperate
by sending message over a communication
network.
1976
21
30
Kmap3
Kmap4
31
Kmap2
40
Kmap5
41
11
20
1
10
Kmap1
50
Cm*
Carnegie Mellon University
1982
LSI
ZCZ
Nanjing University
Now:
Web service, Grid, P2P
Characteristics:
 multiple computers
 communication
 resource sharing
 decentralized
 parallel processing
 transparency
 independent failures
Transparency in a Distributed System
Transparency
Description
Access
Hide differences in data representation and how a
resource is accessed
Location
Hide where a resource is located
Migration
Hide that a resource may move to another location
Relocation
Hide that a resource may be moved to another
location while in use
Replication
Hide that a resource may be replicated
Concurrency
Hide that a resource may be shared by several
competitive users
Failure
Hide the failure and recovery of a resource
Persistence
Hide whether a (software) resource is in memory
or on disk
Different forms of transparency in a distributed system.
P5
Advantages
•
•
•
•
•
•
robustness
maintenance
extensibility (scalability)
efficiency (performance/cost)
people are distributed
information is distributed
DNS
Disadvantages:
 network can cause problems
 security is a problem
 software is needed
About openness --- a goal
P8
1) A open distributed system is a system that offers
services according to standard rules.
* resources sharing --- Web
* parallel distributed computing (cooperative
computing) --- communication
Computer network --- protocols
Distributed system --- IDL, XML, protocols
P8
2) Advantages
 interoperability
 portability
2. Differences between network and D.S
Early
Resource
Location
Cooperate
Distance
Now
LAN
private, shared
not
no
small
Distributed system
shared, private
transparent
yes
small or large
Network
Distributed system
resources sharing
basis
resources integration
middleware
Network Operating System
Resource management?
1-19
General structure of a network operating system.
Distributed Operating Systems
1.14
General structure of a multicomputer operating system
P28
3. Is Internet a distributed system?
Motivation for Internet
If one part of system is broken or destroyed, the
other will continue to work. It is impossible to
destroy something that has no headquarters, no
leader and not just one machine doing all work.
• Internet计算的第二波将受到不断扩展的分布式
计算构架的推动。
• Internet使分布式计算具有新的潜力, 人们对分
布式计算提出了新的要求
4. Evolution
1) Distributed computer system
DOS
DOS
DOS
Success:
– Many concepts and techniques were proposed
– Centralized computing distributed computing
Failure:
– The system was not accepted
2) Distributed System organized as middleware
P3
Note that the middleware layer extends over multiple machines.
• Distributed Computing Environment
DCE
NOS1
DCE
NOS2
DCE
NOSi
• CORBA
prog Lang1
o
ORB
NOS1
obj
Lang2
ORB
NOS2
obj
Lang3
ORB
NOS3
Success:
– Distributed object technique and some products
appeared.
 CORBA
 DCOM
 EJB/J2EE
Result: promote the development of distributed
application system. (develop and assemble
distributed object)
Issue:
– not unify (not openness)
Web services
3) Distributed object technique combines AI
technique
P173
Software agents
• An autonomous process capable of reacting to,
and initiating changes in its environment, possibly
in collaboration with users and other agents.
• To act on its own, to take initiative where
appropriate
3) Wide-area distributed system
(a) Grid
Infrastructure that facilitates controlled sharing of
resources across organizational boundaries.
– “网络”实现了计算机硬件的连通, “Web”实现了网页
连通
– “网格”在应用层面实现所有资源的全面连通, 包括计
算, 存储,软件,数据, 仪器设备…
• Computational grid
• Data grid
• Earthquake
Grid Computing
• 网格计算就是基于网格的问题求解。
• Use hardware & software facilities, that research
institutes in the world have, to solve very
complicated scientific research and computational
problems.
(b) Web services -- distributed system combines
WWW
• identified by URIs;
• accessible via standard Web protocols;
• capable of sending, receiving, and acting on XML
based message; and
• capable of interacting with applications and
programs that are not directly human-driven user
interfaces
Windows .NET or Java Tomcat  CORBA, DCOM, EJB
(c) Peer to peer system
• Computers operating as peers collaborate to
achieve an end result without a central authority
• P2P computing has both technical and social
components
Napster --- share MP3 files
Hierarchy
Distributed application system
Distributed support system: middleware
Grid, P2P, Web service
Network OS, Internet
LAN, WAN
5. Key issue
provide universal service in a heterogeneous world.
Communication
TCP/IP
Hete. OS
Hete. network
Interoperability
interface/XML/others
Hete. language
Hete. OS, net
P23
Software Concepts
System
Description
DOS
operating system for homogeneous
multicomputers
NOS
Loosely-coupled operating system for
heterogeneous multicomputers (LAN and
WAN)
Middleware
Additional layer atop of NOS implementing
general-purpose services
An overview between
• DOS (Distributed Operating Systems)
• NOS (Network Operating Systems)
• Middleware
P36
Main Goal
Hide and manage
hardware
resources
Offer local
services to
remote clients
Provide
distribution
transparency
Comparison between Systems
Distributed OS
P41
Multiproc.
Multicomp.
Network
OS
Degree of transparency
Very High
High
Low
High
Same OS on all nodes
Yes
Yes
No
No
Number of copies of OS
1
N
N
N
Basis for
communication
Shared
memory
Global,
central
Messages
Files
Model
specific
Global,
distributed
Per node
Per node
Item
Resource management
Middlewarebased OS
Scalability
No
Moderately
Yes
Varies
Openness
Closed
Closed
Open
Open
A comparison between multiprocessor operating systems,
multicomputer operating systems, network operating systems,
and middleware based distributed systems.
Clients and Servers
1.25
General interaction between a client and a server.
Multitiered Architectures
1-30
An example of a server acting as a client.
Multitiered Architectures
1-29
Alternative client-server organizations (a) – (e).
Another architectures
1-31
An example of horizontal distribution of a Web service.
Summary
1. Concepts
2. Evolution
– local area ---> medium ---> Internet (wide area)
– distributed OS --> middleware --> protocols,
specifications
3. Multiprocessor system
– Hardware
purposes?
Network; Distributed system; Parallel computer
– Software
NOS; Middleware, support systems…; DOS
Related magazines
• IEEE Transaction on Parallel and Distributed Systems
http://computer.org/tpds
[email protected]
• Distributed Computing
http://link.springer.de/comp/
http://link.springer-ny.com
• Journal of Parallel and Distributed Computing
http://www.academicpress.com/jpdc
home page
http://www.idealibrary.com
papers
• Internet Computing
http://computer.org/internet/