• Đặc điểm+ Có một bộ nhớ chia sẻ không gian địa chỉ của tất cả các CPU hệ thống kép chặt tightly coupled system + Giao tiếp giữa các CPU diễn ra thông qua việc chia sẻ bằng cách sử d
Trang 3• Yêu cầu càng trở khắt khe đối với các hệ thống máy tính trong tương lai
+ Tốc độ
+ Sự tin cậy của hệ thống
+ Hiệu quả chi phí
Cần phải thay thế cấu trúc truyền thống theo tổ chức
máy tính của Von Neumann
• Theo LeLann, có hai tác nhân chính ảnh hưởng đến hệ
thống phân tán : công nghệ thay đổi và nhu cầu của
người sử dụng.
Động lực thúc đẩy
Lý do ra đời hệ thống phân tán
Trang 4• Bộ xử lý (Processors)
• Mạng (Networking)
• Giao thức (Protocols)
• Bộ nhớ (Memory)
• Thiết bị lưu trữ (Storage)
Sự phát triển của công nghệ
Trang 5• June 1976 : Robert Metcalfe trình bày khái niệm
về Ethernet tại Hội nghị quốc gia máy tính.Ý tưởng về thời gian chia sẻ (time-sharing) lần đầu tiên được đề cập, là bước đầu tiên hướng đến hệ thống phân tán
•1980 : Ethernet được giới thiệu như một mô hình
chuẩn (DEC, Intel, Xerox) và sau đó là thập kỹ của máy tính cá nhân ra đời
Công nghệ mạng – Ethernet – 1973, 1976
Trang 6• Tốc độ LAN : Tăng hơn 35.000 lần
+ 1999: 802.11b (wireless Ethernet) standardized
+ 2001: 10 Gbps được giới thiệu
+ 2005: 100 Gbps ( đối với cáp quang)
+ 1980 : Ethernet được giới thiệu như một mô hình chuẩn (DEC, Intel, Xerox) và sau đó là thập kỹ của máy tính cá nhân ra đời
Kiến trúc mạng
Trang 7• Sau năm 1980 : chỉ một vài công ty lớn hoặc trường đại học
được kết nối Internet
+ Sử dụng gateways giao tiếp giữa các mạng khác nhau
+ 2006: 439,286,364 hosts trên Internet
+ Kết nối với băng thông lớn (High-speed WAN connectivity: 1– >50 Mbps)
+ Nhiều kiến trúc mạng ra đời (Switched LANs,wireless v.v…)
Kết nối mạng
Trang 8• Máy tình ngày càng trở nên
Trang 9Bộ nhớ
Trang 11• Ví dụ : Năm 1987, Website nổi tiếng về giới thiệu âm
nhạc của Billboard
+ 4,207 bài nhạc
+ 18 GB
+ Kích thước mỗi bài : 4.4 MB
+ download một bài hát với modem V90 @ 44Kbps mất 15 phút, tốn 76,560 đôla để download toàn bộ bộ sư tập đó
Trang 12• Tốc độ nhanh hơn của CPU Xử lý nhiều giao thức
trong một thời gian
+ECC (Error-correcting code memory), checksums, parsing (Ví dụ giao thức XML)
+ Nén ảnh, âm thanh trở nên khả thi
• Mạng nhanh hơn Các giao thức có kích thước lớn
hơn
+ SOAP/XML, H.323 v.v
Giao thức
Trang 13• Tăng hiệu suất đường truyền
Với sự thực hiện multiprocessors làm tăng đáng kể hiệu suất mạng
•Thực hiện được các ứng dụng phân tán
+Thanh toán tự động(Automated Banking Systems)
+Giám sát giao thông (Air-Traffic Control Systems)
+Bán lẻ (Retail Point-of-Sale Terminals)
+Định vị toàn cầu (Global Positioning Systems)
+Tìm kiếm (Search Engine)
+Giám sát từ xa (Remote Monitor System) v.v
•Có khả năng giao tiếp tương tác và giải trí
+ Vừa làm vệc và tiêu khiển đồng thời: email,chơi game, điện thoại, nhắn tin v.v…
Tại sao chúng ta cần đến mạng?
Trang 14• Chuyển tải nội dung từ xa (Remote content)
+ Trình duyệt Web, download nhạc và video, IPTV, file servers v.v
• Triển khai các ứng dụng di động
• Làm tăng sự tin cậy của hệ thống
• Thích ứng đối với các hệ thống đòi hỏi phát triển
nhanh
Tại sao chúng ta cần đến mạng?
Trang 15• Khi xây dựng các phần mềm phân tán, các khó
khăn gặp phải :
+ Sử dụng hệ điều hành để xử lý phân tán?
+ Lựa chọn ngôn ngữ lập trình? ( khả năng song
song, chịu lỗi )
+ Tính hiệu quả?
+ Tính tin cậy?
+ Quản trị hệ thống đối với các ứng dụng phân tán ra sao?
• Đối với ứng dụng trên mạng thì
+ dễ bị ngắt kết nối, thất thoát dữ liệu, độ trễ lớn
• Bảo mật
+ Có thể bị tấn công hoặc truy cập bất hợp pháp
Các thách thức
Trang 16Mô hình Von Neumann
• Theo Von Neumann thì : “Tất
cả các máy tính đều có chung
một cơ sở kiến trúc giống nhau
bất kể nó là một máy tính
mainframe hàng triệu đô la hay
là một máy tính bỏ túi Palm
Trang 17Mô hình Von Neumann
Mô hình Von Neumann
Trang 18Đơn vị tính toán/logic (ALU)
+ Hệ thống con thực hiện tất cả các phép toán số và phép
Trang 19• Đơn vị tính toán/logic (ALU)
+ ALU có 3 phần bao gồm : thanh ghi, mạch ALU,
và kết nối giữa chúng.
• Đơn vị điều khiển
Đơn vị điều khiển chịu trách nhiệm:
+ Tìm trong bộ nhớ chỉ thị chương trình kế tiếp sẽ chạy
+ Giải mã chỉ thị đó thành cái máy tính có thể
Trang 20• Đặc điểm
+ Có một bộ nhớ chia sẻ không gian địa chỉ của tất cả các CPU hệ thống kép chặt (tightly coupled system)
+ Giao tiếp giữa các CPU diễn ra thông qua việc chia sẻ bằng cách sử dụng hoạt động nhớ đọc và ghi
Cấu trúc bộ nhớ chia sẻ vật lý
Trang 22• Đặc điểm
+ Có một bộ nhớ chia sẻ không gian địa chỉ của tất cả các CPU hệ thống kép chặt (tightly coupled system)
+ Giao tiếp giữa các CPU diễn ra thông qua việc chia sẻ bằng cách sử dụng hoạt động nhớ đọc và ghi
Cấu trúc bộ nhớ chia sẻ vật lý
Trang 23Cấu trúc bộ nhớ chia sẻ vật lý phân tán
Trang 24• Đặc điểm
+ Không có bộ nhớ dùng chung và mỗi CPU đều
có những bộ nhớ cục bộ kèm theo
+ Cặp các CPU và bộ nhớ cục bộ được gọi là xử
lý cơ sở (PE - processing elements)
+ Giao tiếp giữa các bộ xử lý được thực hiện bằng cách gởi các thông điệp trên mạng thông qua một interconnection gửi lệnh tại xử lý việc gửi
và nhận được một lệnh ở nhận được xử lý
Cấu trúc bộ nhớ chia sẻ vật lý phân tán
Trang 25- Là một hệ có chức năng và dữ liệu phân tán trên các máy trạm được kết nối với nhau qua mạng máy tính
Trang 26• Theo Seitz, hệ thống phân tán có thể kiểm soát bằng cách sử dụng 3 kích thước của phần cứng, điều khiển, và dữ liệu
Hệ thống phân tán
= Phân tán phần cứng + Phân tán kiểm soát + Phân tán dữ liệu
Định nghĩa theo Seitz
Trang 27Định nghĩa theo Seitz
Trang 28• Phần cứng phân tán
+ H1 : Một CPU đơn với một đơn vị kiểm soát.
+ H2: Một CPU đơn với nhiều ALUs (arithmetic and
logic units) Chỉ có một đơn vị kiểm soát
+ H3: Đơn vị chức năng riêng biệt, như là một trong
những CPU với dấu chấm động (floating-point coprocessor)
+ H4: Nhiều bộ xử lý với nhiều CPU nhưng chỉ có duy
Trang 29• Phần điều khiển phân tán
+ C1 : Điểm kiểm soát cố định duy nhất
+ C2: Điểm kiểm soát di động duy nhất Trong nhiều trường
hợp nhiều CPU, các điều khiển có thể thay đổi theo thời gian giữa các CPU
+ C3: Trong hệ thống chỉ có một CPU và một coprocessor,
CPU master cố định, coprocessor slave cố định.
+ C4: Cấu trúc master/slave động Vai trò của master / slave
được định nghĩa bởi phần mềm
+ C5: Nhiều điểm đồng nhất, nơi mà các bản sao của cùng
một bộ điều khiển được sử dụng.
+ C6: Nhiều điểm kiểm soát hỗn tạp, nơi mà các bộ điều
khiển khác nhau được sử dụng
Định nghĩa theo Seitz
Trang 30• Phần CSDL phân tán
+ D1 :Tập trung các cơ sở dữ liệu với một bản sao của cả
hai tập tin và thư mục
+ D2 :Phân phối các tệp tin với một thư mục tập trung và
không có thư mục cục bộ
+ D3 :Cơ sở dữ liệu tái tạo với một bản sao của tập tin và
thư mục ở mỗi site
+ D4 : Cơ sở dữ liệu phân vùng với cơ sở dữ liệu master
mà giữ được một bản sao hoàn thiện của tất cả các tập tin
+ D5 : Cơ sở dữ liệu phân vùng với một cơ sở dữ liệu
master mà chỉ giữ một thư mục hoàn thiện
+ D6 Cơ sở dữ liệu phân vùng mà không có tập tin master
hoặc thư mục
Định nghĩa theo Seitz
Trang 31• Theo Schroeder, nếu một hệ thống có các điểm sau đây thì nó có thể là một hệ thống phân tán :
+ Nhiều yếu tố xử lý (Multiple processing elements - PES)
+ Các kết nối phần cứng (Interconnection hardware)
Trang 32• Hiện nay, có 2 cách phân loại chính:
+ Phân loại theo phần cứng
+ Phân loại theo phần mềm
Phân loại hệ phân tán
Trang 33• Là phân loại các kiến trúc máy tính đề xuất bởi
Michael J.Flynn năm 1966 Theo Ông có 2 đặc điểm cần thiết để phân loại hệ thống máy tính
nhiều CPU : Số lương các dòng chỉ dẫn và số
dòng dữ liệu có trong kiến trúc.
Flynn ’s Taxonomy (1972)
Phân loại theo phần cứng
Trang 34• Là phân loại các kiến trúc máy tính đề xuất bởi
Michael J.Flynn năm 1966 Theo Ông có 2 đặc điểm
cần thiết để phân loại hệ thống máy tính nhiều CPU : Số
lương các dòng chỉ dẫn và số dòng dữ liệu có trong kiến
trúc.
• Có 4 loại :
+ SISD (Single Instruction, Single Data stream)
+ SIMD Single Instruction, Multiple Data streams
+ MISD (Multiple Instruction, Single Data stream)
+ MIMD(Multiple Instruction, Multiple Data streams)
Flynn’s Taxonomy (1972)
Trang 35• Là phân loại các kiến trúc máy tính đề xuất bởi
Michael J.Flynn năm 1966 Theo Ông có 2 đặc điểm
cần thiết để phân loại hệ thống máy tính nhiều CPU : Số
lương các dòng chỉ dẫn và số dòng dữ liệu có trong kiến
trúc.
SISD
Trang 36• Là phân loại các kiến trúc máy tính đề xuất bởi
Michael J.Flynn năm 1966 Theo Ông có 2 đặc điểm
cần thiết để phân loại hệ thống máy tính nhiều CPU : Số
lương các dòng chỉ dẫn và số dòng dữ liệu có trong kiến
trúc.
SIMD
Trang 37• Là phân loại các kiến trúc máy tính đề xuất bởi
Michael J.Flynn năm 1966 Theo Ông có 2 đặc điểm
cần thiết để phân loại hệ thống máy tính nhiều CPU : Số
lương các dòng chỉ dẫn và số dòng dữ liệu có trong kiến
trúc.
MISD
Trang 38• Là phân loại các kiến trúc máy tính đề xuất bởi
Michael J.Flynn năm 1966 Theo Ông có 2 đặc điểm
cần thiết để phân loại hệ thống máy tính nhiều CPU : Số
lương các dòng chỉ dẫn và số dòng dữ liệu có trong kiến
trúc.
MIMD
Trang 39Kiến trúc bus cơ sở không mở rộng một số lượng lớn các CPU (8 +) Ở kiến trúc này bộ nhớ chia thành các nhóm và kết nối khối của bộ nhớ đến các bộ vi xử lý với một bộ chuyển mạch thanh ngang (Hình 1.10)
N2 điểm chuyển đổi được cấu thành
Trang 40• Để giảm các điểm chuyển mạch bằng cách thêm giai đoạn chuyển đổi
Omega Network
Trang 41Ngoài ra, trong thời gian gần đây, kiến trúc NUMA cũng được sử dụng Bộ nhớ được sử dụng phân cấp, mỗi CPU có một bộ nhớ riêng.
Omega Network
Trang 42• Là phần mềm chịu trách nhiệm duy trì hình ảnh hệ thống đơn.
+ Tin cậy(Reliability) : Duy trì tình trạng sẵn có, chống truy cập trái phép và mất dữ liệu, có khả năng chịu lỗi
+ Hiệu quả (Performance)
+ Co dãn (Scalability)
Hệ thống phân tán
Phân loại theo phần mềm
Trang 43• Sự kết hợp của các máy tính độc lập xuất hiện như một hệ thống đơn với người dùng Đặc điểm của hệ thống này được thể hiện:
+Độc lập (Independent): Có khả năng tự trị (autonomous)
+Hệ thống đơn (Single system): Người dùng không nhận thức được phân tán
Hệ thống đơn
Trang 44• Không có kết nối ra mạng ngoài
• Sử dụng hệ thống thời gian chia sẻ truyền
thống (Traditional time-sharing system)
• Trực tiếp kết nối các thiết bị đầu cuối người sử dụng hệ thống
+ Gồm một hoặc nhiều CPU
+ Không dễ dàng mở rộng
+ Hạn chế yếu tố : số CPU trong hệ thống, xảy
ra xung đột cho cùng một tài nguyên.
Mô hình tập trung
Các mô hình dịch vụ
Trang 45- Môi trường bao gồm các khách hàng và các máy chủ
- Dịch vụ : Là công việc mà máy có thể thực hiện
- Server: Là máy mà thực hiện các nhiệm vụ
- Client : Là máy đưa ra yêu cầu dịch vụ
client client
Mô hình Client Server
Trang 46- Mỗi máy trong mạng có (chủ yếu) khả năng tương
đương
- Không có máy được dành riêng để phục vụ người khác
- Bộ sưu tập các máy tính gồm :
+ Truy cập của người khác tập
+ Gửi / nhận thư điện tử (không cần có máy chủ)
+ Gnutella kiểu nội dung chia sẻ
Mô hình Peer to Peer
Trang 47- Cung cấp cho người dùng quyền truy cập liên tục đến
+ Dung lượng lưu trữ + Xử lý nhanh
+ Băng thông mạng lớn
- Không đồng nhất về mặt địa lý và hệ thống phân tán
Mô hình tính toán lưới (Grid Computing)
Trang 48CẤU TRÚC CLIENT - SERVER ĐA TẦNG
(MULTI-TIER CLIENT-SERVER)
• Kiến trúc đa tầng phát triển ở cuối thập niên
1980 và đầu thập niên 1990.
• Kiến trúc đa tầng (thường được gọi là kiến
trong đó trình bày các quy trình, việc xử lý ứng dụng, và quản lý dữ liệu có logic riêng.
• Kiến trúc này cung cấp cho các tiêu chuẩn hóa giao diện rõ ràng giữa các cấp thành phần hợp lý-gọi là 'tầng‘.
Trang 49Kiến trúc 2 tầng (Two-tier)
• Là kiến trúc phổ biến và đơn giản nhất của hệ thống client / server trong UNIFACE
+Tầng 1: Định nghĩa các giao tiếp, các dịch vụ
thể hiện, ứng dụng (Presentation, Business)
+Tầng 2: cung cấp cơ sở dữ liệu cho các dịch vụ
cho khách hàng (Data Access, Database).
CẤU TRÚC CLIENT - SERVER ĐA TẦNG
(MULTI-TIER CLIENT-SERVER)
Trang 50Presentation Business Data Access Databasse
Trang 51• Tách biệt rõ ràng 3 tầng khác nhau
-Tầng 1 : cung cấp giao diện người sử dụng tiêu chuẩn
-Tầng 2 : Cung cấp dịch vụ được tạo sẵn cho
ứng dụng đóng vai trò như 1 lớp trung gian cho phép Client có thể tương tác Database
- Tầng 3 : Cơ sở dữ liệu của ứng dụng
• Ưu điểm :
Cách tiếp cận này cho phép nhà triển đầu tư tận dụng các hệ thống hiện tại khi tạo ứng dụng mới có thể sử dụng các nguồn lực hiện có.
Kiến trúc 3 tầng (Three-tier)
Trang 52- Data Service
- Data Validation
- Database
3 3rd Three Data Server
Kiến trúc 3 tầng (Three-tier)
Trang 53• Kiến trúc đa tầng, thực hiện bằng cách mở rộng các tầng ở mô hình 3 tầng,
+ Ví dụ :
Kiến trúc n tầng (n-tier)
Trang 54• Thực hiện dịch vụ invokes từ các Application Server bên dưới và sau đó trả kết quả về cho Client
• Các dịch vụ trên máy chủ có thể : RPC, RMI,CORBA,DCOM,SOAP, Ajax, Web Service, REST v.v
Kiến trúc n tầng (n-tier)
Trang 55Mạng cục bộ ( LAN Net)
Các ví dụ về hệ phân tán
Trang 57Cơ chế mạng điện thoại tự động (Automatic Teller
Machine Network)
Trang 58Mạng Internet
Trang 59World-Wide-Web
Trang 60Ứng dụng Web Servers và trình duyệt Web
Trang 61Mobile and Ubiquitous Computing
Trang 62Searching Systems
Trang 63The JXTA Search network architrecture
Trang 64[1] Colin J Fidge (February 1988)
"Timestamps in Message-Passing Systems That Preserve the Partial Ord ering
Conference (ACSC'88) pp 56–66 Retrieved 2009-02-13.
[2].Mattern, F (October 1988), "Virtual Time and Global States of
Distributed Algorithms, Chateau de Bonas, France: Elsevier, pp 215–
226
[3].lmeida, Paulo; Baquero, Carlos; Fonte, Victor (2008),
"Interval Tree Clocks: A Logical Clock for Dynamic Systems" , in Baker,
Theodore P.; Bui, Alain; Tixeuil, Sébastien, Principles of Distributed Systems, Lecture Notes in Computer Science, 5401, Springer-Verlag,
Lecture Notes in Computer Science, pp 259–274
[4] Torres-Rojas, Francisco; Ahamad, Mustaque (1999), "Plausible clocks: constant size logical clocks for distributed systems", Distributed Computing (Springer Verlag) 12 (4): 179–195
Tài liệu tham khảo
Trang 65[5] S Mullender ed., "Distributed Systems", 2nd ed., Addison-Wesley, 1993
[6] Jie Wu, "Distributed Systems Design",
Addison-Wesley, 2008
[7] G Coulouris, J Dollimore, T Kinberg, "Distributed
ACTA Press
Tài liệu tham khảo
Trang 66THANKS !