1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán

48 2,8K 26

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 48
Dung lượng 1,58 MB

Nội dung

Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán 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 độ xử lý, sự tin cậy của hệ thống ngay cả khi có sự cố xả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, do đó 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.

Trang 1

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ínhlớ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ácmá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ềumáy tính và dữ liệu như người sử dụ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 dụ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 dạng và nhiều nhà nghiên cứu đang điều tracá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 xử 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 xem xé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 2

MỤC LỤC

Chương 1 TỔNG QUAN VỀ HỆ PHÂN TÁN 3

1.1 Lý do ra đời hệ thống phân tán 3

1.2 Định nghĩa về hệ thống phân tán 6

1.3 Những đặc trưng chủ yếu của hệ phân tán 9

1.4 Xây dự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í dụ về hệ thống phân tán 29

Chương 2 TRUYỀN THÔNG TRONG HỆ PHÂN TÁN 33

2.1 Lời gọi thủ tục từ xa (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 xa 34

2.2 Kích hoạt phương thức xa (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 dụ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 dụng Client-Server theo kiểu RMI 39

2.3 So sánh RPC và RMI 40

2.4 Kết luận chương 2 41

Chương 3 ỨNG DỤNG HỆ PHÂN TÁN 42

3.1 Một số bài toán ứng dụng hệ phân tán 42

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 43

3.2.2 Cơ chế hoạt động của hệ thống 44

KẾT LUẬN 47

TÀI LIỆU THAM KHẢO 48

Trang 3

Chươ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 trongtương lai: về tốc độ xử lý, sự tin cậy của hệ thống ngay cả khi có sự cố xả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, do đó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ôngnghệ thay đổi và nhu cầu của người sử dụ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à David Boggs tại Xerox

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 doanh giữa kỹ thuật số giữa Intel vàXerox 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ử dụ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àynay, 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ử dụng cáp xoắn đôi (twisted 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ử dụng cho LAN không

Trang 4

2005 : 100 Gbps sử dụ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ử dụng gatewaysgiao tiếp giữa các mạng khác nhau, hình thức kết nối là dial –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 diễn ra trên Internet

Năm 1 Dolar/ 1Mb Loại

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ứcmột thời gian như :

- Thực hiện mã hóa công khai dự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 dữ liệu cho truyền

dữ liệu hoặc lưu trữ (Ví dụ 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ể :

Trang 5

1987 : Đĩ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ủaBillboard : 4,207 bài nhạc, kích thước mỗi bài : 4.4 MB; dung lượng 18 GBs.Thực hiện 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ưu tập đó Ngày nay, để download 1 bài hát với kíchthướ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ánphân toán ( distributed computing) Nhờ tính toán phân tán, tận dụng sức mạnh donhiề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ùngmột thời gian, đạt hiệu suất cao và độ tin cậy cao Sự quan tâm đến hệ thống máytính phân tán được phát triển nhanh chóng trong hơn một thập kỉ qua Các đốitượng nghiên cứu về hệ phân tán rất đa dạng, liên quan đến lĩnh vực khác nhaunhư: 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ể xử

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ử dụng một hệ thốngphân tán đòi hỏi một tập hợp của nhiều bộ xử lý làm việc chặt chẽ với nhau để giảiquyế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 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

Trang 6

- 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 tinv.v…

Các thách thức :

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 nào để xử lý phân tán ?

- Sử dụ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 dụng trên mạng : Dễ bị mất kết nối, thất thoát dữ liệu, tiềmtả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à 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

Đị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 dộ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ở dữ 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 dụ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 dụng mà ta có các định nghĩa chophù hợp :

Trang 7

Song song (Parallel): Thao tác trên dữ 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 dữ liệu (multiple-data – SIMD)sử dụngnhiều thành phần xử lý dữ liệu để thực hiện cùng một hoạt động hoặc tương tự vềnhiều bản ghi dữ 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 dữ 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ử dụng 3 kích thướccủ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.

Hình 1.1 Mô hình một hệ phân tán tổng quát.

Trang 8

Trong đó :

+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 nhất một hệ thống I / O

Cơ sở dữ 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 and partition)

- Một cơ sở dữ liệu được tái tạo (replicated): có một số bản sao của cơ sở dữliệu giao cho các địa điểm khác nhau Một cơ sở dữ liệu partitioned: nếu nó được

Trang 9

phân chia thành các cơ sở dữ liệu phụ và sau đó mỗi phụ cơ sở dữ liệu được phâncô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ở 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ụcbộ

+D3 :Cơ sở dữ liệu tái tạo vớivới một bản sao của tập tin và thư mục ở mỗisite

+D4 : Cơ sở dữ liệu phân vùng với cơ sở dữ liệu master mà giữ được một bảnsao 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ộtthư 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

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)

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ữ dụ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.

Trang 10

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ở dữ liệu và những đối tượng dữ liệukhác Lợi ích của việc truy cập và hệ thống chứa các cơ sở dữ 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ờigian hoắc hệ thống nhiều người sử dụng vào đầu những năm 1960 và các hệ thốngUNIX MultiUser và những năm 1970.

Tài nguyên của máy tính nhiều người dùng thường được dùng chung cho tất cảnhững người sử dụng nó, những người làm việc trong các máy trạm đơn lẻ của cácmá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 Để dùng chung một cách hiệuquả, tài nguyên phải được quản lý bằng một chương trình cung cấp giao diệntruyền thống cho phép truy cập vào tài nguyên chung, sử dụng và cập nhật tàinguyên thường xuyê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 để xác định xem 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 xét dựa theo khả năng hỗ trợ việc mở rộng của thiết bị phần cứng ( ví dụ : bổsung các thiết bị ngoại vi, bộ nhớ và các giao diệ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 giaothức truyền thông và các dị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 dịch vụ chia sẻ tài nguyên mà không phá

vỡ hoặc lặp lại các dịch vụ hiện có

Tính mở được thể hiện nhờ những giao diện phần mềm chủ chốt của hệ thốnggiao diện đó được xác định rõ và lập thành tài liệu sẵn cho những người phát triểnphầ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

Trang 11

thời xảy ra khi thực hiện xen kẽ các phần của một tiến trình Nếu máy có n bộ xử

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ộ xử lýtrung tâm Nếu có m máy, mỗi máy có một bộ xử lý trung tâm thì sẽ có tới m tiếntrì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ântán dự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ớihai lý do:

- Nhiều người sử dụng đồng thời gọi tới lệnh hoặc tương tác với cácchương trình ứng dụ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 xâydự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ố fileserver, print Server và các server có mục đích khác nhau Một số mạng LANthườ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ể baogồ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ăngchia sẻ tài nguyên của chúng

Phần mềm hệ thống và phần mềm ứng dụ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ếtcá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ữngnghiê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ácphần mềm có quy mô rất rộng, hoặc khi xuất hiện các mạng có hiệu suất cao

Trang 12

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 đề 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.

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ộ xử lý đơn, uniprocessor một, thực thi một dòng chỉdẫn duy nhất, để hoạt động trên dữ liệu lưu trong một bộ nhớ duy nhất Điều nàytươ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ủaFlynn Trong hệ thống phân loại dựa trên số lượng đồng thời hướng dẫn và cácluồng dữ 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 xử 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 độ xử lý dữ liệusong song

Trang 13

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 độngkhác nhau trên cùng dữ liệu Kiến trúc đường ống (Pipeline) thuộc loại này Kiếntrúc này không được sử dụng rộng rãi như MIMD và SIMD thường thích hợp hơncho dữ liệu phổ biến kỹ thuật song song MISD đôi khi áp dụng để phân loại các

hệ thống dự 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 xử lý song song Bằng cách sử dụng cơ chế MIMD có một sốchức năng của bộ vi xử lý mà không đồng bộ và độc lập Bất cứ lúc nào, bộ vi xử

lý khác nhau có thể được thực hiện hướng dẫn khác nhau trên mảnh khác nhau của

dữ liệu

Trang 14

Hình 1.5 Kiến trúc MIMD.

Kiến trúc MIMD có thể được sử dụng trong một số lĩnh vực ứng dụng như máytính hỗ trợ thiết kế, máy tính hỗ trợ sản xuất, mô phỏng, làm mẫu và là thiết bịchuyển mạch giao tiếp Cơ chế MIMD có thể được bộ nhớ chia sẻ hoặc bộ nhớphân tán Phân loại này được dựa trên cách bộ vi xử lý truy cập bộ nhớ MIMD Cơchế 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 interconnectionschemes)

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 xử lý gồm hai hoặc nhiều bộ vi xử 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 xử lý phổbiến hiện nay sử dụng một kiến trúc SMP Trong trường hợp xử lý đa lõi, kiến trúcSMP áp dụng cho các lõi, xử lý như là bộ vi xử lý riêng biệt

Hệ thống SMP cho phép bất kỳ bộ vi xử lý có làm việc trên bất kỳ nhiệm vụnào mà các dữ 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ể dễ dàng di chuyển nhiệm vụ giữacác bộ vi xử 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 xửlý

Trang 15

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 xử 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

CPU A đọc vị trí 12345 từ ô nhớ :

Hình 1.6 c CPU A đọc vị trí trên bộ nhớ vào cache chịu lỗi.

CPU A sử vị trí 12345

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 :

Hì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

Trang 17

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

- Hầu như tất cả các kiến trúc cơ sở bus sử dụng một bộ nhớ cache snoopy

Hình 1.6 i Trường hợp bổ sung Snoopy cache.

Trang 18

Switched multiprocessors

- Với n CPUs và n modul 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ếntrú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 đượccấ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 19

NUMA(Non-Uniform Memory Access or Non-Uniform Memory Architecture)

là một thiết kế bộ nhớ máy tính được sử dụng trong multiprocessors, nơi mà thờigian truy cập bộ nhớ phụ thuộc vào vị trí bộ nhớ tương đối với một bộ xử lý VớiNuma, một bộ xử 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ộ xử lý khác hay bộ nhớ chia

sẻ giữa các bộ vi xử lý

Hình 1.9 Kiến trúc NUMA.

Kiến trúc Numa tổ chức theo kiến trúc đa xử lý đối xứ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ửdụng trong một loạt các kiểu hệ điều hành Unix, Linux (Linux 2.5 kernel ) và mộtphần nào trong Windows NT

Bus-based multicomputers

- Không có bộ nhớ chia sẻ

- Cơ chế giao tiếp cần hoạt động trên bus:

+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ử dụng LAN để thay thế

Trang 20

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 xuất hiện như một hệ thống đơn với ngườidù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

Phần mềm hệ thống phân tán

Trang 21

“You know you have a distributed system when the crash of a computer you’ve never heard of stops you from getting any work done.”

– Leslie Lamport

Các khái niệm phần mềm :

a 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 dịch vụ quản trị tài nguyên

- Đặc điểm là các dịch vụ có thể được thực hiện bởi các lời triệu gọi từ xa

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 dịch vụ từ xa

Trang 22

Hình 1.12 Mô hình client-server

Ví dụ: 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 dung trang chủdưới dạng web ở máy chủ về client Yêu cầu này phải chính xác thì server mớihiểu được A1, A2 là 2 thư mục trên máy chủ PTIT.edu.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ácmáy chủ khác có thông tin đó để xử lý và trả về kết quả cho client Nếuthô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ênkết với nhau dùng peer to peer

- Trên mạng TCP, các dịch vụ chủ yếu dùng mô hình này

Thuật ngữ server được dùng cho những chương trình thi hành như một dị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 dịch vụ và trả kết quả về máy yêucầ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ươngtrình server và chờ đợi câu trả lời từ server Chương trình server và client nóichuyện với nhau bằng các thông điệp (messages) thông qua một cổng truyền thôngliên tác IPC (Interprocess Communication) Để một chương trình server và mộtchương trình client có thể giao tiếp được với nhau thì giữa chúng phải có một

Trang 23

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

mà server đó đưa ra Bản thân chúng ta khi cần xây dựng một mô hìnhclient/server cụ thể thì ta cũng có thể tự tạo ra một giao thức riêng nhưng thườngchúng ta chỉ làm được điều này ở tầng ứng dụng của mạng Với sự phát triển mạngnhư 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 nhucầ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ửdụ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ươngtrình server được coi là một máy chủ hay máy phục vụ (server) và máy chứachương trình client được coi là máy tớ (client) Mô hình mạng trên đó có các máychủ và máy tớ giao tiếp với nhau theo 1 hoặc nhiều dịch vụ được gọi là mô hìnhclient/server Thực tế thì mô hình client/server là sự mở rộng tự nhiên và tiện lợicho 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 chophép xây dựng các chương trình client/server một cách dễ dàng và sử dụ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ênthự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ệuquả và nhanh hơn Khi nhận được 1 yêu cầu từ client, server này có thể gửi tiếpyêu cầu vừa nhận được cho server khác ví dụ như database server vì bản thân nókhông thể xử lý yêu cầu này được Máy server có thể thi hành các nhiệm vụ đơngiản hoặc phức tạp Ví dụ 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ầutheo một tiêu chuẩn do 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 dịch vụ server trên mạngnhưng nó đều hoạt động theo nguyên lý là nhận các yêu cầu từ client sau đó xử lý

và trả kết quả cho client yêu cầu Thông thường chương trình server và client đượcthi hành trên hai máy khác nhau Cho dù lúc nào server cũng ở trạng thái sẵn sàngchờ 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

Trang 24

(interaction) giữa client và server lại bắt đầu ở phía client, khi mà client gửi tínhiệu yêu cầu tới server Các chương trình server thường đều thi hành ở mức ứngdụng (tầng ứng dụng của mạng) Sự thuận lợi của phương pháp này là nó có thểlàm việc trên bất cứ một mạng máy tính nào có hỗ trợ giao thức truyền thôngchuẩn cụ thể ở đây là giao thức TCP/IP Với các giao thức chuẩn này cũng giúpcho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng

mà không gặp phải khó khăn gì Với các chuẩn này thì các chương trình server chomột dịch vụ nào đấy có thể thi hành trên một hệ thống chia sẻ thời gian(timesharing system) với nhiều chương trình và dịch vụ khác hoặc nó có thể chạytrên chính một máy tính các nhân bình thường Có thể có nhiều chương servercùng làm một dịch vụ, chúng có thể nằm trên nhiều máy tính hoặc một máy tính.Với mô hình trên chúng ta nhận thấy rằng mô hình client/server chỉ mang đặcđiểm của phần mềm không liên quan gì đến phần cứng mặc dù trên thực tế yêu cầucho một máy server là cao hơn nhiều so với máy client Lý do là bởi vì máy serverphải quản lý rất nhiều các yêu cầu từ các clients khác nhau trên mạng Ưu vànhược điểm chính Có thể nói rằng với mô hình client/server thì mọi thứ dườngnhư đều nằm trên bàn của người sử dụng, nó có thể truy cập dữ liệu từ xa (baogồm các công việc như gửi và nhận file, tìm kiếm thông tin, ) với nhiều dịch vụ

đa dạng mà mô hình cũ không thể làm được Mô hình client/server cung cấp mộtnền tảng lý tưởng cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kếhướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS) Một trong những vấn

đề nảy sinh trong mô hình này đó là tính an toàn và bảo mật thông tin trên mạng

Do phải trao đổi dữ liệu giữa 2 máy ở 2 khu vực khác nhau cho nên dễ dàng xảy rahiện tượng thông tin truyền trên mạng bị lộ

Client Trong mô hình client/server, người ta còn định nghĩa cụ thể cho mộtmáy client là một máy trạm mà chỉ được sử dụng bởi 1 người dùng với để muốnthể hiện tính độc lập cho nó Máy client có thể sử dụng các hệ điều hành bìnhthường như Win9x, DOS, OS/2 Bản thân mỗi một client cũng đã được tích hợp

Ngày đăng: 13/08/2014, 12:26

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Colin J. Fidge (February 1988). "Timestamps in Message-Passing Systems That Preserve the Partial Ordering". In K. Raymond (Ed.). Proc. of the 11th Australian Computer Science Conference (ACSC'88). pp. 56–66. Retrieved 2009- 02-13 Sách, tạp chí
Tiêu đề: Timestamps in Message-Passing Systems That Preserve the Partial Ordering
[2].Mattern, F. (October 1988), "Virtual Time and Global States of Distributed Systems", in Cosnard, M., Proc. Workshop on Parallel and Distributed Algorithms, Chateau de Bonas, France: Elsevier, pp. 215–226 Sách, tạp chí
Tiêu đề: Virtual Time and Global States of Distributed Systems
[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 Sách, tạp chí
Tiêu đề: Interval Tree Clocks: A Logical Clock for Dynamic Systems
Tác giả: lmeida, Paulo; Baquero, Carlos; Fonte, Victor
Năm: 2008
[4]. Torres-Rojas, Francisco; Ahamad, Mustaque (1999), "Plausible clocks: constant size logical clocks for distributed systems", Distributed Computing (Springer Verlag) 12 (4): 179–195 Sách, tạp chí
Tiêu đề: Plausible clocks: constant size logical clocks for distributed systems
Tác giả: Torres-Rojas, Francisco; Ahamad, Mustaque
Năm: 1999
[5]. S. Mullender ed., "Distributed Systems", 2nd ed., Addison-Wesley, 1993 [6]. Jie Wu, "Distributed Systems Design", Addison-Wesley, 2008 Sách, tạp chí
Tiêu đề: Distributed Systems", 2nd ed., Addison-Wesley, 1993 [6]. Jie Wu, "Distributed Systems Design
[7]. G. Coulouris, J. Dollimore, T. Kinberg, "Distributed systems : Conceptand Design“, Australia. IASTED, ACTA Press Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Mô hình một hệ phân tán tổng quát. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.1. Mô hình một hệ phân tán tổng quát (Trang 7)
Bảng 1.2. Cấu trúc máy tính theo mô hình Flynn’s Taxonomy Single Instruction Multiple Instruction - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Bảng 1.2. Cấu trúc máy tính theo mô hình Flynn’s Taxonomy Single Instruction Multiple Instruction (Trang 12)
Hình 1.3 Kiến trúc SIMD. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.3 Kiến trúc SIMD (Trang 13)
Hình 1.6 e. Xử lý của CPU B - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.6 e. Xử lý của CPU B (Trang 16)
Hình 1.6 d. CPU A sửa vị trí 12345. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.6 d. CPU A sửa vị trí 12345 (Trang 16)
Hình 1.6 g. CPU B đọc vị trí 12.345 từ bộ nhớ. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.6 g. CPU B đọc vị trí 12.345 từ bộ nhớ (Trang 17)
Hình 1.6 i. Trường hợp bổ sung Snoopy cache. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.6 i. Trường hợp bổ sung Snoopy cache (Trang 17)
Hình 1.6 h. Kết hợp xử lý giữa CPU A và B. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.6 h. Kết hợp xử lý giữa CPU A và B (Trang 17)
Hình 1.7 Kiến trúc Switched multiprocessors. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.7 Kiến trúc Switched multiprocessors (Trang 18)
Hình 1.9  Kiến trúc NUMA. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.9 Kiến trúc NUMA (Trang 19)
Hình 1.10 Sự kết hợp của các máy trạm trên LAN. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.10 Sự kết hợp của các máy trạm trên LAN (Trang 20)
Hình 1.11 Mô hình kết nối các máy tính trên LAN. - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.11 Mô hình kết nối các máy tính trên LAN (Trang 20)
Hình 1.12 Mô hình client-server - Tiểu luận Ứng dụng của hệ phân tán để giải một số bài toán phân tán
Hình 1.12 Mô hình client-server (Trang 22)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w