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

1 BÀI GIẢNG: DISTRIBUTED DATABASE SYSTEM

87 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Bài Giảng: Distributed Database System
Tác giả TS. Nguyễn Hà Huy Cường
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài giảng
Định dạng
Số trang 87
Dung lượng 2,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Báo cáo khoa học, luận văn tiến sĩ, luận văn thạc sĩ, nghiên cứu - Công nghệ thông tin 1 BÀI GIẢNG: DISTRIBUTED DATABASE SYSTEM TS. Nguyễn Hà Huy Cường CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ HỆ PHÂN TÁN 2 Nội dung Chương 1: TỔNG QUAN Khái niệm về hệ phân tán Vai trò của hệ phân tán Đặc trưng của hệ phân tán Lý thuyết hệ phân tán Các lĩnh vực ứng dụng Từ lý thuyết đến ứng dụng 3 Nội dung Chương 1: PHƯƠNG THỨC LIÊN LẠC TRONG HỆ PHÂN TÁN Mô hình truyền thông báo Trạng thái trong hệ phân tán Cấu hình Sự kiện Thực hiện và tính thỏa đáng Thực hiện không đồng bộ Thực hiện đồng bộ Thỏa đáng với các mô hình phân tán Kết thúc phiên giao dịch phân tán 4 Nội dung Chương 1: CÁC ĐỘ PHỨC TẠP Giải thuật phát tràn Độ phức tạp giải thuật phát tràn Giải thuật phát tỏa và cây khung Hội nhập qua một cây khung Tìm cây khung khi biết gốc Tìm cây khung không biết gốc 5 6 Distributed Systems Dynamic Mission Replanning Feedback Control Image Processing Tracking Synchronization Memory Management Physical Memory Access Asynchronous Event Handling Scheduling Asynchronous Transfer of Control Modeling Tools Model CheckingReal-time JVMs Real-time ORBs Aspect Languages 7 Distributed Systems 8 Khái niệm hệ phân tán Hệ phân tán là tập hợp các thiết bị tính riêng rẽ có thể giao tiếp với nhau – Ví dụ : chíp VLSI, bộ đa xử lý, mạng cục bộ, Internet Hệ phân tán vs. hệ song song – Hệ song song phối hợp nhiều bộ xử lý nhằm giải quyết một vấn đề cho trước một cách nhanh nhất – Trong hệ phân tán, mỗi bộ xử lý nói chung có chương trình làm việc riêng bán độc lập, vì lợi ích chung nên cần phối hợp hành động với nhau Mục đích môn học là nghiên cứu các công cụ và kỹ thuật xây dựng phần mềm phân tán – Tập trung vào khía cạnh giải thuật 9 Vai trò của các hệ phân tán Trao đổi thông tin – Tiền đề phát triển các mạng máy tính Chia sẻ tài nguyên – Giúp giảm chi phí hệ thống Nâng cao độ tin cậy thông qua sao lặp – Hệ thống vẫn hoạt động khi một bộ phận gặp sự cố Nâng cao hiệu suất thông qua song song hóa – Thực hiện công việc chung hay chia sẻ công việc Đơn giản thiết kế thông qua chuyên dụng hóa – Phân hệ thống thành các tiến trình tác hợp với nhau 10 Đặc trưng của các hệ phân tán Không có đồng hồ chung – Không thể đồng bộ hóa đồng hồ của các bộ xử lý khác nhau vì không thể biết chắc độ trễ truyền thông – Dùng khái niệm nhân quả thay cho đồng hồ vật lý Không có bộ nhớ toàn cục – Các bộ xử lý không thể biết được trạng thái toàn cục của hệ thống – Cần có giải thuật đánh giá các tính chất toàn cục Không có cơ chế phát hiện sự cố chính xác – Không thể phân biệt được bộ xử lý chậm hay bị sự cố – Cần xây dựng cơ chế phát hiện sự cố 11 Lý thuyết hệ phân tán Phát hiện và khái quát hóa các vấn đề cơ bản Phát biểu các vấn đề một cách chính xác Thiết kế các giải thuật để giải quyết các vấn đề Chứng minh tính đúng đắn của các giải thuật Phân tích độ phức tạp của các giải thuật – Dựa trên các tiêu chí như thời gian thực hiện, lượng bộ nhớ sử dụng, số thông báo trao đổi Chứng minh các kết quả về tính không thể và các kết quả cận dưới – Phụ thuộc nhiều vào giả thiết 12 Các lĩnh vực ứng dụng Hệ điều hành – Các tiến trình cần giao tiếp với nhau Cơ sở dữ liệu phân tán – Các server CSDL cần được phối hợp đồng bộ Khắc phục lỗi phần mềm – Cho chạy nhiều chương trình để nâng cao độ tin cậy Mạng máy tính – Thiết kế các dịch vụ điều khiển mạng Kiến trúc đa xử lý – Các bộ xử lý kết nối với nhau cần phối hợp thực hiện 13 Từ lý thuyết đến ứng dụng Hệ điều hành phân chia thời gian – Cũng gặp phải các vấn đề loại trừ lẫn nhau, khóa chết,... như trong các hệ phân tán vật lý Các bộ đa xử lý (MIMD) – Nếu có đồng hồ chung thì sử dụng mô hình đồng bộ – Nếu không thì sử dụng mô hình không đồng bộ Các mạng kết nối lỏng (như Internet) – Sử dụng mô hình truyền thông báo không đồng bộ Khắc phục sự số – Mô hình treo nếu ngừng hoạt động không thông báo – Mô hình Byzantine nếu khó hiểu hoặc có dụng ý 14 PHƯƠNG THỨC LIÊN LẠC TRONG HỆ PHÂN TÁN 15 Mô hình truyền thông báo Các bộ xử lý p0, p1,..., pn-1 (các nút của đồ thị) Các kênh hai chiều nối từng cặp nút (các cạnh không định hướng của đồ thị) Mỗi bộ xử lý pi gắn nhán cho các kênh kề nó 1, 2, 3,... r (r là bậc của pi) p0 p1 p3 p2 1 2 3 1 1 1 2 2 16 Trạng thái Mỗi bộ xử lý là một máy trạng thái – Mỗi trạng thái của pi có 2r thành phần đặc biệt outbufil và inbufil, với l = 1..r outbufil chứa các thông báo pi gửi cho nút bên cạnh trên kênh l nhưng chưa đến nơi inbufil chứa các thông báo pi nhận được trên kênh l nhưng chưa xử lý – Tập trạng thái Qi chứa một tập con gồm các trạng thái ban đầu Ở trạng thái ban đầu các inbufil phải rỗng – Hàm chuyển của pi có đầu vào (trạng thái khả truy nhập) không bao gồm các outbufil và đầu ra là một trạng thái có các inbufil rỗng SƠ ĐỒ TRẠNG THÁI CỦA TIẾN TRÌNH TRONG HỆ ĐIỀU HÀNH 17 18 Cấu hình Cấu hình là một vectơ C = (q0,..., qn-1) trong đó qi là một trạng thái của pi – Trạng thái của các biến outbuf của cấu hình thể hiện các thông báo đang di chuyển trên các kênh truyền – Cấu hình ban đầu là một vectơ (q0,..., qn-1) thỏa mãn mỗi qi là một trạng thái ban đầu của pi Nói cách khác ở cấu hình ban đầu tất cả các bộ xử lý đều ở trạng thái ban đầu tương ứng Có thể coi cấu hình là trạng thái tổng thể của toàn bộ hệ thống 19 Sự kiện Có hai loại sự kiện – Sự kiện giao : chuyển một thông báo từ outbuf của bên gửi đến inbuf của bên nhận Thông báo sẽ được xử lý ngay khi bên nhận thực hiện sự kiện tính toán tiếp theo – Sự kiện tính : một bước thực hiện của bộ xử lý Tương ứng với việc áp dụng hàm chuyển lên trạng thái khả truy nhập hiện thời Trạng thái khả truy nhập cũ Trạng thái khả truy nhập mới Các thông báo gửi đi + Sự kiện tính - Xử lý các thông báo gửi đến - Chuyển trạng thái bộ xử lý 20 Thực hiện và tính thỏa đáng Các điều kiện đối với chuỗi các cấu hình xen kẽ sự kiện mô tả hoạt động của hệ thống – Điều kiện an toàn : điều kiện phải đúng với mọi tiền tố hữu hạn của chuỗi mô tả Chưa có điều gì xấu xảy ra – Điều kiện sống động : điều kiện phải đúng một số lần nhất định (có thể vô hạn lần) Điều tốt sẽ đến Thực hiện là một chuỗi mô tả thỏa mãn mọi điều kiện an toàn đặt ra Thực hiện thỏa mãn mọi điều kiện sống động đặt ra được gọi là thực hiện thỏa đáng 21 Thực hiện không đồng bộ Hệ thống gọi là không đồng bộ nếu không có cận trên đối với thời gian – từ lúc thông báo được gửi đi cho đến lúc giao – hoặc giữa các bước thực hiện của bộ xử lý Thực hiện là chuỗi các cấu hình xen kẽ sự kiện cấu hình, sự kiện, cấu hình, sự kiện, cấu hình,... – Với mỗi bộ ba (cấu hình, sự kiện, cấu hình), cấu hình giống như cấu hình cũ ngoại trừ Trường hợp sự kiện giao : thông báo đã cho được chuyển từ outbuf của bên gửi đến inbuf của bên nhận Trường hợp sự kiện tính : trạng thái của bộ xử lý đã cho (bao gồm các outbuf) thay đổi theo hàm chuyển của nó 22 Thực hiện đồng bộ Trong mô hình đồng bộ, các bộ xử lý hoạt động theo các vòng nhịp Thực hiện là dãy các vòng, mỗi vòng như sau giao giao ... giao tính tính tính ... tính – Đầu tiên giao tất cả các thông báo có trong các outbuf – Sau đó mỗi p0, p1,..., pn-1 thực hiện một bước tính Mô hình đồng bộ không thực tế nhưng thích hợp cho thiết kế giải thuật vì không phải tính đến nhiều điều không chắc chắn – Có thể mô phỏng để hoạt động theo các mô hình thực tế hơn 23 Thỏa đáng với các mô hình Với mô hình không đồng bộ, một thực hiện là thỏa đáng nếu – Mọi thông báo trong các outbuf nhất định sẽ được giao – Mọi bộ xử lý thực hiện vô hạn bước tính Với mô hình đồng bộ, một thực hiện là thỏa đáng nếu nó là dãy vô hạn – Ngầm thỏa mãn hai điều kiện thỏa đáng không đồng bộ 24 Kết thúc phiên giao dịch phân tán Các thực hiện thỏa đáng kéo dài vô hạn không có nghĩa là các chương trình cục bộ không bao giờ kết thúc (theo nghĩa thông thường) – Chỉ mô phỏng các bộ xử lý không gặp sự cố Để mô hình hóa kết thúc của giải thuật, định ra các trạng thái kết thúc của các bộ xử lý – Là các trạng thái một khi đã vào không bao giờ ra – Sau đó các bước tính chỉ là giả Một thực hiện kết thúc khi tất cả các bộ xử lý kết thúc và không còn thông báo treo nào – Không còn thông báo nào trong các inbuf và outbuf 25 Các độ phức tạp Tập trung vào hiệu suất xấu nhất Độ phức tạp thông báo là số tối đa các thông báo gửi đi trong thực hiện thỏa đáng Độ phức tạp thời gian là thời gian tối đa đến khi kết thúc trong thực hiện thỏa đáng – Với mô hình đồng bộ đo bằng số vòng tối đa – Với mô hình không đồng bộ đo dựa trên các giả thiết Thời gian xử lý một sự kiện là không đơn vị Thời gian truyền một thông báo (từ sự kiện gửi đến sự kiện xử lý thông báo) tối đa là một đơn vị – Lưu ý : Độ chính xác của giải thuật không đồng bộ cần được chứng minh độc lập với các giả thiết thời gian 26 Giải thuật phát tràn Vấn đề – Bộ xử lý p0 muốn gửi một thông báo M cho tất cả các bộ xử lý khác trên mạng Giải thuật – Các trạng thái Biến color có hai giá trị green hoặc red Các inbuf và outbuf – Các trạng thái đầu Với p0, color là green và tất cả các outbuf chứa M Với các bộ xử lý khác, color là red và các outbuf rỗng – Hàm chuyển Nếu M nằm trong inbuf và color là red thì đổi color thành green và gửi M vào tất cả các outbuf 27 Ví dụ phát tràn không đồng bộ p0 p2 p1 green red red M M p0 p2 p1 green red red M M Sự kiện giao tại p1 từ p0 p0 p2 p1 green red green M M Sự kiện tính bởi p1 M p0 p2 p1 green red green M M Sự kiện giao tại p2 từ p1 M 28 Độ phức tạp giải thuật phát tràn Xác định trạng thái kết thúc – Trạng thái kết thúc có giá trị biến color là green Độ phức tạp thông báo – Số thông báo gửi đi trong mọi thực hiện thỏa đáng là 2m, trong đó m là số cạnh của đồ thị Một thông báo được gửi đi trên mỗi cạnh theo mỗi hướng Độ phức tạp thời gian – Thời gian tối đa đến khi kết thúc giải thuật là D + 1, trong đó D là đường kính của đồ thị Đến thời gian t, thông báo M tới được tất cả các bộ xử lý cách p0 t cạnh (hoặc nhỏ hơn) 29 Thực hiện ví dụ đã cho theo mô hình đồng bộ Giao M tới p1 từ p0 Giao M tới p2 từ p0 p0 không làm gì p1 chuyển thành green và gửi M tới p0 và p2 p2 chuyển thành green và gửi M tới p0 và p1 Giao M tới p0 từ p1 và p2 Giao M tới p1 từ p2 Giao M tới p2 từ p1 p0, p1 và p2 không làm gì Các độ phức tạp thông báo và thời gian giống như mô hình không đồng bộ Phát tràn đồng bộ Vòng 1 Vòng 2 30 Phát tỏa qua một cây khung (1) Vấn đề – p0 muốn gửi một thông báo M cho tất cả các bộ xử lý khác thông qua một cây khung cho trước có gốc ở p0 Giải thuật – Các biến cục bộ Biến parenti chỉ ra cha của pi trên cây khung Biến childreni chỉ ra tập các con của pi trên cây khung Biến terminatedi chỉ ra pi đã ở trạng thái kết thúc chưa – Trạng thái đầu Các biến parent và children tạo nên cây khung có gốc ở p0 Với tất cả các bộ xử lý, terminated = false outbuf0j chứa M  j  children0, các outbuf khác của p0 rỗng; các bộ xử lý khác có các outbuf đều rỗng 31 Phát tỏa qua một cây khung (2) Giải thuật (tiếp theo) – Hàm chuyển Với p0, nếu terminated0 = false thì terminated0 = true Với pi  p0, nếu  inbufi chứa M thì đặt M vào các outbufij  j  childreni, và chuyển terminated thành true Độ phức tạp – Cả mô hình đồng bộ và không đồng bộ đều có độ phức tạp thông báo là n - 1 và độ phức tạp thời gian là d, trong đó d là độ sâu của cây khung Với mô hình đồng bộ, mọi bộ xử lý cách p0 t cạnh đều nhận được thông báo M ở vòng thứ t Với mô hình không đồng bộ, mọi bộ xử lý cách p0 t cạnh đều nhận được thông báo M ở thời điểm t 32 Hội nhập qua một cây khung Vấn đề – p0 muốn nhận thông tin của tất cả các bộ xử lý gửi đến thông qua một cây khung cho trước có gốc ở p0 Ngược lại của phát tỏa Giải thuật – Mỗi bộ xử lý lá gửi thông tin đến cha của nó – Mỗi bộ xử lý không phải lá chờ nhận thông báo từ tất cả các con, sau đó kết hợp và gửi đến cha của nó Độ phức tạp – Độ phức tạp thông báo là n - 1 và độ phức tạp thời gian là d giống như giải thuật phát tỏa 33 Ví dụ hội nhập qua cây khung a b c d e f g h g h d e,g f,h c,f,hb,d,e,g 34 Tìm cây khung biết gốc (1) Tìm cây khung dựa trên giải thuật phát tràn – Gốc p0 gửi M đến tất cả các bộ xử lý bên cạnh Nếu không có bộ xử lý nào bên cạnh thì kết thúc – Mỗi pi  p0 khi nhận được M lần đầu tiên Gọi một bộ xử lý bất kỳ gửi M là cha Gửi nhãn parent đến cha của nó Gửi M đến tất cả các bộ xử lý khác bên cạnh Nếu tập các bộ xử lý hoặc là con hoặc là kề cận khác đúng bằng tập các nút kề cận thì kết thúc – Mỗi pi khi nhận được M thêm một lần nữa Gửi nhãn reject đến từng bộ xử lý gửi M 35 Tìm cây khung biết gốc (2) Tìm cây khung (tiếp theo) – Mỗi bộ xử lý khi nhận được nhãn parent Bổ xung bộ xử lý gửi nhãn vào tập các con Nếu tập các bộ xử lý hoặc là con hoặc là kề cận khác đúng bằng tập các nút kề cận thì kết thúc – Mỗi bộ xử lý khi nhận được nhãn reject Bổ xung bộ xử lý gửi nhãn vào tập các kề cận khác Nếu tập các bộ xử lý hoặc là con hoặc là kề cận khác đúng bằng tập các nút kề cận thì kết thúc 36 Thực hiện giải thuật cây khung Trường hợp đồng bộ, tạo nên cây BFS Trường hợp không đồng bộ, cây tạo nên có thể không phải là cây BFS Cả hai trường hợp đều dùng O(m) thông báo và O(D) thời gian 37 Tìm cây khung DFS biết gốc (1) Tìm cây khung DFS dựa trên giải thuật tuần tự – Gốc p0 thực hiện thủ tục () sau Chọn một bộ xử lý kề cận chưa có M, đánh dấu nó đã có M, gửi M đến bộ xử lý đã chọn Nếu tất cả các bộ xử lý kề cận đều đã có M thì gửi nhãn parent đến bộ xử lý cha (nếu có) và kết thúc – Mỗi pi  p0 khi nhận được M lần đầu tiên Gọi bộ xử lý gửi M là cha, đánh dấu bộ xử lý đó đã có M Thực hiện thủ tục () – Mỗi bộ xử lý khi nhận được M đã có Đánh dấu bộ xử lý gửi M đã có M, gửi nhãn reject đến đó – Mỗi bộ xử lý khi nhận được nhãn reject Lặp lại thủ tục () 38 Tìm cây khung DFS biết gốc (2) Tìm cây khung DFS (tiếp theo) – Mỗi bộ xử lý khi nhận được nhãn parent Gọi bộ xử lý gửi nhãn là con Lặp lại thủ tục () Độ phức tạp – Giải thuật có độ phức tạp thông báo và độ phức tạp thời gian đều là O(m) Số thông báo tối đa sử dụng bởi giải thuật là 2m Thời gian tối đa thực hiện giải thuật là 2m 39 Tìm cây khung không biết gốc Vấn đề – Xây dựng cây khung khi không biết nút nào là gốc, với giả thiết mỗi nút có một số định danh duy nhất Giả thiết là bắt buộc, nếu không thì không thực hiện được Giải thuật – Mỗi nút khởi động một giải thuật cây khung DFS biết gốc, phân biệt bởi số định danh của nút đó – Nếu hai phiên bản đụng độ tại một nút thì nút đó sẽ tham gia cây khung DFS có số định danh lớn hơn Độ phức tạp – Độ phức tạp thông báo là O(nm) và độ phức tạp thời gian là O(m) Nội dung Chương 1: CÁC HÌNH THỨC TỔ CHỨC TRONG HỆ PHÂN TÁN Peer-to-Peer File server ClientServer ServerServer 40 41 Các hình thức tổ chức hệ thống phân tán peer-to-peer (mô hình nhóm làm việc):  Các máy tính cá nhân và máy trạm có thể được sử dụng như một hệ thống độc lập trợ giúp các ứng dụng địa phương.  Mỗi thành viên trong mạng có vai trò ngang nhau, tự quản lý tài nguyên của chính mình và chia sẻ tài nguyên cho các máy tính khác trên mạng  Mỗi một máy tính trên mạng vừa đóng vai trò máy chủ (Server), vừa đóng vai trò là máy khách (Client). Đây là mô hình mạng đơn giản, phù hợp với những hệ thống mạng nhỏ không có yêu cầu cao về bảo mật. 42 CÁC HÌNH THỨC TỔ CHỨC TRONG HỆ PHÂN TÁN peer-to-peer (mô hình nhóm làm việc): 43 CÁC HÌNH THỨC TỔ CHỨC TRONG HỆ PHÂN TÁN File server (máy dịch vụ file):  File server Một số máy dịch vụ file được gán trực tiếp vào mạng LAN  File server là một thiết bị quản lý các hoạt động file và phục vụ các máy tính cá nhân được kết nối trong mạng LAN  Mỗi máy cá nhân được phân chia một dung lượng cố định trên ổ cứng của File server, chương trình ở các máy tính cá nhân có thể tham chiếu đến các file trên phần đĩa tương ứng của nó bằng một đặc tả đường dẫn.  Những hạn chế của File server Dữ liệu di chuyển trên mạng quá nhiều Việc kiểm soát dữ liệu là phi tập trung Các máy trạm phải đủ mạnh 44 CÁC HÌNH THỨC TỔ CHỨC TRONG HỆ PHÂN TÁN Clientserver (mô hình kháchchủ) Một số máy dịch vụ file được gán trực tiếp vào mạng LAN  server có chức năng điều khiển, lưu trữ CSDL, xử lý các truy vấn và quản ...

