Bài giảng Lập trình đồng thời và phân tán: Bài 5 - Lê Nguyễn Tuấn Thành

47 69 0
Bài giảng Lập trình đồng thời và phân tán: Bài 5 - Lê Nguyễn Tuấn Thành

Đ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

Bài giảng Lập trình đồng thời và phân tán - Bài 5: Mô hình và đồng hồ trong tính toán phân tán cung cấp cho người học các kiến thức: Mô hình đã xảy ra trước, cơ chế đồng hồ để lưu vết thứ tự trên tập các sự kiện đã xảy ra. Mời các bạn cùng tham khảo.

LẬP TRÌNH ĐỒNG THỜI & PHÂN TÁN BÀI 5: MƠ HÌNH VÀ ĐỒNG HỒ TRONG TÍNH TỐN PHÂN TÁN Giảng viên: Lê Nguyễn Tuấn Thành Email: thanhlnt@tlu.edu.vn Giới thiệu ▪ Khi chương trình phân tán thực thi, tập kiện tạo ▪ Tập kiện Mối quan hệ thứ tự, mối quan hệ trước sau, tập kiện quy định cách hành xử hệ thống phân tán ▪ Mỗi máy tính hệ thống phân tán có đồng hồ riêng Source: https://cloud.addictivetips.com/wp-content/uploads/2012/07/Clock-grid-Advanced-World-Clock.png Trong hệ thống phân tán, kiện xảy thứ tự thực chúng gì? NỘI DUNG ▪Mơ hình đã-xảy-ra-trước ▪Cơ chế đồng hồ để lưu vết thứ tự tập kiện xảy ▪Đồng hồ logic ▪Đồng hồ vector ▪Đồng hồ phụ-thuộc-trực tiếp ▪Đồng hồ ma trận Bài giảng có sử dụng hình vẽ sách “Concurrent and Distributed Computing in Java, Vijay K Garg, University of Texas, John Wiley & Sons, 2005” Đặc điểm Hệ thống phân tán (1) Thường thiếu đồng hồ chia sẻ ▪ Không thể đồng đồng hồ BXL khác độ trễ việc truyền thông điệp ▪ Hiếm sử dụng đồng hồ vật lý để đồng ▪ Sử dụng khái niệm nhân thay cho thời gian vật lý để đồng kiện Đặc điểm Hệ thống phân tán (2) Thiếu nhớ chia sẻ ▪ Khơng có BXL biết trạng thái toàn cục hệ thống phân tán ▪ Khó khăn việc quan sát thuộc tính hệ thống Đặc điểm Hệ thống phân tán (3) Khó phát nguyên nhân sai lệch ▪ Trong hệ thống phân tán bất đồng bộ, phân biệt BXL chậm BXL bị lỗi ▪ Khó khăn việc phát triển thuật toán cho toán đồng thuận, toán bầu cử,… hệ thống phân tán Hệ thống phân tán: đồng bất đồng HT phân tán đồng HT phân tán bất đồng ▪ Tốc độ thời gian ▪ Tốc độ thời gian thực thi bị giới hạn ▪ Q trình truyền thơng điệp có độ trễ bị giới hạn ▪ Thứ tự phân phối thông điệp đảm bảo (e.g FIFO) thực thi không bị giới hạn ▪ Q trình truyền thơng điệp có độ trễ không bị giới hạn ▪ Thông điệp truyền theo thứ tự ngẫu nhiên Giả định cho hệ thống phân tán nghiên cứu 10 Định nghĩa Đồng hồ Vector (2) ▪ Cho hai vector x y có N chiều, định nghĩa phép so sánh sau: 33 34 Thuật toán Đồng hồ vector Thuật toán cho Đồng hồ vector ▪ Tiến trình tăng giá trị đồng hồ vector sau kiện nội ▪ Khi gửi thơng điệp: ▪ Tiến trình gửi gửi kèm đồng hồ vector thơng điệp ▪ Sau đó, tiến trình gửi tăng giá trị thành phần vector lên đơn vị ▪ Khi nhận thông điệp: ▪ Tiến trình nhận cập nhật đồng hồ vector cách so sánh lấy giá trị lớn thành phần đồng hồ vector thành phần tương ứng đồng hồ vector nhận ▪ Sau đó, tiến trình nhận tăng giá trị thành phần vector lên đơn vị 35 Một tính toán với Thuật toán đồng hồ vector 36 Đồng hồ phụ thuộc trực tiếp Direct-Dependency Clocks 37 Đồng hồ phụ thuộc trực tiếp (1) ▪ Một hạn chế thuật toán đồng hồ vector yêu cầu O(N) số nguyên gửi thông điệp ▪ Đối với nhiều ứng dụng, sử dụng phiên yếu đồng hồ vector gọi đồng hồ phụ-thuộc-trực-tiếp ▪ Chỉ yêu cầu số nguyên gắn thêm vào thông điệp gửi 38 Đồng hồ phụ thuộc trực tiếp (2) Đồng hồ phụ-thuộc-trực-tiếp thỏa mãn buộc sau: ▪ Vị trí tương ứng với tiến trình gửi vector tiến trình gửi trạng thái s nhỏ vị trí tương ứng với tiến trình gửi vector tiến trình nhận trạng thái t 39 Thuật toán cho Đồng hồ phụ thuộc trực tiếp ▪ Khi gửi thông điệp: ▪ Tiến trình gửi gửi kèm giá trị thành phần đồng hồ nó, mà khơng phải toàn đồng hồ vector ▪ Sau gửi, tiến trình gửi tăng giá trị thành phần đồng hồ lên đơn vị ▪ Khi nhận thơng điệp, tiến trình nhận cập nhật thành phần: Thành phần đồng hồ Thành phần đồng hồ tiến trình gửi ▪ Với kiện nội bộ, thuật toán làm giống với thuật toán đồng hồ vector 40 41 Thuận toán đồng hồ phụ thuộc trực tiếp 42 Đồng hồ ma trận Matrix Clocks 43 Đồng hồ ma trận (1) ▪ Sử dụng ma trận N x N hệ thống phân tán với N tiến trình ▪ Đồng hồ ma trận giúp biểu thị mức độ biết cao so với đồng hồ vector ▪ Giá trị M[i,j] tiến trình k biểu diễn điều mà tiến trình k biết “độ hiểu biết tiến trình i với tiến trình j” ▪ Ví dụ: s.v[i, s.p] > k với i, tiến trình s.p kết luận tiến trình khác biết trạng thái lớn k 44 45 Thuật toán Đồng hồ ma trận Thuật toán cho Đồng hồ ma trận ▪ Nếu ta tập trung vào hàng myId cho tiến trình PmyId, thuật tốn trở thành thuật tốn đồng hồ vector ▪ Khi gửi thơng điệp, tiến trình gửi gửi kèm tồn ma trận ▪ Khi nhận thơng điệp, tiến trình nhận cập nhật ma trận: ▪ Bước 1: cập nhật giá trị hàng khác myId ▪ Bước 2: cập nhật giá trị hàng myId với ma trận W nhận từ tiến trình srcId, sử dụng hàng srcId ma trận W để cập nhật hàng myId 46 Tài liệu tham khảo ▪ Concurrent and Distributed Computing in Java, Vijay K Garg, University of Texas, John Wiley & Sons, 2005 ▪ Tham khảo: ▪ Principles of Concurrent and Distributed Programming, M Ben-Ari, Second edition, 2006 ▪ Foundations of Multithreaded, Parallel, and Distributed Programming, Gregory R Andrews, University of Arizona, Addison-Wesley, 2000 ▪ The SR Programming Language: Concurrency in Practice, Benjamin/Cummings, 1993 ▪ Xử lý song song phân tán, Đoàn văn Ban, Nguyễn Mậu Hân, Nhà xuất Khoa học Kỹ thuật, 2009 47 ... thuận, toán bầu cử,… hệ thống phân tán Hệ thống phân tán: đồng bất đồng HT phân tán đồng HT phân tán bất đồng ▪ Tốc độ thời gian ▪ Tốc độ thời gian thực thi bị giới hạn ▪ Q trình truyền thơng điệp... → thứ tự phần kiện E 19 Sơ đồ tiến trình – thời gian Sơ đồ đã-xảy-ra-trước e2 →e4 , e3 → f3 , e1 →g4 20 Mơ hình đã-xảy-ra-trước (5) ▪ Trong sơ đồ tiến trình- thời gian, e → f có đường dẫn trực... https://cloud.addictivetips.com/wp-content/uploads/2012/07/Clock-grid-Advanced-World-Clock.png Trong hệ thống phân tán, kiện xảy thứ tự thực chúng gì? NỘI DUNG ▪Mơ hình đã-xảy-ra-trước ▪Cơ chế đồng hồ để lưu vết

Ngày đăng: 15/05/2020, 22:32

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan