LỜI GIỚI THIỆU Hệ phân tán đóng vai trò quan trọng trong lĩnh vực phát triển của công nghệ máy tính, đặc biệt là trong điều kiện phát triển bùng nổ của các mạng máy tính. Sự phát triểncủa các mạng LAN, WAN cho phép hàng trăm, hàng nghìn hay thậm chí hàng triệu máy tính có thể kết nối với nhau. Kết quả của sự phát triển công nghệ hiện nay không chỉ đáng tin cậy mà còn tạo nên các hệ thống máy tính rất lớn, được kết nối bằng các đường kết nối tốc độ cao. Chúng tạo nên các mạng máy tính lớn hoặc các hệ phân tán, ngược với hệ thống tập trung trước đây, bao gồm các máy tính đơn và có thể cả thiết bị điều khiển đầu cuối (remote teminal). Tính toán phân tán mang đến cho người truy cập trong suốt là s c mạnh nhiều máy tính và liệu như người s ng cần để thực hiện bất k công việc nhất định, và đồng thời, đạt hiệu suất cao và độ tin cậy m c tiêu. ng ng trong các hệ thống máy tính phân tán đ phát triển nhanh chóng trong thập k qua. Các chủ đề của máy tính được phân tán là đa ạng và nhiều nhà nghiên c u đang điều tra các vấn đề khác nhau liên quan đến cấu trúc phần c ng phân tán và việc thiết kế các phần mềm phân tán để các tiềm năng l song song và khả năng chịu l i có thể khai thác. Trong chương này, chúng ta h y em ét một số khái niệm cơ bản và các vấn đề liên quan đến hệ thống phân tán. 3 MỤC LỤC Chương 1 TỔNG QUAN VỀ HỆ PHÂN TÁN. ...................................................... 4 1.1 L o ra đời hệ thống phân tán. ..................................................................... 4 1.2 Định nghĩa về hệ thống phân tán ................................................................... 7 1.3 Nh ng đặc trưng chủ yếu của hệ phân tán .................................................. 10 1.4 Xây ựng và phân loại các hệ thống phân tán. ........................................... 12 1.4.1 Phần c ng. ............................................................................................ 12 1.4.1 Phần mềm. ............................................................................................ 20 1.5 Các mô hình tổ ch c hệ phân tán. ............................................................... 21 1.5.1 ClientSever. ......................................................................................... 21 1.5.2 Mạng ngang hang (Peer to peer). ......................................................... 26 1.5.3 Mobile agent ......................................................................................... 28 1.6 Các ví về hệ thống phân tán. ................................................................... 29 Chương 2 TRUYỀN THÔNG TRONG HỆ PHÂN TÁN ..................................... 32 2.1 Lời gọi thủ t c từ a (RPC Remote Procedure Call) ................................. 33 2.1.1 Giới thiệu .............................................................................................. 33 2.1.2 Kiến trúc của chương trình ClientServer cài đặt theo cơ chế lời gọi thủ t c a. ............................................................................................................ 33 2.2 Kích hoạt phương th c a (RMI Remote Method Invocation ) ................. 35 2.2.1 Giới thiệu .............................................................................................. 35 2.2.2 Kiến trúc của chương trình ClientServer theo cơ chế RMI ................ 36 2.2.3 Các cơ chế liên quan trong một ng ng đối tượng phân tán ............ 37 2.2.4 Cơ chế vận hành của của một ng ng ClientServer theo kiểu RMI38 2.3 So sánh RPC và RMI ................................................................................... 40 2.4 Kết luận chương 2 ........................................................................................ 40 Chương 3 NG DỤNG HỆ PHÂN TÁN .............................................................. 41 3.1 Một số bài toán ng ng hệ phân tán ......................................................... 41 3.2 Hệ thống g i – rút tiền tại các ngân hàng .................................................... 42 3.2.1 Kiến trúc hệ thống ................................................................................ 42 3.2.2 Cơ chế hoạt động của hệ thống ............................................................ 44 KẾT LUẬN
Trang 1
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA ĐÀO TẠO QUỐC TẾ- SAU ĐẠI HỌC -
BÀI TIỂU LUẬN Môn học: CƠ SỞ DỮ LIỆU NÂNG CAO
Đề tài: Tìm hiểu về hệ phân tán
Giảng viên hướng dẫn: TS Phạm Thế Quế Nhóm thực hiện : Đỗ Thị Kim Anh
Nguyễn Thị Kim Chung
Đỗ Quang Đức
Hà Thị Tuyết Lớp : Khoa học máy tính (M13CQCS01-B)
Hà Nội, tháng 04 năm 2014
Trang 2LỜI GIỚI THIỆU
Hệ phân tán đóng vai trò quan trọng trong lĩnh vực phát triển của công nghệ máy tính, đặc biệt là trong điều kiện phát triển bùng nổ của các mạng máy tính Sự phát triểncủa các mạng LAN, WAN cho phép hàng trăm, hàng nghìn hay thậm chí hàng triệu máy tính có thể kết nối với nhau Kết quả của sự phát triển công nghệ hiện nay không chỉ đáng tin cậy mà còn tạo nên các hệ thống máy tính rất lớn, được kết nối bằng các đường kết nối tốc độ cao Chúng tạo nên các mạng máy tính lớn hoặc các hệ phân tán, ngược với hệ thống tập trung trước đây, bao gồm các máy tính đơn và có thể cả thiết bị điều khiển đầu cuối (remote teminal)
Tính toán phân tán mang đến cho người truy cập trong suốt là s c mạnh nhiều máy tính và liệu như người s ng cần để thực hiện bất k công việc nhất định, và đồng thời, đạt hiệu suất cao và độ tin cậy m c tiêu ng ng trong các
hệ thống máy tính phân tán đ phát triển nhanh chóng trong thập k qua Các chủ
đề của máy tính được phân tán là đa ạng và nhiều nhà nghiên c u đang điều tra các vấn đề khác nhau liên quan đến cấu trúc phần c ng phân tán và việc thiết kế các phần mềm phân tán để các tiềm năng l song song và khả năng chịu l i có thể khai thác
Trong chương này, chúng ta h y em ét một số khái niệm cơ bản và các vấn
đề liên quan đến hệ thống phân tán
Trang 3MỤC LỤC
Chương 1 TỔNG QUAN VỀ HỆ PHÂN TÁN 4
1.1 L o ra đời hệ thống phân tán 4
1.2 Định nghĩa về hệ thống phân tán 7
1.3 Nh ng đặc trưng chủ yếu của hệ phân tán 10
1.4 Xây ựng và phân loại các hệ thống phân tán 12
1.4.1 Phần c ng 12
1.4.1 Phần mềm 20
1.5 Các mô hình tổ ch c hệ phân tán 21
1.5.1 Client/Sever 21
1.5.2 Mạng ngang hang (Peer to peer) 26
1.5.3 Mobile agent 28
1.6 Các ví về hệ thống phân tán 29
Chương 2 TRUYỀN THÔNG TRONG HỆ PHÂN TÁN 32
2.1 Lời gọi thủ t c từ a (RPC- Remote Procedure Call) 33
2.1.1 Giới thiệu 33
2.1.2 Kiến trúc của chương trình Client-Server cài đặt theo cơ chế lời gọi thủ t c a 33
2.2 Kích hoạt phương th c a (RMI- Remote Method Invocation ) 35
2.2.1 Giới thiệu 35
2.2.2 Kiến trúc của chương trình Client-Server theo cơ chế RMI 36
2.2.3 Các cơ chế liên quan trong một ng ng đối tượng phân tán 37
2.2.4 Cơ chế vận hành của của một ng ng Client-Server theo kiểu RMI38 2.3 So sánh RPC và RMI 40
2.4 Kết luận chương 2 40
Chương 3 NG DỤNG HỆ PHÂN TÁN 41
3.1 Một số bài toán ng ng hệ phân tán 41
3.2 Hệ thống g i – rút tiền tại các ngân hàng 42
3.2.1 Kiến trúc hệ thống 42
3.2.2 Cơ chế hoạt động của hệ thống 44
KẾT LUẬN 46
TÀI LIỆU THAM KHẢO 47
Trang 4Chương 1 TỔNG QUAN VỀ HỆ PHÂN TÁN
1.1 Lý do ra đời hệ thống phân tán
Ngày nay, các 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: về tốc độ l , sự tin cậy của hệ thống ngay cả khi có sự cố ảy ra, khả năng lưu tr , tính mở rộng khi cần thiết và hiệu quả chi phí mà nó mang lại, o đó 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 ng
Chẳng hạn đối với phát triển về công nghệ :
Về mạng máy tính :
6/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 phát minh bởi Robert Metcalfe và Davi Boggs tại Xero
PARCvào năm 1973, Ethernet đầu tiên chạy ở 2,94 Mbps Sau đó, Metcalfe đ tham, ông đ tạo điều kiện cho một liên oanh gi a kỹ thuật số gi a Intel và Xero hợp tác hơn phát triển trên Ethernet Phiên bản 1 được hoàn thành vào năm
1980, và các sản phẩm này được s ng một năm sau đó
1983, IEEE đ phê chuẩn Ethernet với chuẩn 802.3.Ethernet được giới thiệu
như một mô hình chuẩn và sau đó là thập kỹ của máy tính cá nhân ra đời Ngày nay, hầu như tất cả các máy tính PC và máy tính Mac với port 10/100 Ethernet Tốc độ mạng LAN không ngừng tăng nhanh
1985 : thick Ethernet: tốc độ 10 Mbps
1991 : 10BaseT – s ng cáp oắn đôi (twiste pair), tốc độ 10 Mbps
1995 : 100 Mbps Ethernet ra đời
1998 : Gigabit Ethernet được giới thiệu (1 Gbps Ethernet)
1999 : Chuẩn 802.11b (wireless Ethernet) s ng cho LAN không
2001 : 10 Gbps được giới thiệu
Trang 52005 : 100 Gbps s ng cho kết nối bằng cáp quang (optical link)Sau đó, chỉ
một vài công ty lớn hoặc trường đại học được kết nối Internet, s ng gateways giao tiếp gi a các mạng khác nhau, hình th c kết nối là ial –up
1985 : Có khoảng 1.961 hosts trên Internet
2006 : Có khoảng 439.286.364 hosts trên Internet Hiện nay, hầu hết các hoạt
động của con người được iễn ra trên Internet
Bảng 1.1 Kết quả chi phí trên băng thông sử dụng
Về giao thức (Protocols) :
Nhờ tốc độ nhanh hơn của CPU làm chúng nó có thể thực hiện nhiều giao th c một thời gian như :
- Thực hiện m hóa công khai ựa vào phương pháp ECC(Elliptic curve
cryptography), thực hiện các kỹ thuật kiểm tra l i để bảo đảm liệu cho truyền liệu hoặc lưu tr (Ví trong ngôn ng XML)
- Thực hiện các kỹ thuật nén ảnh, âm thanh.v.v…
- Mạng nhanh hơn nên có thể các giao th c có kích thước lớn hơn như : SOAP/XML, H.323 được thực hiện đồng thời
Về lưu trữ (Storage):
Tăng 60.000.000 lần hơn 50 năm qua, c thể :
1977 : Với đĩa mềm 310KB giá $1480
Trang 61987 : Đĩa c ng 40 MB giá $679
2008 : Đĩa c ng 750 GB giá $99, trung bình khoảng $0.13 / 1GB
Chẳng hạn, vào năm 1987, Website nổi tiếng về giới thiệu âm nhạc của Billboar : 4,207 bài nhạc, kích thước m i bài : 4.4 MB; ung lượng 18 GBs Thực hiện ownloa một bài hát với mo em V90-44Kbps mất 15 phút, tốn 76,560 đôla để ownloa toàn bộ bộ sưu tập đó Ngày nay, để ownloa 1 bài hát với kích thước 12,9 Mbps mất không quá 3,5 giây; tốn khoảng: $5.00
Ở trong các hệ thống máy tính ngày nay, một ước mơ mới là có thể tính toán phân toán ( istribute computing) Nhờ tính toán phân tán, tận ng s c mạnh o nhiều máy tính mang lại để thực hiện bất c công việc nào con người cần ở cùng một thời gian, đạt hiệu suất cao và độ tin cậy cao Sự quan tâm đến hệ thống máy tính phân tán được phát triển nhanh chóng trong hơn một thập kỉ qua Các đối tượng nghiên c u về hệ phân tán rất đa ạng, liên quan đến lĩnh vực khác nhau như: cấu trúc phần c ng phân tán, thiết kế các phần mềm phân tán mà nó có thể
l song song
Hệ thống máy tính phân tán (hay hệ thống phân tán) sẽ mất rất nhiều hình th c
và bao gồm một loạt các hệ thống kiến trúc Để một có thể s ng một hệ thống phân tán đòi hỏi một tập hợp của nhiều bộ l làm việc chặt chẽ với nhau để giải quyết một vấn đề
Tại sao chúng ta cần đến mạng?
- 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 ng phân tán:
+Thanh toán tự động(Automate 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ừ a (Remote Monitor System) v.v
- Có khả năng giao tiếp tương tác và giải trí:
Trang 7+ 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…
Các thách thức :
Khi ây ựng các phần mềm phân tán, các khó khăn gặp phải :
- S ng hệ điều hành nào để l phân tán ?
- S ng ngôn ng lập trình nào?
- Làm thế nào đảm bảo tính hiệu quả (Efficiency)?
- Làm thế nào đảm bảo tính tin cậy (Reliability) ?
- Đối với các ng ng trên mạng : Dễ bị mất kết nối, thất thoát liệu, tiềm tảng nh ng nguy hiểm khác nhau
- Về bảo mật : Có thể bị tấn công mọi lúc mọi nơi
1.2 Định nghĩa về hệ thống phân tán
Có nhiều định nghĩa khác nhau về hệ phân tán :
Định nghĩa 1 : Là một hệ có ch c năng và 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
Định nghĩa 2 : Là một tập các máy tính tự trị được kết nối với nhau bởi mạng
máy tính và được cài đặt phần mềm phân tán
Định nghĩa 3 : Là một tập các máy tính ộc lập giao tiếp với nhau như một hệ
thống thống nhất và toàn vẹn
Trước đây, hệ phân tán được chia thành ba loại : hệ điều hành hệ phân tán, cơ
sở liệu hệ phân tán và các hệ thống tính toán hệ phân tán
Ngày nay, hệ phân tán được phân chia như sau:
- Hệ phân tán mang tính hệ thống: hệ điều hành phân tán
- Hệ phân tán mang tính ng ng: các hệ thống truyền tin phân tán
Theo Seitz, tùy theo sự khác biệt của ng ng mà ta có các định nghĩa cho phù hợp :
Song song (Parallel): Thao tác trên liệu được thiết lập từ luồng điều khiển
đơn Tại máy tính song song,máy tính đa liệu (multiple-data – SIMD)s ng
Trang 8nhiều thành phần l liệu để thực hiện cùng một hoạt động hoặc tương tự về nhiều bản ghi liệu tại một lần
Đồng bộ (Concurrent): Một số hành động có thể được thực hiện theo bất c
th tựnào
Phân tán (Distributed): Các chi phí hoặc hiệu suất của một tính toán được chi
phối bởi các giao tiếp liệu và điều khiển
Theo Seitz, hệ thống phân tán có thể kiểm soát bằng cách s ng 3 kích thước của phần c ng, điều khiển, và 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
Hình 1.1 Mô hình một hệ phân tán tổng quát
Trong đó :
+H1 : Một CPU đơn với một đơn vị kiểm soát
Trang 9+H2: Một CPU đơn với nhiều ALUs (arithmetic an 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 ấu chấm động (floating-point coprocessor)
+H4: Nhiều bộ l với nhiều CPU nhưng chỉ có uy nhất một hệ thống I / O
Cơ sở liệu có hai thành phần và có thể được phân tán:
- Các tập tin và thư m c được lưu tr trên các file
- Kênh phân phối có thể được thực hiện bằng một trong hai cách, hoặc một sự kết hợp của cả hai: tạo bản sao và phân vùng (replication an partition)
- Một cơ sở liệu được tái tạo (replicate ): có một số bản sao của cơ sở liệu giao cho các địa điểm khác nhau Một cơ sở liệu partitione : nếu nó được phân chia thành các cơ sở liệu ph và sau đó m i ph cơ sở liệu được phân công vào các site khác nhau Các điểm trong kích thước này bao gồm:
+D1 :Tập trung các cơ sở liệu với một bản sao của cả hai tập tin và thư
m c
Trang 10+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
+D6 Cơ sở liệu phân vùng mà không có tập tin master hoặc thư m c
Theo Schroe er, 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ố l (Multiple processing elements - PES)
+Các kết nối phần c ng (Interconnection har ware)
1.3 Những đặc trưng chủ yếu của hệ phân tán
Hệ phân tán mang tính h u ng là nhờ có các đặc tính : chia sẻ tài nguyên, tính mở, tính đồng thời, tính quy mô, tính chịu l i và tính trong suốt
a Chia sẻ tài nguyên
Tài nguyên bao gồm nh ng thành phần phần c ng như : đĩa, máy in, và
nh ng thành phần phần mềm như : file, cơ sở liệu và nh ng đối tượng liệu khác Lợi ích của việc truy cập và hệ thống ch a các cơ sở liệu, chương trình, tài liệu và nh ng thông tin chung khác được thể hiện rõ trong hệ thống chia sẻ thời gian hoắc hệ thống nhiều người s ng vào đầu nh ng năm 1960 và các hệ thống UNIX MultiUser và nh ng năm 1970
Trang 11Tài nguyên của máy tính nhiều người ùng thường được ùng chung cho tất cả
nh ng người s ng nó, nh ng người làm việc trong các máy trạm đơn lẻ của các máy tính các nhân không có đặc tính h u ích này Các tài nguyên chung trong hệ phân tán được đóng gói vật l trong một máy tính của hệ, và từ các máy khác chỉ
có thể truy cập vào bằng con đường truyền thông Để ùng chung một cách hiệu quả, tài nguyên phải được quản l bằng một chương trình cung cấp giao iện truyền thống cho phép truy cập vào tài nguyên chung, s ng và cập nhật tài nguyên thường uyên và chắc chắn
b Tính mở
Tính mở của hệ thống máy tính là đặc trưng để ác định em hệ thống có thể
mở rộng theo nhiều cấp độ khác nhau hay không Tính mở hoặc đóng của hệ thống được ét ựa theo khả năng h trợ việc mở rộng của thiết bị phần c ng ( ví : bổ sung các thiết bị ngoại vi, bộ nhớ và các giao iện truyền thông) và h trợ việc mở rộng các phần mềm, như : bổ sung thêm các tính năng của hệ điều hành, các giao
th c truyền thông và các ịch v chia sẻ tài nguyên Tính mở của các hệ phân tán được đánh giá theo m c độ bổ sung các ịch v chia sẻ tài nguyên mà không phá
vỡ hoặc lặp lại các ịch v hiện có
Tính mở được thể hiện nhờ nh ng giao iện phần mềm chủ chốt của hệ thống giao iện đó được ác định rõ và lập thành tài liệu sẵn cho nh ng người phát triển phần mềm
c Tính đồng thời
Khi một số tiến trình cùng tồn tại trong một máy tính, ta nói rằng, chúng được thực hiện đồng thời Nếu máy tính chỉ có một bộ l trung tâm, thì tính đồng thời ảy ra khi thực hiện en kẽ các phần của một tiến trình Nếu máy có n bộ
l thì sẽ có n tiến trình được thực hiện đồng thời, tăng hiệu suất tính toán lên n lần Trong hệ phân tán thường có nhiều máy, m i máy có một hoặc nhiều bộ l trung tâm Nếu có m máy, m i máy có một bộ l trung tâm thì sẽ có tới m tiến trình chạy song song, miễn là các tiến trình định vị ở các máy khác nhau Hệ phân tán ựa trên mô hình chia sẻ tài nguyên có nhiều cơ hội để thực hiện song song với hai l o:
Trang 12- Nhiều người s ng đồng thời gọi tới lệnh hoặc tương tác với các chương trình ng ng
- Nhiều trình chủ chạy đồng thời, m i trình chủ đáp ng với yêu cầu
mà trình khách đưa ra
d Tính quy mô
Hệ phân tán hoạt động hiệu quả ở nhiều quy mô khác nhau Hệ phân tán nhỏ nhất chỉ gồm 2 trạm làm việc và một file Server, trong khi đó hệ phân tán ây ựng từ một mạng LAN có thể bao gồm vài trăm trạm làm việc và một số file server, print Server và các server có m c đích khác nhau Một số mạng LAN thường được kết nối với nhau thành các liên mạng và các liên mạng có thể bao gồm hàng nghìn máy, nhưng chúng chỉ tạo thành một hệ phân tán nhờ khả năng chia sẻ tài nguyên của chúng
Phần mềm hệ thống và phần mềm ng ng không cần thay đổi khi quy mô của hệ thống tăng lên Đặc tính này có được nhờ khả năng mở rộng của hầu hết các hệ phân tán hiện nay và các thành phần của chúng Tuy nhiên, cần có nh ng nghiên c u sâu hơn về lĩnh vực này trong sự phát triển của các hệ thống và các phần mềm có quy mô rất rộng, hoặc khi uất hiện các mạng có hiệu suất cao
1.4 Xây dựng và phân loại các hệ thống phân tán
1.4.1 Phần cứng
Flynn ’s Taxonomy (1972) là một phân loại các kiến trúc máy tính đề uấ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
Bảng 1.2 Cấu trúc máy tính theo mô hình Flynn’s Taxonomy
Single Instruction Multiple Instruction
SISD (Single Instruction, Single Data) là một thuật ng ám chỉ đến một kiến
trúc máy tính, trong đó một bộ l đơn, uniprocessor một, thực thi một òng chỉ
Trang 13ẫn uy nhất, để hoạt động trên liệu lưu trong một bộ nhớ uy nhất Điều này tương ng với kiến trúc Von Neumann
SISD là một trong bốn phân loại chính như định nghĩa trong phân loại của Flynn Trong hệ thống phân loại ựa trên số lượng đồng thời hướng ẫn và các luồng liệu hiện nay trong kiến trúc máy tính Theo Michael J Flynn, SISD có thể có đặc điểm l đồng thời
Hình 1.2 Kiến trúc SISD
SIMD (Single Instruction, Multiple Data; colloquially, "vector instructions") :
Trong máy tính SIMD là một kỹ thuật làm việc để đạt được m c độ l liệu song song
Hình 1.3 Kiến trúc SIMD
MISD (Multiple Instruction, Single Data) : Trong máy tính MISD là một kiểu
kiến trúc tính toán song song, nơi các đơn vị ch c năng thực hiện nhiều hoạt động khác nhau trên cùng liệu Kiến trúc đường ống (Pipeline) thuộc loại này Kiến
Trang 14trúc này không được s ng rộng r i như MIMD và SIMD thường thích hợp hơn cho liệu phổ biến kỹ thuật song song MISD đôi khi áp ng để phân loại các
hệ thống ự phòng
Hình 1.4 Kiến trúc SISD
MIMD (Multiple Instruction stream, Multiple Data stream) : Là một kỹ thuật
làm việc để đạt được l song song Bằng cách s ng cơ chế MIMD có một số
ch c năng của bộ vi l mà không đồng bộ và độc lập Bất c lúc nào, bộ vi
l khác nhau có thể được thực hiện hướng ẫn khác nhau trên mảnh khác nhau của liệu
Trang 15chế bộ nhớ chia sẻ có thể có bus mở rộng hoặc kiểu phân cấp Cơ chế bộ phân tán
có thể có phân hypercube hoặc lược đồ kết nối h n hợp (mesh interconnection schemes)
SMP (Symmetric Multi-Processing) : Trong máy tính SMP liên quan đến một
kiến trúc máy tính đa l gồm hai hoặc nhiều bộ vi l giống hệt nhau có thể kết nối với một bộ nhớ đơn chính được chia sẻ Hầu hết các hệ thống đa l phổ biến hiện nay s ng một kiến trúc SMP Trong trường hợp l đa lõi, kiến trúc SMP áp ng cho các lõi, l như là bộ vi l riêng biệt
Hệ thống SMP cho phép bất k bộ vi l có làm việc trên bất k nhiệm v nào mà các liệu không phải cho nhiệm v được đặt trong bộ nhớ Với sự h trợ
hệ điều hành thích hợp, các hệ thống SMP có thể ễ àng i chuyển nhiệm v gi a các bộ vi l để cân bằng khối lượng công việc một cách hiệu quả
Tất cả các CPU kết nối với bus chia sẻ Hệ thống trông giống như từ bộ vi
l
Hình 1.6 a Trường hợp xử lý quá tải trên bus
Để đối phó với tình trạng quá tải trên bus, người ta thực hiện:
+Thêm bộ nhớ địa phương : CPU nào l I / O thì sẽ bổ sung bộ nhớ cache +Truy cập bộ nhớ chính trên bộ nhớ cache l i
Hình 1.6 b Bổ sung thêm bộ nhớ cache trên CPU xử lý I/O
Làm việc với cache
Trang 16Để thực hiện s a lại giá trị trên, thực hiện bằng cách viết tất cả giá trị bus đi
qua đến bộ nhớ chính CPU A bằng cách s a lại vị trí 12345 – write-through
Bộ nhớ cache bây giờ sẽ như sau :
Trang 17Hình 1.6 f CPU A thực hiện Write-through để sửa lại vị trí 12345
- CPU B đọc vị trí 12.345 từ bộ nhớ
- Nạp vào bộ nhớ cache
Hình 1.6 g CPU B đọc vị trí 12.345 từ bộ nhớ
- CPU A đổi vị trí 12.345
- Thực hiện Write- through
- Cache trên CPU B không được cập nhật
- Bộ nhớ không kết hợp
Hình 1.6 h Kết hợp xử lý giữa CPU A và B
Snoopy cache
- Thêm logic cho m i bộ điều khiển bộ nhớ cache
- Giám sát hoạt động bus
Trang 18- Hầu như tất cả các kiến trúc cơ sở bus s ng một bộ nhớ cache snoopy
Hình 1.6 i Trường hợp bổ sung Snoopy cache
Switched multiprocessors
- Với n CPUs và n mo ul bộ nhớ :
+ Cần log2n trạng thái chuyển đổi, m i trạng thái có n/2 lần chuyển đổi Tổng cộng : (nlog2n)/2 chuyển đổi
+ Nhanh hơn n2 , nhưng giá thành còn đắt
Hình 1.7 Kiến trúc Switched multiprocessors
Kiế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
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
Crossbar alternative: Mạng omega
Giảm điểm chuyển mạch bằng cách thêm nhiều giai đoạn chuyển đổi
Trang 19Hình 1.8 Kiến trúc mạng Omega
NUMA(Non-Uniform Memory Access or Non-Uniform Memory Architecture)
là một thiết kế bộ nhớ máy tính được s ng trong multiprocessors, nơi mà thời gian truy cập bộ nhớ ph thuộc vào vị trí bộ nhớ tương đối với một bộ l Với Numa, một bộ l có thể truy cập bộ nhớ địa phương của nó nhanh hơn bộ nhớ không c c bộ; nghĩa là, bộ nhớ địa phương đến một bộ l khác hay bộ nhớ chia
sẻ gi a các bộ vi l
Hình 1.9 Kiến trúc NUMA
Kiến trúc Numa tổ ch c theo kiến trúc đa l đối ng (SMP) Sau đó, nó được thương mại hóa bởi Burroughs, Hewlett-Packard, Silicon Graphics, Computer Systems v.v…trong nh ng năm 1990 Kỹ thuật được phát triển và s
ng trong một loạt các kiểu hệ điều hành Uni , Linu (Linu 2.5 kernel ) và một phần nào trong Win ows NT
Bus-based multicomputers
- Không có bộ nhớ chia sẻ
- Cơ chế giao tiếp cần hoạt động trên bus:
Trang 20+Giao thông thấp hơn nhiều so với bộ nhớ truy cập
+Không cần bus hệ thống vật l
- Có thể s ng LAN để thay thế
Hình 1.10 Sự kết hợp của các máy trạm trên LAN
Switched multicomputers
Kết nối của các máy trạm trên mạng LAN :
Hình 1.11 Mô hình kết nối các máy tính trên LAN
1.4.1 Phần mềm
Hệ thống đơn
Sự kết hợp của các máy tính độc lập uất hiện như một hệ thống đơn với người ùng
Đặc điểm của hệ thống này được thể hiện:
- Độc lập ( In epen ent): Có khả năng tự trị (autonomous)
- Hệ thống đơn (Single system): Người ùng không nhận th c được phân tán
Trang 21a DOS (distributed OS)
- Là hệ điều hành cho các hệ multiproccessor và các hệ homogenous
multicomputer
- M c tiêu là ẩn giấu và cung cấp các ịch v quản trị tài nguyên
- Đặc điểm là các ịch v có thể được thực hiện bởi các lời triệu gọi từ a
b NOS (Network OS)
- Là hệ điều hành cho các hệ thống heterogenous multicomputer (LAN, WAN)
- M c tiêu của NOS là cung cấp các ịch v từ a
Mô hình client-server là một mô hình nổi tiếng trong mạng máy tính, được áp
d ng rất rộng r i và là mô hình của mọi trang web hiện có Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách) g i một yêu cầu (request) để máy chủ (đóng vai trò người cung ng dịch v ), máy chủ sẽ x l yêu cầu và trả kết quả về cho máy khách
Trang 22Hình 1.12 Mô hình client-server
Ví : Khi truy cập vào internet vào địa chỉ :
http://www.PTIT.edu.com/A1/A2/index yêu cầu hiển thị nội ung trang chủ ưới ạng web ở máy chủ về client Yêu cầu này phải chính ác thì server mới hiểu được A1, A2 là 2 thư m c trên máy chủ PTIT.e u.com
- Client: G i yêu cầu và đợi đến khi server trả kết quả thì hiển thị
- Server: Nếu máy chủ này không có thông tin, nó sẽ phải kết nối đến các máy chủ khác có thông tin đó để l và trả về kết quả cho client Nếu thông tin có trên máy chủ mình yêu cầu thì gọi là 2 lớp Nếu thông tin có trên máy chủ khác mà phải kết nối thì gọi là n lớp Gi a các máy chủ liên kết với nhau ùng peer to peer
- Trên mạng TCP, các ịch v chủ yếu ùng mô hình này
Thuật ng server được ùng cho nh ng chương trình thi hành như một ịch
v trên toàn mạng Các chương trình server này chấp nhận tất cả các yêu cầu hợp
lệ đến từ mọi nơi trên mạng, sau đó nó thi hành ịch v và trả kết quả về máy yêu cầu Một chương trình được coi là client khi nó g i các yêu cầu tới máy có chương trình server và chờ đợi câu trả lời từ server Chương trình server và client nói chuyện với nhau bằng các thông điệp (messages) thông qua một cổng truyền thông liên tác IPC (Interprocess Communication) Để một chương trình server và một chương trình client có thể giao tiếp được với nhau thì gi a chúng phải có một chuẩn để nói chuyện, chuẩn này được gọi là giao th c Nếu một chương trình client nào đó muốn yêu cầu lấy thông tin từ server thì nó phải tuân theo giao th c
Trang 23mà server đó đưa ra Bản thân chúng ta khi cần ây ựng một mô hình client/server c thể thì ta cũng có thể tự tạo ra một giao th c riêng nhưng thường chúng ta chỉ làm được điều này ở tầng ng ng của mạng Với sự phát triển mạng như hiện này thì có rất nhiều giao th c chuẩn trên mạng ra đời nhằm đáp ng nhu cầu phát triển này Các giao th c chuẩn (ở tầng mạng và vận chuyển) được s
ng rộng r i nhất hiện nay như: giao th c TCP/IP, giao th c SNA của IBM, OSI, ISDN, X.25 hoặc giao th c LAN-to-LAN NetBIOS Một máy tính ch a chương trình server được coi là một máy chủ hay máy ph c v (server) và máy ch a chương trình client được coi là máy tớ (client) Mô hình mạng trên đó có các máy chủ và máy tớ giao tiếp với nhau theo 1 hoặc nhiều ịch v được gọi là mô hình client/server Thực tế thì mô hình client/server là sự mở rộng tự nhiên và tiện lợi cho việc truyền thông liên tiến trình trên các máy tính cá nhân Mô hình này cho phép ây ựng các chương trình client/server một cách ễ àng và s ng chúng
để liên tác với nhau để đạt hiệu quả hơn
Mô hình client/server như sau: Client/Server là mô hình tổng quát nhất, trên thực tế thì một server có thể được nối tới nhiều server khác nhằm làm việc hiệu quả và nhanh hơn Khi nhận được 1 yêu cầu từ client, server này có thể g i tiếp yêu cầu vừa nhận được cho server khác ví như atabase server vì bản thân nó không thể l yêu cầu này được Máy server có thể thi hành các nhiệm v đơn giản hoặc ph c tạp Ví như một máy chủ trả lời thời gian hiện tại trong ngày, khi một máy client yêu cầu lấy thông tin về thời gian nó sẽ phải g i một yêu cầu theo một tiêu chuẩn o server định ra, nếu yêu cầu được chấp nhận thì máy server
sẽ trả về thông tin mà client yêu cầu Có rất nhiều các ịch v server trên mạng nhưng nó đều hoạt động theo nguyên l là nhận các yêu cầu từ client sau đó l
và trả kết quả cho client yêu cầu Thông thường chương trình server và client được thi hành trên hai máy khác nhau Cho ù lúc nào server cũng ở trạng thái sẵn sàng chờ nhận yêu cầu từ client nhưng trên thực tế một tiến trình liên tác qua lại (interaction) gi a client và server lại bắt đầu ở phía client, khi mà client g i tín hiệu yêu cầu tới server Các chương trình server thường đều thi hành ở m c ng