Trang 1

BÀI GIẢNG:

DISTRIBUTED DATABASE SYSTEM

TS Nguyễn Hà Huy Cường

Trang 2

CHƯƠNG 1 GIỚI THIỆU TỔNG

QUAN VỀ HỆ PHÂN TÁN

Trang 3

Nội dung Chương 1:

TỔNG QUAN

• Khái niệm về hệ phân tán

• Vai trò của hệ phân tán

• Đặc trưng của hệ phân tán

• Lý thuyết hệ phân tán

• Các lĩnh vực ứng dụng

• Từ lý thuyết đến ứng dụng

Trang 4

Nội dung Chương 1:

PHƯƠNG THỨC LIÊN LẠC TRONG HỆ PHÂN TÁN

• Mô hình truyền thông báo

• Trạng thái trong hệ phân tán

Trang 5

Nội dung Chương 1:

CÁC ĐỘ PHỨC TẠP

• Giải thuật phát tràn

• Độ phức tạp giải thuật phát tràn

• Giải thuật phát tỏa và cây khung

• Hội nhập qua một cây khung

• Tìm cây khung khi biết gốc

• Tìm cây khung không biết gốc

Trang 6

Distributed Systems

Dynamic Mission Replanning

Physical Memory Access

Asynchronous Event Handling Asynchronous

