trƯỜng ĐẠi hỌc cÔng nghỆ bộ môn mạng và truyền thông máy tính
TRANSCRIPT
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn Mạng và Truyền Thông Máy Tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Các hệ thống phân tán
Chapter 1: Characterization of Distributed Systems
Người trình bày: TS. Hoàng Xuân Tù[email protected]
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Examples of DS
Internet
BrowsersWeb servers
www.google.com
www.cdk3.net
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
http://www.google.comlsearch?q=kindberg
http://www.cdk3.net/
File system ofwww.w3c.org
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Examples of DS
the rest of
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local areanetwork
email server
the Internet
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Examples of DS
Laptop
Mobile
PrinterCamera
Internet
Host intranet Home intranetWAP
Wireless LAN
phone
gateway
Host site
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Concepts
• Distributed System– A collection of autonomous computers– Linked by a computer network– Run distributed system softwareForm an integrated computing facility
• Autonomous computer:– Fully control its own resources
• Memory/harddisk/networking bandwidth
• Integrated computing facility:– Same purpose
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Characteristics
• Resource sharing• Openness• Concurrency• Scalability• Fault tolerance • And Transparency
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Resource Sharing
• “Resource” = things that can be used– Can be hardware: disk, printer, network, …– Or software: files, windows, databases,
sockets, software objects, …– Resource are usually limited
• Resource sharing in DS– By sending message
• Remote procedure call• Remote method invocation
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Why resource sharing ?
• Make different computers doing something for the same purpose
• Example:– Separation between computation and
presentation – Network file system – Shared database servers– …
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Openness
• Ability in extending features or capabilities– Hardware:
• Peripheral devices• Network printers• Computational units
– Software:• Software features (kernel modules, software modules,
communication protocols, resource sharing services …)
• Openness is achieved by standardized interfaces– Standardization !!!
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Openness
• Standards and specifications – Programming languages:
• ANSI (C)• JSR (Java Specification Request)
– System API• BSD System calls • IEEE’s POSIX
– Communication protocols• IETF RFC/Internet Draft
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Concurrency
• Multiple and relatively independent systems working at the same time– Processes– Threads
• They possibly don’t know all information about each other.– Lack of information sharing– Unreliability of computer networks
• Resource access can be in arbitrary patterns.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Scalability
• DS can be in different scale– Very big system require scalability
• Scalability: – The ability to operate efficiently when system
is at large scale• Scalability is NOT matter of hardware• Scalability is a matter software and system
design
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Fault tolerance
• Faults:– Computer crashes– Disconnection of networks
• Detect fault and the reason of fault are not easy
• But people want high availability system• Fault tolerance = ability of a system that
can work event when faults happen.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Fault tolerance
• Hardware redundancy– Using redundant hardware component
• Software redundancy– Designs of software that can recover from
faults.– Example ???
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
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 physical or network location (for example, which building or IP address).
• 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.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
TRƯỜNG ĐẠI HỌC CÔNG NGHỆBộ môn mạng và truyền thông máy tính
Transparency
• 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.