Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
222,78 KB
Nội dung
ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────────── * ─────────── BÀI TẬP LỚN MƠN HỆ PHÂN TÁN TÌM HIỂU PHÁT TRÀN KHƠNG ĐỒNG BỘ Thành viên nhóm: Nguyễn Trung Dũng – 20187227 : Tìm hiểu lý thuyết, cài đặt chương trình Mai Hồng Long – 20187252: Lý thuyết, báo cáo, cài đặt Vũ Tùng Nam – 20187268: Tìm hiểu nội dung cơng việc NỘI DUNG BÁO CÁO A.Chuẩn bị nội dung làm tập lớn 1.Tư tưởng 2.Tài liệu tham khảo 3.Giới thiệu ngôn ngữ lập trình C++ áp dụng cài đặt B.Giới thiệu chung hệ phân tán 1.Tổng quan hệ phân tán 2.Phân loại hệ phân tán 3.Vai trò hệ phân tán 4.Đặc trưng hệ phân tán 5.Mục tiêu hệ phân tán 6.Lý thuyết hệ phân tán 7.Các lĩnh vực ứng dụng C.Phát tràn không đồng 1.Nêu Khái niệm 2.Ngun tắc hoạt động 3.Mơ hình truyền thơng báo 4.Trạng thái 5.Cấu hình 6.Thực tính thỏa đáng 7.Thực không đồng 8.Giải thuật phát tràn không đồng 9.Độ phức tạp giải thuật phát tràn 10.Tính thoả đáng 11.Độ phức tạp D.Áp dụng giải thuật phát tràn khơng đồng 1.Ví dụ minh họa 2.Cài đặt giải thuật 3.Chạy chương trình A.Chuẩn bị nội dung làm tập lớn 1.Tư tưởng mục tiêu môn học Hiểu đặc trưng mục tiêu thiết kế hệ phân tán – Các vấn đề kỹ thuật hệ phân tán Nắm vững kiến thức hệ thống phương pháp luận công cụ để xây dựng phát triển hệ phân tán Thông qua Bài tập lớn mơn học sinh viên bước đầu tập dượt nghiên cứu triển khai ứng dụng tiếp cận với công nghệ liên quan đến hệ phân tán 3.Giới thiệu ngơn ngữ lập trình áp dụng cài đặt C++ ngơn ngữ lập trình hướng đối tượng mở rộng ngơn ngữ C.Nó ngơn ngữ lập trình rát quan trọng, tiền đề để phát triển ngơn ngữ lập trình tiền đề để phát triển ngôn ngữ lập trình Java, Chương trình C++ chúng em chạy dựa phần mềm c free v5.0 DEVC B.Giới thiệu chung hệ phân tán 1.Tổng quan hệ phân tán Các khái niệm hệ phân tán • Định nghĩa 1: Hệ phân tán tập hợp máy tính tự trị kết nối với mạng máy tính cài đặt phần mềm hệ phân tán • Định nghĩa 2: Hệ phân tán hệ thống có chức liệu phân tán trạm (máy tính) kết nối với mạng máy tính • Định nghĩa 3: Hệ phân tán tập máy tính độc lập giao tiếp với người dùng hệ thống thống nhất, tồn vẹn => Như nói : HPT = MMT+ Phần mềm hệ phân tán - Ví dụ: đa xử lý, mạng cục bộ, Internet,ngân hàng tự động,hệ thống thương mại điện tử • Hệ phân tán vs hệ song song : Hệ song song phối hợp nhiều xử lý nhằm giải vấn đề cho trước cách nhanh - Trong hệ phân tán, xử lý nói chung có chýõng trình làm việc riêng bán độc lập, lợi ích chung nên cần phối hợp hành động với •Mục đích mơn học nghiên cứu cơng cụ 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 2.Phân loại hệ phân tán • Trước đây, HPT dược chia thành loại: hệ điều hành hệ phân tán, sở liệu hệ phân tán hệ thống tính tốn hệ phân tán • Ngày nay, HPT phân chia sau: HPT mang tính hệ thống: hệ điều hành phân tán HPT mang tính ứng dụng: hệ thống truyền tin phân tán 3.Vai trò hệ phân tán • Trao đổi tin cậy: Tiền đề để phát triển mạng máy tinh • Chia sẻ tài nguyên: Giúp giảm chi phí hệ thống • Nâng cao độ tin cậy thông qua lăp: Hệ thống hoạt động phận gặp cố • Nâng cao hiệu suất thơng qua song song hóa: Thực cơng việc chung hay chia sẻ cơng việc • Đơn giản thiết kế thơng qua chun dụng hóa: Phân tích hệ thống thành tiến trình tác hợp với 4.Đặc trưng hệ phân tán • Kết nối người sử dụng tài nguyên 3 • • • • • Tính suốt Tính mở Tính co giản Tính chịu lỗi Tính an tồn an ninh 5.Mục tiêu hệ phân tán • A Kết nối người sử dụng tài nguyên: giải toán chia sẻ tài nguyên hệ thống (resource sharing) • B Tính suốt: Ẩn giấu rời rạc nhược điểm có hệ phân tán người sử dụng nhà lập trình ứng dụng ( Theo tiêu chuẩn ISO cho HPT ISO/IS/10746 tên “ open distributed processing reference model” 1995 cụ thể hóa dạng suốt:….) • C Tính mở (openness): HPT gọi mở cung cấp dịch vụ theo quy tắc chuẩn mô tả cú pháp ngữ nghĩa dịch vụ • D tính co giãn (Scalability): thich nghi với thay đổi quy mô hệ thống 6.Lý thuyết hệ phân tán • Phát khái qt hóa vấn đề • Phát biểu vấn đề cách xác • Thiết kế giải thuật để giải vấn đề • Chứng minh tính đắn giải thuật • Phân tích độ phức tạp giải thuật – Dựa tiêu chí thời gian thực hiện, lượng nhớ sử dụng, số thông báo trao đổi • Chứng minh kết tính khơng thể kết cận – Phụ thuộc nhiều vào giả thiết 7.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 • Cơ sở liệu phân tán: Các server CSDL cần phối hợp đồng • 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ế dịch vụ điều khiển mạng • Kiến trúc đa xử lý: Các xử lý kết nối với cần phối hợp thực C.Phát tràn không đồng 1.Khái niệm mơ hình khơng đồng • Hệ thống gọi khơng đồng khơng có cận cố định với thời gian –Từ lúc thông báo gửi lúc giao –Hoặc bước thực xử lý • Ví dụ: Internet • Trên thực tế cận lớn không cố định coi hệ thống khơng đồng 2.Nguyên tắc hoạt động • Nguyên tắc hệ phân tán đồng đa tiến trình, trường hợp này, tiến trình truy cập lúc nhiều tài nguyên, để tránh điều giải pháp pháp thực truy cập loại trừ lẫn nhau, hay thực cách khơng đồng bộ nhằm mục đích: –Tránh xung đột đường truyền –Tham gia ưu tiên đối tượng hệ thống máy • Giải thuật chia thành giải pháp bản: –Thứ nhất: đưa thơng điệp đặc biệt tiến trình, gọi biểu tượng token… •Phụ thuộc vào tổ chức tiến trình •Tiến trình phải đợi tiến trình khác để xử lý(deadlock) – Thứ hai: Một tiến trình muốn truy cập vào tài nguyên khác phải cho phép tiến trình khác •Tập trung liệu •Phân tán liệu 3.Mơ hình truyền thơng báo p3 • Các nút đồ thị = xử lý p0, p1, , pn-1 • Các cạnh khơng định hýớng đồ thị = kênh hai chiều nối cặp nút • Mỗi xử lý pi gắn nhãn cho kênh kề 1, 2, 3, r (r bậc Pi) 4.Trạng thái • Mỗi xử lý máy trạng thái – Mỗi trạng thái pi có 2r thành phần đặc biệt outbufi[l] inbufi[l], với l = r • outbufi[l] chứa thông báo pi gửi cho nút bên cạnh kênh l chưa đến nơi • inbufi[l] chứa thông báo pi nhận kênh l chưa xử lý – Tập trạng thái Qi chứa tập gồm trạng thái ban đầu • Ở trạng thái ban đầu inbufi[l] phải rỗng – Hàm chuyển pi có đầu vào (trạng thái khả truy nhập) không bao gồm outbufi[l] đầu trạng thái có inbufi[l] rỗng 5.Cấu hình • Cấu hình vectơ C = (q0, , qn-1) qi trạng thái pi – Trạng thái biến outbuf c kênh truyền – Cấu hình ban đầu vectơ (q0, , pi • Nói cách khác cấu hình ban đầu tất xử lý trạng thái ban đầu tương ứng Có thể coi cấu hình trạng thái tổng thể tồn hệ thống 6.Thực tính thỏa đáng • • Các điều kiện chuỗi cấu hình xen kẽ kiện mô tả hoạt động hệ thống – Điều kiện an toàn : điều kiện phải với tiền tố hữu hạn chuỗi mô tả • Chưa có điều xấu xảy – Điều kiện sống động : điều kiện phải số lần định (có thể vơ hạn lần) • Điều tốt đến • Thực chuỗi mơ tả thỏa mãn điều kiện an tồn đặt • Thực thỏa mãn điều kiện sống động đặt gọi thực thỏa đáng 7.Thực khơng đồng • Hệ thống gọi khơng đồng khơng có cận thời gian – từ lúc thông báo gửi lúc giao – bước thực xử lý • Thực chuỗi kiện xen kẽ nhau: (giao,tính, giao, tính ) • Trường hợp kiện giao : thông báo cho chuyển từ outbuf bên gửi đến inbuf bên nhận • Trường hợp kiện tính : trạng thái xử lý cho (bao gồm outbuf) thay đổi theo hàm chuyển 8.Giải thuật phát tràn khơng đồng • Vấn đề đặt ra: Bộ xử lý p0 muốn gửi thông báo M cho tất xử lý khác mạng • Giải thuật - Khai báo biến: Biến color có hai giá trị green red : Biến dùng để kiểm tra xem xử lý nhận M hay chưa? + Nếu Color[i] = red xử lý Pi chưa nhận thơng báo M + Nếu Color[i] = green xử lý Pi nhận M Các inbuf outbuf • outbufi[l] chứa thơng báo pi gửi cho nút bên cạnh kênh l chưa đến nơi • inbufi[l] chứa thông báo pi nhận kênh l chưa xử lý - Khởi tạo: • • Với p0, color green tất outbuf chứa M Với xử lý khác, color red outbuf rỗng - Hàm chuyển • Nếu M nằm inbuf color red đổi color thành green gửi M vào tất outbuf - Bước lặp: • Trong xử lý kề với P0 ta chọn Pi thực hai kiện: + Sự kiện giao Pi từ P0 + Sự kiện tính Pi • Sau tiếp tục xét xử lý kề với P i mà chưa xét (đang trạng thái màu đỏ), giả sử Pk tiếp tục thực hai kiện nói Pk - Sự kiện : • Có hai loại kiện – Sự kiện giao : chuyển thông báo từ outbuf bên gửi đến inbuf bên nhận • Thơng báo xử lý bên nhận thực kiện tính tốn – Sự kiện tính : bước thực 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 thời Trạng thái khả truy nhập cũ - Kết thúc: • Giải thuật kết thúc biến color tất xử lý mạng có giá tri green 9.Độ 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 green • Độ phức tạp thơng báo – Số thông báo gửi thực thỏa đáng 2m, m số cạnh đồ thị • Một thơng báo gửi cạnh theo hướng • Độ phức tạp thời gian – Thời gian tối đa đến kết thúc giải thuật D + 1, D đường kính đồ thị • Đến thời gian t, thơng báo M tới tất xử lý cách p0 t cạnh (hoặc nhỏ hơn) 10.Tính thoả đáng • Với mơ hình khơng đồng bộ, thực thỏa đáng – Mọi thông báo outbuf định giao – Mọi xử lý thực vơ hạn bước tính 11.Độ phức tạp • Tập trung vào hiệu suất xấu • Độ phức tạp thông báo số tối đa thông báo gửi thực thỏa đáng • Độ phức tạp thời gian thời gian tối đa đến kết thúc thực thỏa đáng -Với mô hình khơng đồng đo dựa giả thiết • Thời gian xử lý kiện không đơn vị • Thời gian truyền thơng báo (từ kiện gửi đến kiện xử lý thông báo) tối đa đơn vị – Lưu ý : Độ xác giải thuật khơng đồng cần chứng minh độc lập với giả thiết thời gian D.Áp dụng giải thuật phát tràn không đồng 1.Ví dụ phát tràn khơng đồng • • Giả sử có hệ phân tán gồm có xử lý P0, P1, P2 cho dạng mơ hình truyền thơng báo sau: green M p2 p M p1 • Bài tốn: P0 muốn gửi thông báo M cho tất xử lý khác mạng Giải toán: • Áp dụng giải thuật phát tràn không đồng để chuyển thông báo M từ P0 tới tất xử lý khác mạng minh hoạ sau: • Khởi tạo: - P0 chứa thơng báo M - outbuf0(p0p1)=M, outbuf0(p0p2)=M - color(p0)=green, color(p1)=color(p2)=red, outbufi()={ } green M p2 • - p0 M p1 Bước lặp 1: Xét P1 nút kề với P0 mạng Thực kiện giao P1 từ P0 (Tức thực việc: P0 gửi thông báo M từ outbuf P0 sang inbuf P1 qua kênh P0P1) Khi ta có: - Thưc kiện tính P1,, tức áp dụng hàm chuyển lên P1 xử lý thông báo gửi đến - Sau thực kiện tính colo(p1) =green P1 gửi M vào tất outbuf green Mp green p0 M M M p2 p2 red red p1 M green • Liệt kê nút kề với P1 chọn nút trạng thái màu đỏ để xét tiếp Ở ta chọn P2 nút kề để xét Tức ta tiến hành thực liên tiếp hai kiện giao tính cho nút P2 • Tại bước lặp nút mạng chuyển sang màu xanh thuật toán kết thúc green M p0 M p2 p1 M red green int a[50][50],b[50],n,v; M M p2 red green M Sự kiện tính p1 2.Cài đặt giải thuật #include #include p0 M p2 red M green M p0 10 p1 green int tim(int i, int m) //xet dinh i da chuyen mau green chua? {int j; j=0; while(( jm) return 0; // chua chuyen mau green else return 1; //da chuyen mau green } int main() {int i,j; coutn; for(i=0;i