Transfer of Control

Trang 7

Distributed Systems

Trang 8

Khái niệm hệ phân tán

• Hệ phân tán là tập hợp các thiết bị tính riêng rẽ có

thể giao tiếp với nhau

– Ví dụ : chíp VLSI, bộ đa xử lý, mạng cục bộ, Internet

• Hệ phân tán vs hệ song song

– Hệ song song phối hợp nhiều bộ xử lý nhằm giải quyết

một vấn đề cho trước một cách nhanh nhất

– Trong hệ phân tán, mỗi bộ xử lý nói chung có chương trình làm việc riêng bán độc lập, vì lợi ích chung nên cần phối hợp hành động với nhau

• Mục đích môn học là nghiên cứu các công cụ và kỹ thuật xây dựng phần mềm phân tán

– Tập trung vào khía cạnh giải thuật

Trang 9

Vai trò của các hệ phân tán

• Trao đổi thông tin

– Tiền đề phát triển các mạng máy tính

• Chia sẻ tài nguyên

– Giúp giảm chi phí hệ thống

• Nâng cao độ tin cậy thông qua sao lặp

– Hệ thống vẫn hoạt động khi một bộ phận gặp sự cố

• Nâng cao hiệu suất thông qua song song hóa

– Thực hiện công việc chung hay chia sẻ công việc

