Bài giảng hệ thống phân tán

download Bài giảng hệ thống phân tán

of 53

Transcript of Bài giảng hệ thống phân tán

  • 8/20/2019 Bài giảng hệ thống phân tán

    1/147

    HỌC VIỆN CÔNG NGHỆ BƯ U CHÍNH VIỄN THÔNGKHOA CÔNG NGHỆ THÔNG TIN 1

    BÀI GIẢ NGHỆ THỐ NG PHÂN TÁN

    (Dùng cho đề cươ ng INT 1 4 05)

     Ngườ i soạn biên: ThS. Nguyễn Xuân AnhĐơ n vị công tác: Bộ môn Hệ thống thông tin

    Khoa CNTT 1

    Hà nội 12/2014

  • 8/20/2019 Bài giảng hệ thống phân tán

    2/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    2

    MỤC LỤC

    CHƯƠ NG 1: TỔ NG QUAN VỀ CÁC HỆ THỐ NG PHÂN TÁN.......................................6

    1.1 Hệ thống phân tán là gì...............................................................................................6

    1.2 Phân loại các hệ thống phân tán ................................................................................71.2.1  Các hệ thống điện toán phân tán............................................................7 

    1.2.1.1 Hệ thống điện toán cụm..................................................................................71.2.1.2 Hệ thống điện toán lướ i ..................................................................................8

    1.2.2  Các hệ thống thông tin phân tán ............................................................9 1.2.3  Các hệ thống lan tỏa phân tán..............................................................10 

    1.3 Các đặc tr ưng và mục tiêu thiết k ế cơ  bản của các hệ thống phân tán ....................11

    1.3.1  K ết nối ngườ i sử dụng và tài nguyên hệ thống....................................11 1.3.2  Trong suốt đối vớ i ngườ i sử dụng .......................................................11 1.3.3  Tính mở  của hệ thống ..........................................................................12 

    1.3.4  Qui mô mở  r ộng hệ thống....................................................................12 1.4 Các kiến trúc của các hệ thống phân tán ..................................................................121.4.1  Các kiểu hệ thống phân tán..................................................................12 1.4.2  Phân loại kiến trúc hệ thống phân tán .................................................15 

    CHƯƠ NG 2: VẤ N ĐỀ VÀ GIẢI PHÁP TRONG HỆ THỐ NG PHÂN TÁN...................20

    2.1 Truyền thông ............................................................................................................20

    2.1.1  Cơ  sở  truyền thông ..............................................................................20 2.1.1.1 Giao thức mạng ............................................................................................202.1.1.2 Phân loại truyền thông..................................................................................23

    2.1.2  Gọi thủ tục xa ......................................................................................25 2.1.2.1 Cơ  chế hoạt động của phươ ng pháp gọi thủ tục từ xa ..................................25

    2.1.2.2 Vấn đề truyền tham số ..................................................................................282.1.2.3 Gọi thủ tục từ xa bằng phươ ng pháp không đồng bộ ...................................292.1.2.4 Mô hình đối tượ ng phân tán .........................................................................29

    2.1.3  Truyền thông hướ ng thông điệ p ..........................................................32 2.1.3.1 Tính bền bỉ và tính đồng bộ trong trao đổi thông tin....................................322.1.3.2 Truyền tin nhanh hướ ng thông điệ p .............................................................33

    2.1.4  Truyền thông hướ ng luồng ..................................................................34 2.1.5  Truyền thông theo nhóm......................................................................34 

    2.2 Đặt tên ......................................................................................................................34

    2.2.1  Tên, định danh và địa chỉ.....................................................................34 2.2.2  Đặt tên phẳng.......................................................................................35 

    2.2.2.1 Các giải pháp đơ n giản .................................................................................352.2.2.2 Cách tiế p cận dựa trên nguồn gốc ................................................................352.2.2.3 Bảng băm phân tán .......................................................................................352.2.2.4 Cách tiế p cận phân cấ p .................................................................................40

    2.2.3  Đặt tên có cấu trúc ...............................................................................40 2.2.3.1 Không gian tên .............................................................................................402.2.3.2 Phân giải tên .................................................................................................412.2.3.3 Cài đặt không gian tên ..................................................................................422.2.3.4 Ví dụ về hệ thống tên miền...........................................................................42

  • 8/20/2019 Bài giảng hệ thống phân tán

    3/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    3

    2.2.4  Đặt tên dựa trên thuộc tính ..................................................................47 2.2.4.1 Dịch vụ thư mục ...........................................................................................482.2.4.2 Cài đặt phân cấ p LDAP................................................................................482.2.4.3 Cài đặt không tậ p trung ................................................................................49

    2.3 Đồng bộ ....................................................................................................................49

    2.3.1  Đồng bộ đồng hồ .................................................................................49 2.3.1.1 Đồng hồ vật lý ..............................................................................................502.3.1.2 Hệ thống định vị toàn cầu.............................................................................502.3.1.3 Các giải thuật đồng bộ đồng hồ ....................................................................51

    2.3.2  Đồng hồ logic ......................................................................................52 2.3.2.1 Đồng hồ logic Lamport ................................................................................522.3.2.2 Đồng hồ vector .............................................................................................532.3.2.3 Các tr ạng thái toàn cục .................................................................................54

    2.3.3  Loại tr ừ tươ ng hỗ .................................................................................56 2.3.3.1 Giải thuật tậ p trung.......................................................................................562.3.3.2 Giải thuật không tậ p trung............................................................................572.3.3.3 Giải thuật phân tán........................................................................................57

    2.3.3.4 Giải thuật thẻ bài ..........................................................................................582.3.3.5 So sánh các giải thuật loại tr ừ.......................................................................582.3.4  Định vị toàn cầu các nút ......................................................................58 2.3.5  Các giải thuật bầu chọn .......................................................................59 

    2.3.5.1 Các giải thuật bầu chọn truyền thống ...........................................................592.3.5.2 Bầu chọn trong môi tr ườ ng không dây.........................................................602.3.5.3 Bầu chọn trong các hệ thống qui mô lớ n......................................................61

    2.4 Tiến trình trong các hệ thống phân tán.....................................................................61

    2.4.1  Các luồng.............................................................................................62 2.4.1.1 Khái niệm luồng ...........................................................................................622.4.1.2 Luồng trong các hệ thống độc lậ p ................................................................63

    2.4.1.3 Cài đặt luồng.................................................................................................642.4.1.4 Luồng trong các hệ thống phân tán ..............................................................652.4.2  Ảo hóa..................................................................................................67 

    2.4.2.1 Vai trò ảo hóa trong các hệ thống phân tán..................................................672.4.2.2 Kiến trúc của các máy ảo..............................................................................68

    2.4.3  Máy khách ...........................................................................................69 2.4.3.1 Các giao diện ngườ i dùng mạng...................................................................692.4.3.2 Tính trong suốt phân bố tài nguyên..............................................................69

    2.4.4  Máy chủ ...............................................................................................70 2.4.4.1 Các vấn đề thiết k ế chung.............................................................................702.4.4.2 Cụm máy chủ................................................................................................712.4.4.3 Quản lý cụm máy chủ ...................................................................................72

    2.4.5  Di trú mã.............................................................................................72 2.4.5.1 Các giải pháp di trú mã.................................................................................722.4.5.2 Di trú và tài nguyên cục bộ...........................................................................742.4.5.3 Di trú trong hệ thống không đồng nhất.........................................................74

    2.5 Quản tr ị giao tác và điều khiển tươ ng tranh .............................................................74

    2.5.1  Các giao tác .........................................................................................75 2.5.2  Các giao tác lồng nhau.........................................................................76 2.5.3  Các khóa ..............................................................................................76 

  • 8/20/2019 Bài giảng hệ thống phân tán

    4/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    4

    2.5.4  Điều khiển tươ ng tranh tối ưu..............................................................77 2.5.5  Trình tự nhãn thờ i gian ........................................................................77 

    2.6 Phục hồi và chịu lỗi ..................................................................................................78

    2.6.1  Giớ i thiệu tính chịu lỗi.........................................................................78 2.6.1.1 Một số khái niệm cơ  bản ..............................................................................78

    2.6.1.2 Các mô hình lỗi ............................................................................................782.6.1.3 Che giấu lỗi bằng biện pháp dư thừa............................................................792.6.2  Tiến trình bền bỉ ..................................................................................80 

    2.6.2.1 Những vấn đề thiết k ế...................................................................................802.6.2.2 Che giấu lỗi và nhân bản ..............................................................................802.6.2.3 Thỏa thuận trong các hệ thống lỗi ................................................................812.6.2.4 Phát hiện lỗi..................................................................................................82

    2.6.3  Truyền thông khách/chủ tin cậy ..........................................................82 2.6.3.1 Truyền thông điểm – điểm ...........................................................................822.6.3.2 Các tình huống lỗi trong gọi thủ tục từ xa....................................................82

    2.6.4  Truyền thông nhóm tin cậy..................................................................84 2.6.4.1 Lượ c đồ truyền thông theo nhóm tin cậy cơ  bản..........................................84

    2.6.4.2 Truyền tin nhóm tin cậy trong các hệ thống lớ n..........................................852.6.5  Cam k ết phân tán .................................................................................86 

    2.6.5.1 Cam k ết hai pha............................................................................................872.6.5.2 Cam k ết ba pha .............................................................................................87

    2.6.6  Phục hồi ...............................................................................................88 2.6.6.1 Giớ i thiệu......................................................................................................882.6.6.2 Điểm kiểm tra...............................................................................................88

    2.7 Bảo mật.....................................................................................................................88

    2.7.1  Khái niệm chung..................................................................................89 2.7.1.1 Tấn công thăm dò .........................................................................................892.7.1.2 Truy nhậ p trái phép ......................................................................................89

    2.7.1.3 Tấn công từ chối dịch vụ ..............................................................................902.7.1.4 Phần mềm độc hại ........................................................................................902.7.2  Các kênh bảo mật ................................................................................91 

    2.7.2.1 Xây dựng bức tườ ng lửa...............................................................................912.7.2.2 Xây dựng mạng riêng ảo ..............................................................................912.7.2.3 Hệ thống phát hiện và ngăn chặn đột nhậ p...................................................912.7.2.4 Xác thực truy nhậ p .......................................................................................912.7.2.5 Giớ i thiệu một số phươ ng pháp mã hóa .......................................................93

    2.7.3  Kiểm soát truy cậ p ...............................................................................94 2.7.4  Quản lý bảo mật...................................................................................95 

    2.7.4.1 Quản lý khóa................................................................................................952.7.4.2 Quản tr ị nhóm an toàn ..................................................................................962.7.4.3 Quản lý ủy quyền..........................................................................................96

    2.8 Tính nhất quán và vấn đề nhân bản..........................................................................96

    2.8.1  Khái niệm chung..................................................................................97 2.8.2  Các mô hình nhất quán lấy dữ liệu làm trung tâm ..............................97 

    2.8.2.1 Nhất quán liên tục.........................................................................................972.8.2.2 Nhất quán thứ tự các thao tác .......................................................................98

    2.8.3  Các mô hình nhất quán lấy máy khách làm trung tâm ......................102 2.8.3.1 Nhất quán sau cùng ....................................................................................102

  • 8/20/2019 Bài giảng hệ thống phân tán

    5/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    5

    2.8.3.2 Nhất quán đọc đều......................................................................................1022.8.3.3 Nhất quán ghi đều.......................................................................................1032.8.3.4 Nhất quán đọc k ết quả ghi..........................................................................1032.8.3.5 Nhất quán ghi sau khi đọc ..........................................................................104

    2.8.4  Quản lý các bản sao ...........................................................................104 2.8.4.1 Đặt vị trí máy chủ nhân bản .......................................................................104

    2.8.4.2 Nhân bản nội dung và vị trí lắ p đặt ............................................................1042.8.4.3 Phân bổ nội dung........................................................................................1052.8.5  Các giao thức nhất quán ....................................................................106 

    2.8.5.1 Nhất quán liên tục.......................................................................................1062.8.5.2 Các giao thức dựa trên bản chính ...............................................................1062.8.5.3 Các giao thức nhân bản ghi ........................................................................1082.8.5.4 Các giao thức gắn vớ i cache.......................................................................1092.8.5.5 Cài đặt nhất quán lấy máy khách làm trung tâm ........................................109

    CHƯƠ NG 3: CÔNG NGHỆ VÀ CÁCH TIẾP CẬ N PHÁT TRIỂ N HỆ THỐ NG PHÂN TÁN  ....................................................................................................................111

    3.1 Mô hình gọi thủ tục từ xa ......................................................................................111

    3.2 Mô hình DCOM .....................................................................................................1143.3 Kiến trúc CORBA ..................................................................................................115

    3.3.1  Các thành phần cơ  bản của CORBA .................................................115 3.3.2  Kiến trúc Corba và các yêu cầu phần mềm trung gian......................135 3.3.3  Áp dụng CORBA trong xây dựng ứng dụng phân tán ......................135 

    3.4 Gọi phươ ng thức từ xa............................................................................................136

    3.5 Dịch vụ web............................................................................................................138

    3.5.1  Các thành phần trong kiến trúc dịch vụ Web ....................................139 3.5.2  Cách thức trao đổi thông tin của dịch vụ Web ..................................139 3.5.3  Quy trình xây dựng ứng dụng dịch vụ Web ......................................141 

    3.6 Kiến trúc hướ ng dịch vụ .........................................................................................1413.6.1  Giớ i thiệu về kiến trúc hướ ng dịch vụ ...............................................141 3.6.2  Các dịch vụ ........................................................................................142 3.6.3  Mô hình cặ p lỏng...............................................................................143 3.6.4  Chu k ỳ sống dịch vụ ..........................................................................144 3.6.5  Phân loại dịch vụ ...............................................................................144 3.6.6  Tr ục dịch vụ doanh nghiệ p ................................................................145 3.6.7  Các mô hình kiến trúc dựa trên SOA ................................................145 3.6.8  Các mẫu trao đổi thông điệ p..............................................................145 

    TÀI LIỆU THAM KHẢO......................................................................................................147

  • 8/20/2019 Bài giảng hệ thống phân tán

    6/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    6

    CHƯƠ NG 1: 

    TỔNG QUAN VỀ CÁC HỆ THỐNG PHÂN TÁN

    1.1 

    Hệ thống phân tán là gì

    Hệ  thống phân tán bao gồm các máy tính (bao gồm cả  các thiết bị  khác như PDA, điện thoại di động…) đượ c k ết nối vớ i nhau để thực hiện nhiệm vụ tính toán. Hệ 

    thống phân tán xuất phát từ nhu cầu sử dụng khả năng tính toán tốt hơ n và hiệu quả hơ n bằng cách k ết hợ  p khả năng tính toán của từng máy tính độc lậ p, điều đó đã tr ở  thành hiện thực dựa trên những tiến bộ về công nghệ mạng. Ba yếu tố quyết định tốcđộ tính toán trong các máy tính bao gồm: Tốc độ của bộ vi xử lý trung tâm (CPU), bộ nhớ  (RAM) và đườ ng truyền trong bo mạch chủ (Bus). Đối vớ i hệ thống phân tán, mộtyêu cầu mớ i quan tr ọng đã nảy sinh đó là vấn đề trao đổi thông tin giữa các máy tính,thiếu yếu tố này thì nhiệm vụ  tính toán trên môi tr ườ ng phân tán sẽ không thể  thựchiện đượ c. Tốc độ  truyền dẫn trong các công nghệ mạng ngày càng tăng đã tạo điềukiện cho sự phát triển các ứng dụng phân tán, các máy tính có thể trao đổi thông tin vàchia sẻ dữ liệu vớ i nhau mà không phụ thuộc vào khoảng cách địa lý.

    Hệ thống phân tán là hệ thống các thành phần đượ c đặt trên các máy tính mạng,chúng trao đổi thông tin và phối hợ  p các hoạt động chỉ bằng cách truyền tin báo vàngườ i sử dụng cảm giác như là một hệ thống đơ n lẻ. Khái niệm phân tán đượ c thể hiện

     bở i tính độc lậ p của từng máy tính nhưng phải phối hợ  p làm việc vớ i nhau để ngườ isử dụng không có cảm giác các thành phần r ờ i r ạc. Ví dụ, một hệ thống bán hàng baogồm nhiều cửa hàng đặt tại những vị trí khác nhau, việc nhậ p thông tin hàng hóa đượ cthực hiện tại nhiều vị trí khác nhau (các cửa hàng, nhà kho, …) , tuy nhiên các nhânviên khai thác đều có thể tìm thấy thông tin theo yêu cầu của mình như thể  các thôngtin đó đang đượ c lưu tr ữ trên máy tính của ngườ i sử dụng.

     Nhìn chung việc xây dựng các ứng dụng phân tán phức tạ p hơ n nhiều so vớ i cácứng dụng tậ p trung, trong nhiều tr ườ ng hợ  p bắt buộc phải xây dựng các ứng dụng phân

    tán vì những lý do sau:- 

    Yêu cầu tính toán phân tán: Ứ ng dụng chạy trên nhiều máy tính khác nhau nhằmtận dụng khả năng tính toán song song hoặc nhằm mục đích sử dụng khả năng tínhtoán của các máy tính chuyên dụng.

    Yêu cầu về khả năng xử  lý lỗi: Yêu cầu này liên quan tớ i các hệ thống cần phảiđảm bảo an toàn tuyệt đối ngay cả khi có sự cố xảy ra, điều này đượ c thực hiện

     bằng cách tăng số  lần tính toán cho cùng một nhiệm vụ nhằm mục đích k ị p thờ i phát hiện và xử lý lỗi.

    Chia sẻ tài nguyên: Những ngườ i sử dụng trao đổi thông tin vớ i nhau thông quamột ứng dụng trên mạng. Mỗi ngườ i sử dụng chạy một ứng dụng phân tán trên máy

    tính của mình và chia sẻ các đối tượ ng sử dụng. Một số ứng dụng phải chạy trênnhiều máy tính vì dữ liệu đượ c đặt phân tán trên mạng liên quan đến quyền quản lývà quyền sở  hữu dữ liệu: cho phép truy nhậ p dữ liệu từ xa nhưng không cho phépsao chép để lưu giữ cục bộ.Trong các hệ thống phân tán, môi tr ườ ng mạng đóng vai trò quan tr ọng trong việc

     phân phát thông tin đến các thành phần và tậ p hợ  p k ết quả  tính toán của các thành phần đó. Các máy tính k ết nối vớ i nhau trên mạng đảm nhiệm chức năng truyền thôngcho các ứng dụng, chúng không chia sẻ bộ nhớ  cho nhau do đó không thể sử dụng các

  • 8/20/2019 Bài giảng hệ thống phân tán

    7/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    7

     biến toàn cục để trao đổi thông tin, thông tin trao đổi giữa các máy tính chỉ đượ c thựchiện thông qua cơ  chế trao đổi tin báo. Mạng là tài nguyên chung của hệ thống do đókhi xây dựng hệ thống phân tán cần phải xem xét đến các vấn đề như: Băng thông, cácđiểm có thể xảy ra sự cố, bảo mật và an toàn dữ liệu, đồng bộ tiến trình. Quá trình triểnkhai các ứng dụng trong hệ thống phân tán thườ ng gặ p một số khó khăn sau:

    Trên mạng có nhiều loại máy tính và thiết bị mạng của nhiều nhà sản xuất khácnhau và các máy tính đượ c cài đặt các hệ điều hành khác nhau.

    Khó tích hợ  p các phần mềm vì chúng đượ c phát triển trên các ngôn ngữ khácnhau.

    Thờ i gian phát triển phần mềm lớ n do đó thườ ng kéo theo chi phí xây dựng hệ thống cao.

    Thực tế việc xây dựng nền tảng cho các hệ thống phân tán vẫn dựa trên mô hình 7lớ  p OSI, trong đó 4 lớ  p thấ p (vật lý, liên k ết dữ liệu, mạng và lớ  p giao vận) giải quyếtcác vấn đề  như phát hiện và sửa lỗi, định tuyến...., những vấn đề  này thườ ng do hệ điều hành đảm nhiệm. Tuy nhiên việc áp dụng 3 lớ  p trên (phiên làm việc, trình diễn vàlớ  p ứng dụng) đã đượ c sử dụng trong các sản phẩm nền của hệ thống phân tán nhằmmục đích xử lý các thủ tục k ết nối giữa các thành phần phân tán và thể hiện cấu trúc dữ liệu phức tạ p của các ứng dụng, các sản phẩm như vậy gọi là phần mềm trung gian.Các ứng dụng phân tán thườ ng đượ c xây dựng dựa trên nền hệ điều hành và các thư viện hỗ tr ợ  việc xử lý phân tán, chúng thực hiện các nhiệm vụ xác định vị trí của cácmáy tính, đồng bộ và mã hóa thông tin.

    1.2  Phân loại các hệ thống phân tán

    1.2.1 

    Các hệ thố ng đ i ện toán phân tánĐiện toán phân tán thườ ng đượ c sử dụng trong các tác nghiệ p yêu cầu hiệu năng

    cao, nó bao gồm hai nhóm: Điện toán cụm và điện toán lướ i. Trong hệ thống điện toán

    cụm, các máy tính sử dụng cùng hệ điều hành và k ết nối vớ i nhau qua mạng nội bộ tốcđộ cao. Điện toán lướ i bao gồm nhiều hệ thống phân tán thuộc về nhiều miền quản lýkhác nhau và thườ ng không đồng nhất về phần cứng cũng như hệ điều hành.

    1.2.1.1  H ệ thố ng đ iện toán cụm

    Tỉ lệ giữa giá thành và hiệu suất xử lý của máy tính cá nhân ngày càng giảm làcơ  hội để xây dựng hệ  thống điện toán cụm. Các máy tính cá nhân đượ c cài đặt mộtloại hệ điều hành và k ết nối vớ i nhau trong mạng tốc độ cao. Điện toán cụm sử dụngk ỹ thuật xử lý song song trên nhiều máy tính để thực hiện tính toán.

    Một ví dụ khá quen biết của điện toán cụm là hệ thống Beowulf đượ c xây dựngdựa trên hệ điều hành Linux (hình 1.1), mỗi cụm bao gồm nhiều nút trong đó có mộtnút chủ  (Master) đảm nhiệm chức năng xắ p đặt vị  trí của các thành viên khác trongchươ ng trình song song, quản lý hàng đợ i các công việc và giao tiế p vớ i ngườ i dùngtrong hệ thống. Như vậy, nút chủ chỉ việc chạy phần mềm trung gian cần thiết cho cácchươ ng trình thực hiện và quản lý cụm, trong khi đó các nút tính toán sẽ không cần gìkhác ngoài hệ điều hành chuẩn. Một thành phần quan tr ọng của phần mềm trung gianlà thư viện thực thi chươ ng trình song song, những thư viện này cung cấ p các phươ ngtiện trao đổi thông tin dựa trên thông điệ p nhưng chưa có khả năng xử lý lỗi, bảo mật...

  • 8/20/2019 Bài giảng hệ thống phân tán

    8/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    8

    Hình 1.1 Hệ thống điện toán cụm

    Một ví dụ khác của điện toán cụm là hệ thống MOSIX đượ c xây dựng dựa trên

    cách tiế p cận đối xứng, ngh ĩ a là nó cung cấ p một hình ảnh đơ n của hệ thống cụm. Độ trong suốt r ất cao của MOSIX đạt đượ c bằng cách di trú tiến trình, ngườ i dùng có thể khở i tạo một tiến trình trên một nút nhưng tiến trình đó có thể di trú sang nút khác để thực hiện nhằm tận dụng tối đa tiềm năng xử lý của mỗi nút trong hệ thống.

    1.2.1.2  H ệ thố ng đ iện toán l ướ i

    Hệ  thống điện toán lướ i không đòi hỏi tính đồng nhất của tất cả các nút, mỗithành viên có thể khác về cả phần cứng lẫn hệ điều hành và các chính sách quản lý.Vấn đề cốt lõi trong hệ thống điện toán lướ i là việc lấy tài nguyên (máy tính, thiết bị ngoại vi, cơ  sở  dữ  liệu...) từ các cơ  quan khác nhau nhưng phải cho phép các nhómngườ i dùng thuộc các cơ  quan cộng tác vớ i nhau, như vậy sự cộng tác đó đượ c thực

    hiện dựa trên cơ  quan ảo, ngườ i dùng thuộc về một cơ  quan ảo thì có quyền truy nhậ pđến các tài nguyên của cơ  quan ảo đó.

    Vớ i đặc tính đó, nhiều phần mềm hệ thống điện toán lướ i phát triển xung quanhviệc truy nhậ p tài nguyên từ các vùng quản tr ị khác nhau cho những ngườ i dùng vàứng dụng thuộc về  một cơ   quan ảo, do đó tiêu điểm của hệ  thống điện toán lướ ithườ ng là những vấn đề liên quan tớ i kiến trúc hệ thống. Hình (..) là một mẫu kiến trúc

     phân tầng thườ ng đượ c ứng dụng trong các hệ thống điện toán lướ i. Kiến trúc này baogồm 04 tầng:

    Tầng k ết cấu (Fabric): Cung cấ p giao diện để truy nhậ p tài nguyên cục bộ tr ạimột trang riêng. Các giao diện này đượ c làm để  thích ứng vớ i việc cho phépchia sẻ tài nguyên bên trong một cơ  quan ảo, nó thườ ng cung cấ p các chức năng

    để  truy vấn tr ạng thái và khả năng của tài nguyên, các chức năng quản lý tàinguyên thực (ví dụ khóa tài nguyên)

    Tầng k ết nối (Connectivity): Bao gồm các giao thức truyền thông để hỗ tr ợ  chocác giao tác lướ i bao trùm toàn bộ các tài nguyên, ví dụ các giao thức truy cậ pđể di chuyển tài nguyên hoặc đơ n giản chỉ là truy cậ p tài nguyên từ một vị  trínào đó. Tầng k ết nối sẽ phải bao gồm các các giao thức bảo mật, tính năng bảomật có thể cho một tài khoản và cũng có thể cho một ứng dụng (tất cả nhữngngườ i dùng sử dụng ứng dụng đó).

  • 8/20/2019 Bài giảng hệ thống phân tán

    9/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    9

    Tầng tài nguyên (Resource): Quản lý tài nguyên đơ n lẻ, nó sử dụng các chứcnăng do tầng k ết nối cung cấ p và gọi tr ực tiế p các giao diện tầng k ết cấu cungcấ p để thực hiện các chức năng điều khiển truy nhậ p, ví dụ các chức năng thiếtlậ p cấu hình tài nguyên, khở i tạo tiến trình đọc/ghi dữ liệu

    Tầng tậ p trung (collective): Xử lý các yêu cầu truy nhậ p đến nhiều tài nguyên

    khác nhau, thườ ng cung cấ p các chức năng như: thăm dò, định vị, lậ p lịch truynhậ p , nhân bản tài nguyên... Các giao thức thuộc tầng này khá nhiều và thườ ngkhông phải là những giao thức đã đượ c chuẩn hóa (để đảm bảo cung cấ p dịchvụ theo yêu cầu của tầng ứng dụng)

    Tầng ứng dụng (Application): Bao gồm các ứng dụng vận hành bên trong cơ  quan ảo và sử dụng môi tr ườ ng điện toán lướ i.

    Hình 1.2 Kiến trúc phân tầng cho hệ thống điện toán lướ i

    Trong các hệ  thống điện toán lướ i, các tầng tậ p trung, k ết nối và tài nguyênthườ ng đượ c gộ p lại và gọi chung là tầng trung gian, nó có nhiệm vụ quản lý và cungcấ p chức năng truy nhậ p trong suốt đến tất cả các tài nguyên phân bố  trên các trangmạng khác nhau. Quan sát cho thấy, việc cung cấ p các thông tin riêng lẻ trong các hệ thống điện toán khá phổ biến, điều này đã dần dẫn tớ i quan điểm về kiến trúc dịch vụ lướ i mở  (Open Grid Service Architecture) .

    1.2.2  Các hệ thố ng thông tin phân tánMột tr ườ ng hợ  p khác trong hệ thống phân tán đó là các ứng dụng mạng qui mô

    lớ n, dữ liệu đượ c đặt ở  nhiều nơ i nhưng việc xử lý ở  mỗi nơ i liên quan đến những nơ ikhác. Trong nhiều tr ườ ng hợ  p, các máy chủ chạy tiến trình cung cấ p dịch vụ xử lý cho

    máy khách, máy khách đơ n thuần chỉ gửi yêu cầu và nhận về k ết quả đã đượ c máy chủ xử lý. Tuy nhiên một yêu cầu đặt ra là cần phải có sự phối hợ  p xử lý giữa các máy chủ,một yêu cầu đượ c đưa ra từ phía máy khách đến các máy chủ dữ liệu thì yêu cầu đó

     phải đượ c thực thi trên tất cả các máy chủ hoặc chi cần một máy chủ không thực thiđượ c yêu cầu của máy khách thì tất cả các máy chủ khác cũng không đượ c phép thựcthi yêu cầu này.

  • 8/20/2019 Bài giảng hệ thống phân tán

    10/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    10

    Hình 1.3 Phần mềm trung gian là phươ ng tiện truyền tin trong EAI

    Các phần mềm ngày càng tinh xảo hơ n và chúng lần lượ t tách chúng thành cácthành phần (ví dụ phân biệt thành phần cơ  sở  dữ liệu vớ i thành phần xử lý), như vậyviệc tích hợ  p hệ  thống phải cho phép các thành phần trao đổi thông tin tr ực tiế p vớ inhau, từ  đó dẫn đến ngành công nghiệ p lớ  p tích hợ  p ứng dụng doanh nghiệ p(Enteprise Application Integration - EAI). Thực tế, các thao tác thực hiện trong cơ  sở  dữ  liệu (CSDL),thườ ng đượ c thực hiện dướ i dạng các giao tác. Phần mềm ứng dụngcàng tách biệt vớ i dữ liệu thì càng cần phải có các phươ ng tiên để tích hợ  p chúng độclậ p vớ i CSDL, đặc biệt các thành phần ứng dụng phải có khả năng trao đổi thông tintr ực tiế p vớ i nhau chứ không phải chỉ là những phươ ng tiện Yêu cầu/Tr ả lờ i như trongcác hệ thống xử lý giao tác. 

    1.2.3  Các hệ thố ng lan t ỏa phân tánCác hệ thống điện toán phân tán và hệ thống thông tin phân tán đều có chung đặc

    điểm đó là tính ổn định của chúng, ngh ĩ a là các nút mạng đều cố định và đườ ng truyềnk ết nối mạng chất lượ ng cao tươ ng đối ổn định. Ở một mức độ nào đó, tính ổn địnhnày đượ c thực hiện bằng nhiều k ỹ thuật khác nhau (sẽ trình bày trong các chươ ng tiế ptheo của môn học này) nhằm đạt đượ c tính trong suốt phân tán. Ví dụ vớ i sức mạnhcủa các k ỹ thuật che giấu lỗi và phục hồi sẽ cho chúng ta cảm giác thỉnh thoảng mớ i cómột vài lỗi xảy ra. Tươ ng tự như vậy chúng ta cũng có thể che giấu các khía cạnh liênquan đến vị  trí các nút trên mạng, thực tế cho phép ngườ i dùng và các ứng dụng tinr ằng các nút vẫn đang hoạt động.

    Tuy nhiên, vấn đề đã tr ở  nên r ất phức tạ p khi xuất hiện các thiết bị di động và

    thiết bị nhúng, chúng ta phải đươ ng đầu vớ i các hệ thống phân tán mà ở  đó tính khôngổn định là điều tất yếu. Các thiết bị trong hệ thống loại này thườ ng là những thiết bị diđộng vớ i đặc tr ưng là vị  trí không ổn định và k ết nối mạng không dây, do đó các hệ thống này đượ c gọi là hệ  thống lan tỏa phân tán (Distributed pervasive system). Hệ thống này thiếu vắng sự kiểm soát nhân công, cấu hình của các thiết bị này do chủ sở  hữu thiết bị đó qui định, nếu không thì thiết bị sẽ tự động khám phá môi tr ườ ng và lựachọn cấu hình đượ c cho là phù hợ  p nhất. Để sự lựa chọn đượ c chính xác nhất, Grimmđã đưa ra các yêu cầu sau cho các hệ thống lan truyền phân tán:

  • 8/20/2019 Bài giảng hệ thống phân tán

    11/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    11

    Bao quát những thay đổi ngữ  cảnh: Thiết bị  phải liên tục nhận biết đượ c môitr ườ ng có thể  thay đổi bất k ỳ thờ i gian nào. Ví dụ khi phát hiện thấy mất k ết nốimạng thì thiết bị sẽ tự động tìm mạng khác thay thế.

    Cung cấ p giao diện cấu hình mặc định: Mỗi ngườ i dùng có thói quen riêng biệt, dođó cần phải cung cấ p giao diện cấu hình sao cho đơ n giản nhất phù hợ  p vớ i tất cả 

    mọi ngườ i hoặc một cấu hình đượ c cài đặt tự động.- 

    Tự động nhận biết chia sẻ tài nguyên: Một khía cạnh quan tr ọng của hệ thống lantỏa là các thiết bị tham gia hệ thống theo thứ tự truy nhậ p thông tin, điều này đòihỏi phải cung cấ p các phươ ng tiện để dễ dàng đọc, lưu tr ữ, quản lý và chia sẻ thôngtin. Vớ i quan niệm việc k ết nối mạng của các thiết bị thườ ng gián đoạn hoặc thayđổi thì không gian lưu tr ữ  thông tin có thể  truy nhậ p đượ c cũng sẽ phải thay đổitheo thờ i gian. Vớ i sự hiện diện của khả năng di động thì các thiết bị phải dễ dàngthích nghi vớ i môi tr ườ ng cục bộ, chúng phải có khả năng dễ dàng phát hiện cácdịch vụ và phản hồi theo các dịch vụ đó. Sự trong suốt về mặt phân bố không chỉ ở  trong hệ thống lan tỏa mà thực tế còn ở  sự phân bố về dữ liệu, xử lý và điều khiển,vì lẽ đó tốt hơ n hết là phải phơ i bày chứ không nên che giấu chúng.

    1.3 

    Các đặc trư ng và mục tiêu thiết k ế cơ  bản của các hệ thống phân tán

     Ngườ i sử dụng luôn mong muốn có đượ c các phần mềm thân thiện, tốc độ xử lýnhanh, dễ  dạng cá nhân hóa các chức năng và đảm bảo an toàn thông tin. Sau đâychúng ta sẽ tóm tắt bốn mục tiêu cơ  bản khi xây dựng một hệ thống phân tán.

    1.3.1  K ế t nố i ng ườ i sử  d ụng và tài nguyên hệ thố ngMục tiêu chính của hệ  thống phân tán là k ết nối ngườ i sử dụng và tài nguyên

    mạng. Nhiệm vụ  chính của một hệ  thống phân tán là cho phép ngườ i sử dụng đượ ckhai thác thông tin mà không phụ thuộc vị  trí địa lý của ngườ i đó. Như vậy nảy sinhhàng loạt vấn đề liên quan đến việc khai thác và sử dụng thông tin: ai đượ c phép truynhậ p, truy nhậ p thông tin ở  mức độ nào, thờ i gian nào đượ c phép truy nhậ p, tần suấttruy nhậ p thông tin….1.3.2  Trong suố t đố i vớ i ng ườ i sử  d ụng

    Mục tiêu trong suốt đối vớ i ngườ i sử dụng nhằm che giấu vị trí thực của thông tinđối vớ i ngườ i sử dụng, ngườ i sử dụng không biết đượ c thông tin đượ c lưu tr ữ ở  đâu vàxử lý trên máy tính nào. Tính trong suốt đối vớ i ngườ i sử dụng thể hiện ở  các đặc điểmsau:

    Truy nhậ p (Access): Ẩn cách thể hiện dữ liệu và phươ ng pháp truy nhậ p.- 

    Vị trí (Location): Ẩn nơ i lưu tr ữ thông tin.

    Di chuyển (Migration): Ẩn quá trình chuyển vị trí lưu tr ữ dữ liệu

    Đặt lại vị  trí (Relocation): Ẩn quá trình di chuyển dữ  liệu mà không làm giánđoạn hoạt động của ngườ i sử dụng.- 

     Nhân bản (Replication): Che giấu việc tạo ra bản sao dữ liệu

    Tươ ng tranh (Concurrency): Che giấu việc chia sẻ tài nguyên cho nhiều ngườ isử dụng

    Lỗi (Failure): Che giấu lỗi và phục hồi tài nguyên- 

    Bền bỉ (Persistence): Che giấu tài nguyên phần mềm đượ c tải vào bộ nhớ  hay ở  trên ổ đĩ a.

  • 8/20/2019 Bài giảng hệ thống phân tán

    12/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    12

    1.3.3  Tính mở  của hệ thố ngĐể có tính mở , hệ thống phân tán phải có chuẩn giao tiế p vớ i hệ thống, như vậy

    sẽ dễ dàng hơ n trong việc trao đổi tài nguyên. Một hệ thống mở  phải tuân thủ các tiêuchuẩn giao tiế p nào đó đã đượ c công bố, ngh ĩ a là sản phẩm của các nhà sản xuất khácnhau có thể tươ ng tác vớ i nhau theo tậ p các luật và các qui tắc hoặc các tiêu chuẩn đã

    đượ c công bố, ví dụ: ngôn ngữ IDL, XML, giao thức dịch vụ Web….1.3.4  Qui mô mở  r ộng hệ thố ngHệ thống phân tán cần phải đảm bảo dễ dàng thêm các máy tính mà không cần

     phải sửa đổi hệ thống, như vậy chúng ta có thể mở  r ộng hay thu hẹ p hệ thống phân tántheo yêu cầu thực tế, đây là một đặc tính quan tr ọng nhất của hệ thống phân tán. Khimở   r ộng hệ  thống, số  lượ ng máy tính và số  lượ ng ngườ i sử  dụng tăng thêm nhưngkhông đượ c phép giảm hiệu suất hoạt động của hệ thống. Tươ ng tự như vậy, việc mở  r ộng hệ thống theo phạm vi địa lý cần bảo đảm ít ảnh hưở ng tớ i hiệu suất hoạt độngcủa hệ thống. Trong cả hai tr ườ ng hợ  p mở  r ộng trên, cần phải bảo đảm khả năng quảntr ị hệ thống.

    1.4 

    Các kiến trúc của các hệ thống phân tánDựa trên cách k ết nối và cách trao đổi thông tin giữa các thành viên, hệ  thống

     phân tán có thể phân thành hai loại: Hệ thống nhiều bộ vi xử lý (các bộ vi xử lý dùngchung bộ nhớ ) và hệ thống nhiều tính máy tính (mỗi bộ vi xử lý có bộ nhớ  riêng). Hệ thống nhiều máy tính đượ c coi là đồng nhất nếu các máy tính cùng chung nền tảng(phần cứng, hệ điều hành, mạng) ngượ c lại gọi là hệ thống không đồng nhất.

    1.4.1  Các ki ể u hệ thố ng phân tánTrong hệ  thống nhiều bộ vi xử  lý, các bộ vi xử  lý dùng chung bộ nhớ  RAM,

    việc trao đổi thông tin giữa các bộ vi xử  lý đượ c thực hiện bằng cách đọc/ghi các ônhớ . Ngoài các chức năng truyền thống của hệ điêu hành (xử lý gọi hệ thống, quản lý

     bộ nhớ , quản lý tậ p tin, quản lý thiết bị vào ra), hệ điều hành của hệ thống nhiều bộ vixử  lý phải thực hiện các chức năng đặc biệt như: đồng bộ  tiến trình, quản lý tàinguyên, lậ p lịch làm việc. Tr ướ c hết, chúng ta sẽ tìm hiểu sơ  bộ về phần cứng của hệ thống nhiều bộ vi xử lý sau đó sẽ đề cậ p tớ i các vấn đề về hệ điều hành trong các hệ thống này. Hệ thống nhiều bộ vi xử lý đều có đặc điểm chung là các đơ n vị xử lý trungtâm đều đượ c k ết nối vào kênh k ết nối chung trong bo mạch chủ và truy nhậ p tr ực tiế pvào bộ nhớ  dùng chung.

    Hình 1.4-a minh họa hệ thống nhiều bộ vi xử lý dựa trên một kênh truyền, cácđơ n vị xử lý trung tâm và các mô-dun bộ nhớ  dùng chung một kênh truyền để trao đổithông tin. Tr ướ c khi truy nhậ p ô nhớ , đơ n vị xử lý trung tâm phải kiểm tra xem kênhtruyền có bận hay không. Nếu r ỗi, đơ n vị xử lý trung tâm đặt địa chỉ ô nhớ  lên kênh,

     phát tín hiệu điều khiển và chờ  cho đến khi bộ nhớ  đặt giá tr ị của ô nhớ  đã yêu cầu lênkênh truyền.

     Nếu kênh truyền bận, đơ n vị xử lý trung tâm phải chờ  cho đến khi kênh truyềnr ỗi, như vậy nảy sinh vấn đề về quản lý tươ ng tranh. Đối vớ i hệ thống chỉ có hai hoặc

     ba đơ n vị xử lý trung tâm thì việc quản lý tươ ng tranh tươ ng đối đơ n giản, vấn đề sẽ tr ở   nên khá phức tạ p đối vớ i hệ  thống có 32 hoặc 64 đơ n vị  xử  lý trung tâm. Nóichung, hệ thống sẽ bị giớ i hạn bở i băng thông của kênh truyền và hầu hết các CPU sẽ lãng phí thờ i gian chờ  đọc ô nhớ . Để giải quyết vấn đề này, ngườ i ta thêm bộ nhớ  đệm

  • 8/20/2019 Bài giảng hệ thống phân tán

    13/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    13

    vào mỗi CPU (xem hình 1.4-b), bộ nhớ  đệm đó có thể đượ c tính hợ  p trong CPU, bêncạnh, nằm trên bo mạch bộ vi xử lý hoặc tổ hợ  p các phươ ng án trên. Bộ nhớ  đệm traođổi thông tin vớ i bộ nhớ  dùng chung theo phươ ng pháp đọc/ghi từng khối (các khối 32hoặc 64 byte), đơ n vị xử lý trung tâm sẽ đọc/ghi các ô nhớ  trong bộ nhớ  đệm, như vậysẽ giảm đáng k ể lưu lượ ng trên kênh truyền chung.

    (a) Không có bộ nhớ  đệm.

    (b) Có bộ nhớ  đệm.

    (c) Có bộ nhớ  đệm và bộ nhớ  riêng.

    Hình 1.4  Ba loại hệ thống nhiều bộ xử lý dựa trên một kênh

    Mỗi khối bộ nhớ  đệm đượ c đánh dấu bở i một trong hai tr ạng thái: chỉ đọc hoặcđọc/ghi. Nếu CPU muốn ghi một ô nhớ  mà ô nhớ  đó xuất hiện trong các bộ nhớ  đệmkhác, phần cứng của kênh truyền sẽ phát hiện tính hiệu ghi và chuyển tín hiệu đó đếntất cả các bộ nhớ  đệm khác. Nếu các bộ nhớ  đệm này đã có nội dung giống như trong

     bộ nhớ , chúng có thể chối bỏ bản sao đó và cho phép bộ điều khiển ghi chốt khối bộ nhớ  đệm trong bộ nhớ  dùng chung tr ướ c khi thay đổi ô nhớ  đó. Một số bộ nhớ  đệmđang thay đổi, nó phải ghi lại nội dung ô nhớ  đó vào bộ nhớ  dùng chung tr ướ c khi yêucầu ghi có thể tiế p tục thực hiện hoặc chuyển tr ực tiế p giá tr ị đó đến bộ điều khiển ghi

    qua kênh truyền.Hình 1.4-c minh họa một kiến trúc khác, CPU không chỉ có bộ nhớ  đệm mà còn

    có bộ nhớ  cục bộ riêng đượ c truy nhậ p bằng kênh riêng. Để sử dụng cấu hình này mộtcách tối ưu, trình biên dịch sẽ đặt tất cả chươ ng trìnhm các hằng số, dữ liệu chỉ đọc vàcác biến số trong bộ nhớ  riêng. Bộ nhớ  dùng chung khi đó sẽ đượ c dùng cho các biếndùng chung. Nói chung, kiến trúc này giảm đáng k ể lưu lượ ng trên kênh chung nhưngnó đòi hỏi trình biên dịch phải có sự phối hợ  p r ất chặt chẽ.

    Kiến trúc UMA chỉ phù hợ  p vớ i các hệ thống có ít CPU, khi số lượ ng CPU tănglên sẽ phải chi phí lớ n cho vấn đề xử lý chuyển mạch. Một kiến trúc khác đượ c đề xuấtlà kiến trúc truy nhậ p bộ nhớ  không đồng nhất. Giống như đa xử lý đối xứng, là côngnghệ mở   r ộng tính khả biến của máy chủ  bằng cách bổ  sung thêm bộ xử  lý. Cả haicông nghệ này đều cho phép ngườ i dùng khở i đầu vớ i những máy chủ tươ ng đối nhỏ và sau đó bổ sung bộ xử lý nếu ứng dụng phát triển thêm. Đối vớ i hầu hết máy chủ đốixứng, việc bổ sung thêm sau khi đã có 8 bộ xử  lý r ất đắt tiền mà hiệu suất đạt đượ ckhông cao nhưng NUMA thì cho phép mở  r ộng hơ n thế nhiều - đến 256 bộ xử lý, liênk ết vớ i nhau trong một máy.

    Tươ ng tự  hệ  thống UMA, NUMA cho phép khai thác sức mạnh k ết hợ  p củanhiều bộ xử lý mà mỗi bộ xử lý truy cậ p một cụm bộ nhớ  chung. Tuy nhiên, các bộ xử 

  • 8/20/2019 Bài giảng hệ thống phân tán

    14/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    14

    lý đượ c phân thành những nhóm nhỏ hay “nút”, trong đó tất cả các bộ xử lý đều liênk ết vớ i nhau. Chẳng hạn, một máy chủ 16 bộ xử lý có thể sắ p xế p thành bốn nút, mỗinút có bốn bộ xử lý và có bộ nhớ  riêng. NUMA làm giảm tình tr ạng tắc nghẽn bus củakiến trúc đối xứng bằng cách để cho các bộ xử lý trong một nút giao tiế p vớ i nhau vàvớ i bộ nhớ  cục bộ của chúng qua những bus riêng, nhỏ hơ n. Các bộ xử lý cũng có thể truy cậ p những vùng nhớ  của từng nút khác, tuy r ằng thờ i gian truy cậ p này thay đổitùy theo khoảng cách giữa các nút. Vì thế cơ  chế có tên là truy cậ p bộ nhớ  không đồngnhất NUMA. Trong hệ thống nhiều bộ vi xử lý thuần nhất, mỗi đơ n vị xử lý trung tâmtruy xuất vào bộ nhớ  cục bộ, vấn đề còn lại là việc trao đổi thông tin giữa các bộ vi xử lý vớ i nhau. Trong hệ thống nhiều bộ vi xử lý không thuần nhất các máy tính đượ c xâydựng trên nền tảng của các bộ vi xử lý khác nhau.

    Phần cứng đóng vai trò quan tr ọng trong hệ thống phân tán, nhưng sự hoạt độngcủa hệ thống này lại do hệ điều hành quyết định. Hệ điều hành cung cấ p các tính năngquản lý tài nguyên phần cứng, cho phép nhiều ngườ i dùng và nhiều ứng dụng chia sẻ 

     phần cứng như: CPU, bộ nhớ , thiết bị ngoại vi, mạng và tất cả các loại dữ liệu. Hệ điềuhành cũng đơ n giản hóa sự phức tạ p và đa dạng của phần cứng bằng cách tạo ra máy

    ảo, như vậy các ứng dụng có thể  thực hiện dễ dàng hơ n. Hệ điều hành cho các máytính gồm hai loại: Hệ điều hành phân tán (DOS) và hệ điều hành mạng (NOS). Hệ điềuhành phân tán quản lý tổng thể tất cả các máy tính thuần nhất trong hệ thông phân tán,hệ điều hành mạng thườ ng dùng cho các hệ thống không đồng nhất, mỗi máy tính tạora các dịch vụ cung cấ p cho các máy tính khác. Từ cuối những năm 1990, một số cácdịch vụ  do hệ điều hành cung cấ p đã đượ c cải tiến và gọi là phần mềm trung gian(Middleware).

    Bảng 1.1 Hệ điều hành phân tán, hệ điều hành mạng và phần mềm trung gian.

    Hệ thống  Mô tả  Mục tiêu

    DOS Hệ điều hành liên k ết chặt dùng cho các

    hệ thống máy tính thuần nhất

    Che giấu và quản lý các tài

    nguyên phần cứng NOS Hệ điều hành liên k ết lỏng, dùng cho

    các máy tính không thuần nhất (mạngLAN và mạng WAN)

    Cung cấ p các dịch vụ cục bộ cho các máy tính kháctruy nhậ p từ xa.

    Middleware Lớ  p phía trên của hệ điều hành mạng,cài đặt các dịch vụ mục đích chung.

    Cung cấ p tính trong suốtcho hệ thống phân tán

    Có hai loại hệ điều hành phân tán: Hệ điều hành phân tán cho hệ thống nhiều bộ vi xử lý và hệ điều hành phân tán cho các máy tính cùng chủng loại. Ngoài khả năng

    quản lý nhiều bộ  vi xử  lý, các tính năng khác của các hệ điều hành phân tán cũnggiống như hệ điều hành dành cho các hệ thống chạy trên một bộ vi xử lý.Hệ điều hành chạy trên một bộ vi xử  lý

    Mục tiêu chính của loại hệ điều hành này là cho phép ngườ i sử  dụng và các phần mềm ứng dụng truy nhậ p dễ dàng đến các tài nguyên dùng chung như CPU, bộ nhớ   chính, đĩ a và các thiết bị  ngoại vi. Các phần mềm ứng dụng dùng chung tàinguyên của hệ thống nhưng vẫn đảm bảo tính độc lậ p cho từng ứng dụng, như vậy hệ điều hành cần phải có chính sách chia sẻ các tài nguyên dùng chung đó, điều này chỉ 

  • 8/20/2019 Bài giảng hệ thống phân tán

    15/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    15

    có thể thực hiện bằng cách thiết lậ p cơ  chế máy ảo, cung cấ p khẳ năng xử lý đa nhiệmcho các ứng dụng. Ví dụ, để giải quyết vấn đề  tươ ng tranh trong hệ  thống, các phầnmềm ứng dụng không đượ c phép truy nhậ p tr ực tiế p đến các tài nguyên mạng, việctruy nhậ p phải đượ c thực hiện thông qua các hàm nguyên thủy do hệ điều hành cungcấ p. Hệ điều hành cần phải nắm toàn bộ quyền kiểm soát việc sử dụng và chia sẻ tàinguyên phần cứng, do đó hầu hết các bộ vi xử lý hỗ tr ợ  ít nhất hai chế độ:

    Chế độ lõi: Tất cả các chỉ thị đượ c phép thực hiện và có thể truy nhậ p toàn bộ  bộ nhớ  và các thanh ghi trong thờ i gian thực hiện.

    Chế độ của ngườ i sử dụng: Hạn chế việc truy nhậ p thanh ghi và bộ nhớ  (ví dụ chỉ đượ c phép truy nhậ p vào vùng nhớ   do hệ điều hành qui định, không truynhậ p tr ực tiế p vào các thanh ghi)

    Hệ điều hành cho nhiều bộ vi xử  lýLà các hệ điều hành dùng để điều khiển sự hoạt động của các hệ thống máy tính

    có nhiều bộ vi xử lý. Các hệ điều hành cho nhiều bộ vi xử lý gồm có 2 loại:

    Đa xử  lý đối xứ ng: Trong hệ thống này vi xử lý nào cũng có thể chạy một loại

    tiểu trình bất k ỳ, các vi xử  lý giao tiế p vớ i nhau thông qua một bộ  nhớ   dùngchung. Hệ đối xứng cung cấ p một cơ  chế chịu lỗi và khả năng cân bằng tải tốiưu hơ n, vì các tiểu trình của hệ điều hành có thể chạy trên bất k ỳ bộ vi xử  lýnào nên nguy cơ  xảy ra tình tr ạng tắc nghẽn ở  CPU giảm đi đáng k ể. Vấn đề đồng bộ giữa các bộ vi xử  lý đượ c đặt lên hàng đầu khi thiết k ế hệ điều hànhcho hệ thống đối xứng.

    Đa xử  lý bất đối xứ ng: Trong hệ thống này hệ điều hành dành ra một hoặc haivi xử lý để sử dụng riêng, các vi xử lý còn lại dùng để điều khiển các chươ ngtrình của ngườ i sử  dụng. Hệ  bất đối xứng đơ n giản hơ n nhiều so vớ i hệ đốixứng, nhưng trong hệ này nếu có một bộ vi xử lý trong các vi xử lý dành riêngcho hệ điều hành bị hỏng thì hệ thống có thể ngừng hoạt động.

    Hệ điều hành mạng là các hệ điều hành dùng để điều khiển sự hoạt động của mạngmáy tính. Ngoài các chức năng cơ  bản của một hệ điều hành, các hệ điều hành mạngcòn phải thực hiện việc chia sẻ và bảo vệ tài nguyên của mạng.

    1.4.2  Phân loại ki ế n trúc hệ thố ng phân tánHệ thống phân tán có thể đượ c xây dựng theo kiến trúc phân tán dọc, phân tán

    ngang hoặc lai ghép hai loại trên. Trong kiến trúc phân tán dọc, các công việc xử  lýđượ c thực hiện bằng cách đặt các máy tính lớ n theo cấu trúc lớ  p. Các tiến trình xử lýđượ c phân cho các lớ  p thấ p hơ n tươ ng ứng vớ i cấu trúc tổ chức và loại nhiệm vụ. Kiếntrúc phân tán ngang bao gồm nhiều máy tính đượ c k ết nối ngang hàng vào mạng để xử lý công việc, có thể thêm máy tính nhằm nâng cao độ linh hoạt và nâng cấ p hệ thống.

    Các công việc tr ướ c kia đượ c tậ p trung trên một máy tính thì có thể chia tính toán vớ icác máy tính khác. Có thể sử dụng các thư viện đượ c cung cấ p từ các máy tính khác,điều này đảm bảo đượ c sự  phân tán chức năng và sử  dụng chung các nguồn tàinguyên. Mô hình hệ  thống phân tán là phươ ng thức tổ chức phần mềm bên trong hệ thống, hiện nay có bổn mô hình đang đượ c áp dụng phổ biến bao gồm: Mô hình phântầng, mô hình dựa trên đối tượ ng, mô hình dựa trên sự kiện và mô hình dữ  liệu tậ ptrung.

  • 8/20/2019 Bài giảng hệ thống phân tán

    16/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    16

    Các thành phần trong mô hình phân tầng đượ c tổ chức thành từng lớ  p có sự ràng buộc chặt chẽ, lớ  p trên gọi các thành phần lớ  p dướ i liền k ề. Bên yêu cầu gửi thông tinyêu cầu đượ c lưu chuyển từ lớ  p trên xuống lớ  p dướ i, k ết quả tr ả về đượ c chuyển từ lớ  pdướ i lên lớ  p trên. Bên thực hiện yêu cầu tiế p nhận thông tin yêu cầu đượ c lưu chuyểntừ lớ  p dướ i lên lớ  p trên, k ết quả tr ả về đượ c chuyển từ lớ  p trên xuống lớ  p dướ i. Như vậy, số lượ ng tầng càng lớ n thì hệ  thống sẽ càng đượ c mô đun hóa cao và hiệu năng

     phụ thuộc vào số lượ ng tầng.

    Hình 1.5 Mô hình phân tầng

    Mô hình đối tượ ng phân tán ràng buộc lỏng hơ n mô hình phân tầng, mỗi đốitượ ng đượ c coi là một thành phần và đượ c gọi bằng cơ  chế gọi thủ tục từ xa. Các đốitượ ng trong mô hình này hoạt động tươ ng đối độc lậ p, dễ dàng thay đổi và nâng cấ p,đây là mô hình r ất phù hợ  p vớ i mô hình khách/chủ.

    Hình 1.6 Mô hình đối tượ ng phân tán

    Mô hình Khách/Chủ  đang đượ c áp dụng phổ biến trong các hệ thống phân tán,hiện nay mô hình Khách/Chủ đã phát triển theo hướ ng sử dụng các đối tượ ng phân tán.Mô hình Khách/Chủ đượ c hiểu là hình thức trao đổi thông tin giữa các tiên trình cungcấ p dịch vụ (Máy chủ) và tiến trình sử dụng dịch vụ (Máy khách). Trong mô hình này,máy khách yêu cầu các dịch vụ đã đượ c cài đặt trên Máy chủ, Máy chủ xử lý yêu cầu

  • 8/20/2019 Bài giảng hệ thống phân tán

    17/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    17

    và tr ả về k ết quả cho Máy khách. Cơ  chế  truyền tin sử dụng truyền tin báo giữa cáctiến trình (IPC), nó cho phép cài đặt các tiến trình máy khách và máy chủ trên các máytính khác nhau. Mô hình Khách/Chủ  đóng vai trò quan tr ọng trong các hệ thống phântán, nó có các đặc tr ưng sau:

    Máy khách và máy chủ là các mô đun chức năng vớ i các giao diện xác định: Các

    chức năng thực hiện của máy khách hoặc máy chủ có thể  gồm nhiều chức năngcon, việc cài đặt các ứng dụng máy khách hoặc máy chủ không nhất thiết phải trênmáy chủ mà có thể cài đặt tại bất cứ máy nào trên mạng.

    Quan hệ khách/chủ đượ c thiết lậ p giữa hai mô đun khi máy khách đưa ra yêu cầudịch vụ và đượ c Máy chủ đáp lại: Khái niệm máy khách và máy chủ chỉ là tươ ngđối, một mô đun có thể đóng vai trò máy chủ đối vớ i mô đun này nhưng lại đóngvai trò máy khách đối vớ i mô đun khác.

    Trao đổi thông tin giữa các mô đun đượ c thực hiện thông qua có chế truyền tin báo:tất cả các yêu cầu của máy khách đượ c tậ p hợ  p thành tin báo để chuyển đến máychủ và ngượ c lại các k ết quả tr ả về cũng đượ c đặt trong các tin báo để chuyển đếnmáy khách.

    Trao đổi tin báo giữa máy khách và máy chủ  thườ ng đượ c thực hiện theo cơ  chế hỏi đáp.

    máy khách và máy chủ đượ c cài đặt trên các máy tính khác nhau và đượ c nối vớ inhau trên mạng: Về mặt lý thuyết, trên cùng một máy có thể cài đặt đồng thờ i môđun Máy khách và mô đun Máy chủ, tuy nhiên trong thực tế  thườ ng các mô-đunnày đượ c cài đặt trên các máy khác nhau.

    Vớ i các đặc điểm trên, mô hình Khách/Chủ có thể cài đặt theo hai mức:

    Mức dịch vụ  nền: tạo cơ   sở   để  phát triển, hỗ  tr ợ   và quản lý các ứng dụngKhách/Chủ.

    Mức ứng dụng: là các phần mềm cung cấ p các chức năng nghiệ p vụ theo mô hình

    Khách/Chủ.Mô hình Khách/Chủ cung cấ p các phươ ng tiện tích hợ  p các ứng dụng riêng vớ i

    các nhu cầu xử lý nghiệ p vụ chung để đảm bảo thống nhất việc xử lý thông tin trongtoàn bộ hệ thống. Mô hình này có các ưu điểm sau:

    Chia sẻ  dữ   liệu: trong mô hình Khách/Chủ, dữ  liệu đượ c lưu trên Máy chủ để  sẵnsàng cung cấ p cho tất cả những ngườ i sử dụng đượ c quyền truy nhậ p. Việc sử dụngngôn ngữ SQL để thống nhất các thao tác truy xuất dữ liệu đã hỗ tr ợ  cho ngườ i sử dụng dễ dàng truy nhậ p dữ liệu.

    Các dịch vụ  tích hợ p: Ngườ i sử dụng đượ c quyền truy nhậ p đều có thể nhận đượ cthông tin cần thiết từ các máy tr ạm và có thể xử lý các thông tin này theo nhu cầu

    sử dụng. Theo quyền truy nhậ p, Máy khách sử dụng chung các dịch vụ do Máy chủ cung cấ p.

    Chia sẻ tài nguyên giữ a các hệ thống khác nhau: Có thể tạo các ứng dụng độc lậ pvớ i hệ điều hành và thiết bị phần cứng, do đó các ứng dụng Máy khách đều có thể sử dụng các tài nguyên chung trên mạng: dữ liệu, dịch vụ....

    Khả năng trao đổi và tươ ng thích dữ   liệu: Hầu hết các công cụ  sử dụng để pháttriển các sản phẩm theo mô hình Khách/Chủ đều dựa trên tiêu chuẩn của ngôn ngữ 

  • 8/20/2019 Bài giảng hệ thống phân tán

    18/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    18

    SQL, do đó đảm bảo đượ c tính tươ ng thích và khả năng trao đổi dữ liệu giữa cáctiến trình Máy khách và Máy chủ.

    Không phụ thuộc thiết bị lư u trữ  dữ  liệu: Trên Máy chủ, dữ liệu có thể đượ c lưu tr ữ trong các thiết bị khác nhau như đĩ a từ hoặc băng từ, ngườ i sử dụng vẫn dùng tậ pcác lệnh chung để truy xuất dữ liệu mà không phụ thuộc vào phươ ng tiện lưu tr ữ.

    Độc lập vớ i vị trí xử  lý dữ  liệu: Việc truy xuất dữ liệu không phụ thuộc vào thiết bị  phần cứng, hệ điều hành và vị trí lưu tr ữ dữ liệu.Quản lý tập trung:  Việc quản lý tậ p trung đượ c thực hiện bằng cách sử  dụng các

    công cụ giám sát và hỗ tr ợ  từ trung tâm

    Tiến trình Máykhách

    Tiến trình Máy chủ 

    Phần mềm trunggian Máy khách(MiddleWare)

    Phần mềm trunggian Máy chủ (MiddleWare)

    Dịch vụ cục bộ  Dịch vụ mạng Dịch vụ mạng Dịch vụ cục bộ Hệ điều hành và

    thiết bị phần cứng

    Giao thứctrao đổilớ  p trên

    Hệ điều hành vàthiết bị phần cứng

    Trao đổi thông tin lớ  p vật lý

    Hình 1.7 Các thành phần cơ  bản trong mô hình Khách/Chủ 

    Hình 1.7 thể hiện các thành phần cơ  bản trong mô hình Khách/Chủ, bao gồm cácthành phần: tiến trình máy khách, máy chủ, phần mềm trung gian (MiddleWare), dịch

    vụ mạng, dịch vụ cục bộ (ví dụ: quản lý dữ liệu và quản lý tiến trình), hệ điều hành vàthiết bị phần cứng. Tiến trình máy khách bao gồm các chức năng của lớ  p ứng dụng, nóthực hiện giao tiế p vớ i ngườ i sử dụng và các chức năng ứng dụng cần thiết như hiểnthị  thông tin, tính toán các bảng tính... Tiến trình máy khách giao tiế p vớ i các phầnmềm trung gian qua giao diện lậ p trình ứng dụng (API) để gửi các yêu cầu đến máychủ và nhận k ết quả tính toán.

    Tiến trình máy chủ thực hiện các chức năng lớ  p ứng dụng, nó cung cấ p các dịch vụ cho máy khách vớ i việc che dấu các thông tin riêng, đảm bảo cung cấ p các dịch vụ xử lý lỗi và có thể  thực hiện chức năng giám sát/điều phối. Phần mềm trung gian(MiddleWare) cung cấ p nhiều tính năng khác nhau như thiết lậ p phiên làm việc giữacác tiến trình, bảo mật dữ  liệu, nén/giải nén dữ  liệu, xử  lý lỗi. MiddleWare là môi

    tr ườ ng trung gian k ết nối tiến trình máy khách vớ i tiến trình máy chủ, nó giao tiế p vớ icác tiến trình qua giao diện API. Phần mềm trung gian trên máy khách thực hiện cácchức năng cung cấ p giao diện API, thiết lậ p liên k ết vớ i tiến trình trên máy chủ bằngcách gửi các lệnh thông qua giao diện mạng và phần mềm trung gian (của máy chủ).

    Phần mềm trung gian trên máy chủ giám sát các yêu cầu từ phía máy khách và gọicác tiến trình máy chủ  tươ ng ứng, nó thực hiện các chức năng: Nhận các yêu cầu từ 

     phía máy khách và chuyển các yêu cầu đó cho tiến trình máy chủ, kiểm tra bảo mật hệ thống, xử  lý tươ ng tranh khi đồng thờ i nhận đượ c nhiều yêu cầu từ phía máy khách,

  • 8/20/2019 Bài giảng hệ thống phân tán

    19/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    19

    nhận k ết quả xử lý của tiến trình Máy chủ và chuyển đến máy khách, giám sát và xử lýlỗi.

    Hình 1.8 Mô hình dựa trên sự kiện

    Mô hình dựa trên sự kiện là mô hình mà các tiến trình trao đổi thông tin dựatrên việc phát tán sự kiện, các sự kiện thườ ng đượ c gắn vớ i các luật phân phát sự kiện.Các tiến trình phát tán sự  kiện sau khi đã đượ c phần mềm trung gian đảm bảo chỉ những tiến trình đã đăng ký mớ i nhận đượ c sự kiện. Mức độ ràng buộc giữa các tiếntrình của mô hình này tươ ng đối thấ p.

    Hình 2.9 Mô hình dữ liệu tậ p trung

    Mô hình dữ liệu tậ p trung là mô hình trong đó các tiến trình trao đổi thông tin

    vớ i nhau qua kho dữ liệu chung ( chủ động hoặc thụ động). Mô hình này đảm bảo tínhđộc lậ p giữa các thành phần trong hệ thống và đồng thờ i tiện lợ i cho việc chia sẻ dữ liệu lớ n.

  • 8/20/2019 Bài giảng hệ thống phân tán

    20/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    20

    CHƯƠ NG 2: 

    VẤN ĐỀ VÀ GIẢI PHÁP TRONG HỆ THỐNG PHÂN TÁN

    2.1 

    Truyền thông

    Trao đổi thông tin giữa các tiến trình là tr ọng tâm của tất cả các hệ thống phântán, do đó cần phải nghiên cứu k ỹ lưỡ ng cách thức các tiến trình trao đổi thông tin vớ i

    nhau. Thực chất trao đổi thông tin trong hệ  thống phân tán là chuyển thông điệ p domạng máy tính đảm nhiệm, quá trình đó phức tạ p hơ n r ất nhiều so vớ i việc trao đổithông tin trên một máy tính. Các hệ thống phân tán hiện đại bao gồm hàng triệu tiếntrình trao đổi thông tin vớ i nhau qua mạng Internet không tin cậy, nếu không thay đổicác phươ ng thức truyền thông nguyên thủy thì sẽ r ất khó phát triển các ứng dụng phântán. Về  bản chất, trao đổi thông tin giữa các tiến trình vẫn sử  dụng các giao thứctruyền tin truyền thống đã qui định trong từng lớ  p mạng. Các giao thức này đượ c ứngdụng để xây dựng các mô hình truyền tin khác như Gọi thủ  tục từ xa (RPC), gọi đốitượ ng từ xa (RMI), phần mềm trung gian hướ ng thông điệ p (MOM). Mô hình truyềntin đầu tiên trong hệ thống phân tán là RPC, bản chất của nó là ẩn những thủ tục phứctạ p trong việc truyền thông điệ p và đó là cách lý tưở ng trong các ứng dụng khách/chủ.

    Về sau, mô hình này đượ c cải tiến dựa trên việc cài đặt các đối tượ ng phân tán.Một số ứng dụng phân tán sử  dụng phươ ng thức truyền thông điệ p, tính trong

    suốt của phươ ng thức này khá thấ p, do đó nên chuyển sang mô hình hàng đợ i (tươ ngtự như thư điện tử) hoặc sử dụng lớ  p phần mềm trung gian hướ ng thông điệ p (MOM)để bảo đảm việc phân loại các thông điệ p. Các dữ liệu đa phươ ng tiện như âm thanh,hình ảnh ... đòi hỏi việc truyền tin cần phải đáp ứng yếu tố thờ i gian và tính liên tục,do đó mô hình truyền thông điệ p dườ ng như chưa đáp ứng đượ c yêu cầu, khi đó phảisử dụng phươ ng pháp truyền theo luồng (stream). Vấn đề cuối cùng cần nghiên cứu làviệc sử dụng phươ ng thức truyền tin điểm vớ i điểm-điểm hay điểm-nhóm (multicast),ngh ĩ a là cùng một nội dung sẽ gửi một hay nhiều tiến trình khác.

    2.1.1 

    C ơ  sở  truyền thôngTr ướ c khi thảo luận về  truyền thông trong các hệ  thống phân tán chúng ta sẽ nhắc lại một số kiến thức cơ  bản về các giao thức mạng và sau đó sẽ đề cậ p đến một số cách tiế p cận áp dụng chúng để  giải quyết vấn đề  truyền thông trong các hệ  thống

     phân tán.

    2.1.1.1 

    Giao thứ c mạng

    Các tiến trình trong hệ thống phân tán không sử dụng chung bộ nhớ , do đó việctrao đổi thông tin phải dựa hoàn toàn bằng phươ ng thức truyền thông điệ p. Khi mộttiến trình A muốn trao đổi thông tin vớ i tiến trình B, nó tạo một thông điệ p trong vùngnhớ   riêng của mình và thực hiện lờ i gọi hệ  thống, khi đó hệ điều hành sẽ  thực hiệnchức năng chuyển thông điệ p đó đến tiến trình B qua mạng. Về nguyên lý thì đơ n giảnnhư vậy, trong thực tế quá trình này khá phức tạ p bở i trong hệ thống phân tán có thể có các máy tính thuộc các nhà sản xuất khác nhau và sử dụng tiêu chuẩn mã hóa thôngtin khác nhau. Để khắc phục vấn đề này, tổ chức chuẩn hóa Quốc tế ISO đã đưa ra môhình liên k ết hệ thống mở  (OSI). Mặc dù các giao thức trong mô hình OSI ít đượ c sử dụng, tuy nhiên đó là mô hình khá tốt để hiểu về mạng máy tính.

    Mô hình OSI đượ c phân thành 7 lớ  p (xem hình 2.1), mỗi lớ  p là một tậ p các giaothức qui định khuôn dạng dữ liệu và các thủ tục xử lý (cách gửi/nhận, cách xử lý lỗi).Có hai loại giao thức:

  • 8/20/2019 Bài giảng hệ thống phân tán

    21/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    21

    Giao thức có liên k ết: Cần phải thiết lậ p liên k ết tr ướ c khi truyền số  liệu, saukhi truyền xong thì phải hủy bỏ liên k ết.

    Giao thức không liên k ết: Không cần phải thiết lậ p liên k ết khi truyền số liệu

    Hình 2.1 Mô hình liên k ết hệ thống mở  (OSI)

    Hình 2.2: Đóng gói dữ liệu tại các tầng mô hình OSI

    Mỗi lớ  p trong mô hình OSI thực hiện một số chức năng nhất định:- 

    Lớ  p ứng dụng: Cung cấ p giao diện phục vụ cho ngườ i sử dụng và các ứng dụngkhác

    Lớ  p trình diễn: Thực hiện mã hóa/giải mã, nén/giải nén và bảo mật dữ liệu.- 

    Lớ  p phiên: Tạo ra các phiên làm việc.- 

    Lớ  p giao vận: Tạo liên k ết giữa đầu cuối vớ i đầu cuối, điều khiển tốc độ truyền dữ liệu, xử lý lỗi truyền tin.

  • 8/20/2019 Bài giảng hệ thống phân tán

    22/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    22

    Lớ  p mạng: Quản lý địa chỉ logic của các đối tượ ng tham gia vào mạng, tìm đườ ngđi tốt nhất cho mỗi gói tin.

    Lớ  p liên k ết: Thiết lậ p liên k ết giữa hai thiết bị vật lý k ề cạnh nhau- 

    Lớ  p vật lý: Biến đổi các bit dữ  liệu thành các tín hiệu phù hợ  p vớ i môi tr ườ ngtruyền dẫn và thực hiện thu phát các tín hiệu đó.

    Khi một tiến trình A trên máy tính thứ nhất muốn gửi thông tin cho tiến trình Btrên máy tính thứ hai, nó thêm tạo dữ liệu tại lớ  p ứng dụng và lần lượ t chuyển đến cáclớ  p dướ i trên máy tính đó. Khi đi qua mỗi lớ  p, thông tin điều khiển đượ c thêm vào dữ liệu, quá trình đó gọi là bao đóng dữ liệu (hình 2.2).

    Các giao thứ c mứ c thấ  pCác giao thức mức thấ p hàm ý chỉ các giao thức tại lớ  p vật lý, liên k ết dữ liệu

    và lớ  p mạng. Lớ  p vật lý liên quan tớ i việc chuyển các bít dữ  liệu, qui định các tiêuchuẩn về điện, cơ  và các giao diện k ết nối mạng, phươ ng pháp truyền các bit. Lớ  p liênk ết dữ liệu tậ p hợ  p các bit thành từng nhóm (gọi là khung dữ liệu) , phát hiện và sửalỗi khi truyền các khung dữ liệu đó. Trong mạng diện r ộng, việc trao đổi thông tin giữa

    các máy tính phải chuyển qua nhiều thiết bị định tuyến. Nhiệm vụ chính của các thiết bị này là duy trì bảng định tuyến và tìm đườ ng đi tốt nhất cho mỗi gói tin. Hiện naygiao thức mạng đang đượ c áp dụng phổ biến nhất là giao thức IP.

    Các giao thứ c l ớ  p giao vận 

    Hình 2.3 Qui trình truyền số liệu có liên k ết

    Lớ  p giao vận là lớ  p cuối cùng trong ngăn xế p giao thức cơ  sở  (ngườ i phát triển phần mềm sử dụng tậ p các giao thức này để phát triển các ứng dụng mạng). Chức năngcơ  bản của lớ  p giao vận là quản lý việc trao đổi thông tin giữa hai thiết bị đầu cuối củangườ i sử dụng. K ỹ thuật truyền số liệu có hai loại: truyền số liệu có liên k ết và không

  • 8/20/2019 Bài giảng hệ thống phân tán

    23/147

    Hệ thống phân tán

     Nguyễn Xuân Anh – Khoa Công Nghệ thông tin 1

    23

    liên k ết. Đối vớ i truyền số liệu có liên k ết, lớ  p giao vận thực hiện thêm các chức năng phát hiện, sửa lỗi và điều khiển tốc độ truyền dữ liệu giữa các thiết bị đầu cuối củangườ i sử dụng. Trong phươ ng pháp truyền dữ liệu có liên k ết, tr ạm phát và tr ạm nhậncần phải thiết lậ p liên k ết tr ướ c khi truyền số liệu, sau khi truyền xong thì phải hủy bỏ liên k ết.

    Các giao thứ c mứ c caoCác giao thức mức cao nằm trên lớ  p giao vận, OSI khuyến nghị  3 lớ  p: Lớ  p phiên, lớ  p trình diễn và lớ  p ứng dụng. Ngoài ra, tùy theo yêu cầu phát triển hệ thốngngườ i ta có thể thêm một số các giao thức khác nhằm đơ n giản hóa quá trình phát triểncác sản phẩm phần mềm mạng, các giao thức đó đượ c gộ p chung vào nhóm phần mềmtrung gian (Middleware). Lớ  p phiên quản lý cuộc hội thoại giữa các máy tính trênmạng. Tại lớ  p này ngườ i ta thiết k ết các điểm kiểm tra nhằm hạn chế việc phải truyềnlại toàn bộ dữ liệu khi xảy ra sự cố mất dữ liệu trên mạng. Lớ  p trình diễn thực hiện cácnhiệm vụ mã hóa/giải mã dữ liệu nhằm thống nhất cách thể hiện các loại dữ liệu khácnhau của ngườ i sử dụng (dùng bảng mã ASCII), nén/giải nén dữ liệu mã hóa/giải mã

     bảo mật dữ liệu. Lớ  p ứng dụng bao gồm các giao thức phục vụ tr ực tiế p cho các dịch

    vụ của ngườ i sử dụng như: thư điện tử, truyền file, truy nhậ p trang thông tin điện tử…. Phần mềm trung gian 

    Về  mặt logic, phần mềm trung gian thườ ng nằm tại lớ  p ứng dụng, nó chứanhiều giao thức đa năng để  bảo tính độc lậ p vớ i các ứng dụng riêng, chúng thườ ngđượ c thể hiện dướ i dạng các dịch vụ. Tuỳ theo yêu cầu sử dụng và khả năng phát triển,có thể xây dựng hệ  thống phân tán theo cac mức độ: truyền tậ p tin, xử  lý khách/chủ thuần tuý (Máy tr ạm/Máy chủ), xử  lý hình ngang hàng (Peer-To-Peer). Phươ ng pháptruyền tậ p tin là mức đơ n giản nhất trong các hệ thống phân tán, thông tin cần trao đổigiữa các đối tượ ng trong hệ thống đượ c lưu dướ i dạng tậ p tin, các máy tính phải cùngsử dụng một giao thức truyền tậ p tin.

    Phần mềm trung gian đơ n giản hoá sự  phức tạ p trong việc truyền dữ  liệu trongmạng, nhờ  có phần mềm này mà việc gọi các thủ tục từ xa sẽ đượ c thể hiện tươ ng tự như  gọi các thủ  tục trên máy cục bộ. Đối chiếu vớ i mô hình 7 lớ  p OSI, phần mềmtrung gian thể hiện các tính năng của nó trong lớ  p trình diễn và lớ  p phiên. Hiện nay cónhiều kiến trúc khác nhau dùng để thể hiện phần mềm trung gian như: Gọi thủ tục từ xa (RPC), kiến trúc môi tr ườ ng yêu cầu đối tượ ng chung (CORBA), mô hình đốitượ ng thành phần phân tán (DCOM) và gọi thao tác từ xa ứng dụng trong Java (RMI).Giải pháp RMI áp dụng riêng cho ngôn ngữ lậ p trình Java, nó sử dụng nhiều đặc tínhcủa phươ ng pháp gọi thủ tục từ xa RPC và kiến trúc CORBA. Tuy nhiên khi kiến trúcCORBA đượ c đưa vào lõi của ngôn ngữ Java thì kiến trúc này sẽ dần thay thế RMI.Mô hình DCOM chỉ  đượ c ứng dụng trong các hệ  thống cài đặt hệ  điều hành của

    Microsoft và có hiều hạn chế  trong việc thiết k ế hệ  thống. Mức xử  lý ngang hàng làmức độ  cao hơ n trong mô hình khách/chủ, các tiến trình tươ ng tác có thể  là máykhách, máy chủ hoặc đồng thờ i là máy khách và máy chủ.

    2.1.1.2  Phân loại truyề n thông

    Để hiểu về các loại truyền thông mà lớ  p trung gian cung cấ p cho các ứng dụng,chúng ta coi nó như một dịch vụ phụ tr ợ  trong mô hình tính toán khách/chủ. Ví dụ hệ thống