• Đơn giản thiết kế thông qua chuyên dụng hóa

– Phân hệ thống thành các tiến trình tác hợp với nhau

Trang 10

Đặc trưng của các hệ phân tán

• Không có đồng hồ chung

– Không thể đồng bộ hóa đồng hồ của các bộ xử lý khác

nhau vì không thể biết chắc độ trễ truyền thông

– Dùng khái niệm nhân quả thay cho đồng hồ vật lý

• Không có bộ nhớ toàn cục

– Các bộ xử lý không thể biết được trạng thái toàn cục của

hệ thống

– Cần có giải thuật đánh giá các tính chất toàn cục

• Không có cơ chế phát hiện sự cố chính xác

– Không thể phân biệt được bộ xử lý chậm hay bị sự cố

– Cần xây dựng cơ chế phát hiện sự cố

Trang 11

Lý thuyết hệ phân tán

• Phát hiện và khái quát hóa các vấn đề cơ bản

• Phát biểu các vấn đề một cách chính xác

• Thiết kế các giải thuật để giải quyết các vấn đề

• Chứng minh tính đúng đắn của các giải thuật

• Phân tích độ phức tạp của các giải thuật

– Dựa trên các tiêu chí như thời gian thực hiện, lượng bộ nhớ sử dụng, số thông báo trao đổi

• Chứng minh các kết quả về tính không thể và các

kết quả cận dưới

– Phụ thuộc nhiều vào giả thiết

Trang 12

Các lĩnh vực ứng dụng

• Hệ điều hành

– Các tiến trình cần giao tiếp với nhau

• Cơ sở dữ liệu phân tán

– Các server CSDL cần được phối hợp đồng bộ

Trang 13

Từ lý thuyết đến ứng dụng

• Hệ điều hành phân chia thời gian

– Cũng gặp phải các vấn đề loại trừ lẫn nhau, khóa chết, như trong các hệ phân tán vật lý

• Các bộ đa xử lý (MIMD)

– Nếu có đồng hồ chung thì sử dụng mô hình đồng bộ

– Nếu không thì sử dụng mô hình không đồng bộ

• Các mạng kết nối lỏng (như Internet)

– Sử dụng mô hình truyền thông báo không đồng bộ

• Khắc phục sự số

– Mô hình treo nếu ngừng hoạt động không thông báo

– Mô hình Byzantine nếu khó hiểu hoặc có dụng ý

Trang 14

PHƯƠNG THỨC LIÊN LẠC TRONG HỆ PHÂN TÁN

Trang 15

Mô hình truyền thông báo

• Các bộ xử lý p0, p1, , pn-1 (các nút của đồ thị)

• Các kênh hai chiều nối từng cặp nút (các cạnh

không định hướng của đồ thị)

• Mỗi bộ xử lý pi gắn nhán cho các kênh kề nó 1, 2,

1

2

2

Trang 16

Trạng thái

• Mỗi bộ xử lý là một máy trạng thái

– Mỗi trạng thái của p i có 2r thành phần đặc biệt outbuf i [l] và

inbuf i [l], với l = 1 r

nhưng chưa đến nơi

– Tập trạng thái Q i chứa một tập con gồm các trạng thái ban đầu

– Hàm chuyển của p i có đầu vào (trạng thái khả truy nhập)

không bao gồm các outbuf i [l] và đầu ra là một trạng thái có các inbuf i [l] rỗng

Trang 17

SƠ ĐỒ TRẠNG THÁI CỦA TIẾN TRÌNH TRONG HỆ ĐIỀU HÀNH

Trang 18

Cấu hình

• Cấu hình là một vectơ C = (q0, , qn-1) trong đó qi

một trạng thái của pi

– Trạng thái của các biến outbuf của cấu hình thể hiện các

thông báo đang di chuyển trên các kênh truyền

– Cấu hình ban đầu là một vectơ (q0, , q n-1 ) thỏa mãn mỗi q i

là một trạng thái ban đầu của p i

• Nói cách khác ở cấu hình ban đầu tất cả các bộ xử lý đều ở trạng thái ban đầu tương ứng

• Có thể coi cấu hình là trạng thái tổng thể của toàn bộ

hệ thống

Trang 19

Sự kiện

• Có hai loại sự kiện

– Sự kiện giao : chuyển một thông báo từ outbuf của bên gửi đến inbuf của bên nhận

• Thông báo sẽ được xử lý ngay khi bên nhận thực hiện sự kiện tính toán tiếp theo

– Sự kiện tính : một bước thực hiện của bộ xử lý

• Tương ứng với việc áp dụng hàm chuyển lên trạng thái khả truy nhập hiện thời

Trạng thái khả

truy nhập cũ

Trạng thái khả truy nhập mới

Các thông báo gửi đi

+

Sự kiện tính

Trang 20

Thực hiện và tính thỏa đáng

• Các điều kiện đối với chuỗi các cấu hình xen kẽ sự kiện mô tả hoạt động của hệ thống

– Điều kiện an toàn : điều kiện phải đúng với mọi tiền tố hữu

hạn của chuỗi mô tả

• Chưa có điều gì xấu xảy ra

– Điều kiện sống động : điều kiện phải đúng một số lần nhất

định (có thể vô hạn lần)

• Điều tốt sẽ đến

• Thực hiện là một chuỗi mô tả thỏa mãn mọi điều kiện

an toàn đặt ra

• Thực hiện thỏa mãn mọi điều kiện sống động đặt ra

được gọi là thực hiện thỏa đáng

Trang 21

Thực hiện không đồng bộ

• Hệ thống gọi là không đồng bộ nếu không có cận

trên đối với thời gian

– từ lúc thông báo được gửi đi cho đến lúc giao

– hoặc giữa các bước thực hiện của bộ xử lý

• Thực hiện là chuỗi các cấu hình xen kẽ sự kiện

cấu hình, sự kiện, cấu hình, sự kiện, cấu hình,

– Với mỗi bộ ba (cấu hình, sự kiện, cấu hình), cấu hình

giống như cấu hình cũ ngoại trừ

• Trường hợp sự kiện giao : thông báo đã cho được chuyển từ

outbuf của bên gửi đến inbuf của bên nhận

• Trường hợp sự kiện tính : trạng thái của bộ xử lý đã cho (bao gồm

các outbuf) thay đổi theo hàm chuyển của nó

Trang 22

Thực hiện đồng bộ

• Trong mô hình đồng bộ, các bộ xử lý hoạt động theo các vòng nhịp

• Thực hiện là dãy các vòng, mỗi vòng như sau

giao giao giao tính tính tính tính

– Đầu tiên giao tất cả các thông báo có trong các outbuf

– Sau đó mỗi p0, p1, , p n-1 thực hiện một bước tính

• Mô hình đồng bộ không thực tế nhưng thích hợp cho thiết kế giải thuật vì không phải tính đến nhiều điều không chắc chắn

– Có thể mô phỏng để hoạt động theo các mô hình thực tế hơn

Trang 23

Thỏa đáng với các mô hình

• Với mô hình không đồng bộ, một thực hiện là thỏa

đáng nếu

– Mọi thông báo trong các outbuf nhất định sẽ được giao

– Mọi bộ xử lý thực hiện vô hạn bước tính

• Với mô hình đồng bộ, một thực hiện là thỏa đáng nếu

nó là dãy vô hạn

– Ngầm thỏa mãn hai điều kiện thỏa đáng không đồng bộ

Trang 24

Kết thúc phiên giao dịch phân tán

• Các thực hiện thỏa đáng kéo dài vô hạn không có

nghĩa là các chương trình cục bộ không bao giờ kết thúc (theo nghĩa thông thường)

– Chỉ mô phỏng các bộ xử lý không gặp sự cố

• Để mô hình hóa kết thúc của giải thuật, định ra các trạng thái kết thúc của các bộ xử lý

– Là các trạng thái một khi đã vào không bao giờ ra

– Sau đó các bước tính chỉ là giả

• Một thực hiện kết thúc khi tất cả các bộ xử lý kết

thúc và không còn thông báo treo nào

– Không còn thông báo nào trong các inbuf và outbuf

Trang 25

Các độ phức tạp

• Tập trung vào hiệu suất xấu nhất

• Độ phức tạp thông báo là số tối đa các thông báo gửi

đi trong thực hiện thỏa đáng

• Độ phức tạp thời gian là thời gian tối đa đến khi kết

thúc trong thực hiện thỏa đáng

– Với mô hình đồng bộ đo bằng số vòng tối đa

– Với mô hình không đồng bộ đo dựa trên các giả thiết

• Thời gian xử lý một sự kiện là không đơn vị

• Thời gian truyền một thông báo (từ sự kiện gửi đến sự kiện xử lý thông báo) tối đa là một đơn vị

– Lưu ý : Độ chính xác của giải thuật không đồng bộ cần

được chứng minh độc lập với các giả thiết thời gian

Trang 26

• Với các bộ xử lý khác, color là red và các outbuf rỗng

– Hàm chuyển

• Nếu M nằm trong inbuf và color là red thì đổi color thành green và gửi M vào tất cả các outbuf

Trang 29

• Thực hiện ví dụ đã cho theo mô hình đồng bộ

Trang 30

Phát tỏa qua một cây khung (1)

– Trạng thái đầu

• Với tất cả các bộ xử lý, terminated = false

bộ xử lý khác có các outbuf đều rỗng

Trang 31

Phát tỏa qua một cây khung (2)

• Giải thuật (tiếp theo)

– Hàm chuyển

children i , và chuyển terminated thành true

• Độ phức tạp

– Cả mô hình đồng bộ và không đồng bộ đều có độ phức tạp

thông báo là n - 1 và độ phức tạp thời gian là d, trong đó d là

độ sâu của cây khung

được thông báo M ở thời điểm t

Trang 32

Hội nhập qua một cây khung

• Vấn đề

– p0 muốn nhận thông tin của tất cả các bộ xử lý gửi đến

thông qua một cây khung cho trước có gốc ở p0

• Ngược lại của phát tỏa

• Giải thuật

– Mỗi bộ xử lý lá gửi thông tin đến cha của nó

– Mỗi bộ xử lý không phải lá chờ nhận thông báo từ tất cả các con, sau đó kết hợp và gửi đến cha của nó

• Độ phức tạp

– Độ phức tạp thông báo là n - 1 và độ phức tạp thời gian là

d giống như giải thuật phát tỏa

Trang 33

Ví dụ hội nhập qua cây khung

b,d,e,g

Trang 34

Tìm cây khung biết gốc (1)

• Tìm cây khung dựa trên giải thuật phát tràn

– Gốc p0 gửi M đến tất cả các bộ xử lý bên cạnh

• Nếu không có bộ xử lý nào bên cạnh thì kết thúc

– Mỗi pi  p0 khi nhận được M lần đầu tiên

• Gọi một bộ xử lý bất kỳ gửi M là cha

• Gửi nhãn parent đến cha của nó

• Gửi M đến tất cả các bộ xử lý khác bên cạnh

• Nếu tập các bộ xử lý hoặc là con hoặc là kề cận khác đúng bằng tập các nút kề cận thì kết thúc

– Mỗi pi khi nhận được M thêm một lần nữa

• Gửi nhãn reject đến từng bộ xử lý gửi M

Trang 35

Tìm cây khung biết gốc (2)

• Tìm cây khung (tiếp theo)

– Mỗi bộ xử lý khi nhận được nhãn parent

• Bổ xung bộ xử lý gửi nhãn vào tập các con

• Nếu tập các bộ xử lý hoặc là con hoặc là kề cận khác đúng bằng tập các nút kề cận thì kết thúc

– Mỗi bộ xử lý khi nhận được nhãn reject

• Bổ xung bộ xử lý gửi nhãn vào tập các kề cận khác

• Nếu tập các bộ xử lý hoặc là con hoặc là kề cận khác đúng bằng tập các nút kề cận thì kết thúc

Trang 36

Thực hiện giải thuật cây khung

• Trường hợp đồng bộ, tạo nên cây BFS

• Trường hợp không đồng bộ, cây tạo nên có thể

không phải là cây BFS

• Cả hai trường hợp đều dùng O(m) thông báo và

O(D ) thời gian

Trang 37

Tìm cây khung DFS biết gốc (1)

• Tìm cây khung DFS dựa trên giải thuật tuần tự

– Mỗi pi  p0 khi nhận được M lần đầu tiên

• Gọi bộ xử lý gửi M là cha, đánh dấu bộ xử lý đó đã có M

• Thực hiện thủ tục (*)

– Mỗi bộ xử lý khi nhận được M đã có

• Đánh dấu bộ xử lý gửi M đã có M, gửi nhãn reject đến đó

– Mỗi bộ xử lý khi nhận được nhãn reject

• Lặp lại thủ tục (*)

Trang 38

Tìm cây khung DFS biết gốc (2)

• Tìm cây khung DFS (tiếp theo)

– Mỗi bộ xử lý khi nhận được nhãn parent

• Gọi bộ xử lý gửi nhãn là con

• Lặp lại thủ tục (*)

• Độ phức tạp

– Giải thuật có độ phức tạp thông báo và độ phức tạp thời

gian đều là O(m)

• Số thông báo tối đa sử dụng bởi giải thuật là 2m

• Thời gian tối đa thực hiện giải thuật là 2m

Trang 39

Tìm cây khung không biết gốc

Trang 40

Nội dung Chương 1:

Trang 41

Các hình thức tổ chức hệ thống phân tán

peer-to-peer (mô hình nhóm làm việc):

 Các máy tính cá nhân và máy trạm có thể được sử dụng

như một hệ thống độc lập trợ giúp các ứng dụng địa phương

 Mỗi thành viên trong mạng có vai trò ngang nhau, tự quản

lý tài nguyên của chính mình và chia sẻ tài nguyên cho các

máy tính khác trên mạng

 Mỗi một máy tính trên mạng vừa đóng vai trò máy chủ

(Server), vừa đóng vai trò là máy khách (Client)

Đây là mô hình mạng đơn giản, phù hợp với những hệ thống

Trang 42

CÁC HÌNH THỨC TỔ CHỨC TRONG HỆ PHÂN TÁN

peer-to-peer (mô hình nhóm làm việc):

Trang 43

CÁC HÌNH THỨC TỔ CHỨC TRONG HỆ PHÂN TÁN

File server (máy dịch vụ file):

File server Một số máy dịch vụ file được gán trực tiếp vào mạng LAN

File server là một thiết bị quản lý các hoạt động file và phục

vụ các máy tính cá nhân được kết nối trong mạng LAN

 Mỗi máy cá nhân được phân chia một dung lượng cố định trên ổ cứng của File server, chương trình ở các máy tính cá nhân có thể tham chiếu đến các file trên phần đĩa tương ứng của nó bằng một đặc tả đường dẫn

 Những hạn chế của File server

•Dữ liệu di chuyển trên mạng quá nhiều

•Việc kiểm soát dữ liệu là phi tập trung

Trang 44

CÁC HÌNH THỨC TỔ CHỨC TRONG HỆ PHÂN TÁN

Client/server (mô hình khách/chủ)

Một số máy dịch vụ file được gán trực tiếp vào mạng LAN

server có chức năng điều khiển, lưu trữ CSDL, xử lý các truy vấn và quản lý việc khai thác tài nguyên trên mạng của các máy tính khác

 Thuật ngữ client được sử dụng để chỉ người khai thác tài nguyên mạng

Trang 45

Nội dung Chương 1:

CÁC ĐẶC TRƯNG HỆ PHÂN TÁN

• Đặc trưng của hệ thống File server và kiến

trúc Client/Server

• Các chức năng của kiến trúc client/server

• Xử lý phân tán (Distributed Processing):

Trang 46

Việc chuyển các ứng dụng trên máy tính cá nhân cũng như các ứng dụng trên các hệ thống máy lớn trung tâm sang mô hình phân tán là một xu hướng phát triển mạnh.

Vấn đề đặt ra là, cần lựa chọn hình thức phân tán thích hợp nào cho mỗi mô hình được chuyển đổi.

Các đặc trưng của các loại hình hệ thống phân tán

Trang 47

Đặc trưng của hệ thống File server và kiến trúc Client/Server

Các đặc trưng của các hệ thống phân tán

Xử lý Chỉ ở máy khách Cả máy khách và máy chủ

Truy nhập dữ liệu đồng

thời

Thấp, mỗi máy khách th.hiện

Cao, Server đảm nhiệm

An toàn và toàn vẹn

CSDL

Thấp, máy khách quản lý Cao, Server đảm nhiệm

Sử dụng mạng File lớn, chuyển cả file Truyền dữ liệu nhiều mức

Bảo trì phần mềm Thấp, chỉ ở máy Server Hỗn hợp một số phần

mềm có thể gửi đến máy khách

Phần cứng và hệ thống Ghép nối máy khách và Ghép nối máy khách và

Trang 48

Các chức năng của kiến trúc client/server

Trình diễn thông tin phân tán

Mục đích: làm mới các ứng dụng trên các máy khách và

để định dạng lại dữ liệu do server quản lý

Các đặc trưng của các hệ thống phân tán

Quản lý dữ liệu Quản lý mọi dữ liệu

Phân tích dữ liệu Phân tích mọi dữ liệu

Trình diễn dữ liệu Dữ liệu trình diễn trên

server được định dạng để trình diễn cho các clients

Sử dụng công nghệ trình diễn của server để gửi dữ liệu gửi cho các clients

Trang 49

1.3 Các đặc trưng của các hệ thống phân tán

Trang 50

Quản lý dữ liệu từ xa

Mục đích: giúp client phân tích được dữ liệu thô lấy từ Server

1.3 Các đặc trưng của các hệ thống phân tán

Quản lý dữ

liệu

Quản lý mọi dữliệu

Trang 51

Các đặc trưng của các hệ thống phân tán

Quản lý dữ liệu Quản lý mọi dữ liệu

diễn dữ Tất cả dữ liệu (được phân tích

Trang 52

Xử lý phân tán (Distributed Processing):

• Cho phép phối hợp tốt nhất các đặc trưng của hệ phân tánnhư liên kết dữ liệu và chương trình trên máy chủ và chỉ đểlại chức năng trình diễn trên máy khách

• Cho phép định vị một cách mềm dẽo cả chức năng phân tích

và xử lý dữ liệu ở nơi mà chúng hoạt động tốt nhất

Các đặc trưng của các hệ thống phân tán

trên server

các clients để phân tích

Dữ liệu được lấy từ server

để phân tích Sau đó gửi cho máy khách để phân tích tiếp và trình diễn

Trang 53

Nội dung Chương 1:

CƠ SỞ DỮ LIỆU TẬP TRUNG

• Một số ưu điểm của CSDL

• Những vấn đề CSDL cần giải quyết

• Tính bảo mật và quyền riêng tư

• Tranh chấp dữ liệu

Trang 54

CSDL là gì?

• Cơ sở dữ liệu (viết tắt CSDL; tiếng Anh là database) được hiểu theo cách định nghĩa kiểu kĩ thuật thì nó là một tập hợp thông tin có cấu trúc Tuy nhiên, thuật ngữ này thường dùng trong công nghệ thông tin và nó thường được hiểu rõ hơn dưới dạng một tập hợp liên kết các dữ liệu , thường đủ lớn để lưu trên một thiết bị lưu trữ như đĩa hay băng Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu ” Bách

Ngày đăng: 21/06/2024, 15:33

HÌNH ẢNH LIÊN QUAN

SƠ ĐỒ TRẠNG THÁI CỦA TIẾN  TRÌNH TRONG HỆ ĐIỀU HÀNH - 1 BÀI GIẢNG: DISTRIBUTED DATABASE SYSTEM
SƠ ĐỒ TRẠNG THÁI CỦA TIẾN TRÌNH TRONG HỆ ĐIỀU HÀNH (Trang 17)

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

TÀI LIỆU LIÊN QUAN

w