Nghiên cứu tìm hiểu và áp dụng giải thuật phát tràn không đồng bộ

20 372 0
Nghiên cứu tìm hiểu và áp dụng giải thuật phát tràn không đồng bộ

Đ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

1.Tư tưởng mục tiêu môn học•Hiểu được các đặc trưng và mục tiêu thiết kế hệ phân tán – Các vấn đề kỹ thuật cơ bản của hệ phân tán. •Nắm vững các kiến thức hệ thống về phương pháp luận và công cụ để xây dựng và phát triển các hệ phân tán.•Thông qua Bài tập lớn môn học sinh viên có thể bước đầu tập dượt nghiên cứu và triển khai ứng dụng tiếp cận với các công nghệ liên quan đến hệ phân tán2.Tài liệu tham khảo Hệ phân tán+ Giáo trình :Hệ phân tán – GV Ths Trần Thị Gia – Khoa CNTT – ĐHSPKT VInh+ Giáo trình :Tập bài giảng chuẩn hóa của Bộ môn Mạng và HTTT, Khoa CNTT,Đại học SPKT Vinh+ Nguyễn Thúc Hải, mạng máy tính và các hệ thống mở, NXBGD, 1999+ giáo trình : tập bài giảng chuẩn hoá của Bộ môn Truyền thông và Mạng máy tính, Khoa Công nghệ Thông tin, Đại học Bách khoa Hà nội Lập trình C+++ Giáo trình :Lập trình hướng đối tượng– GV Ths Lưu Hương Giang – Khoa CNTT – ĐHSPKT VInh+ Nguyễn Thanh Thuỷ, Lập trình hướng đối tượng với C++,NXB Khoa học và kỹ thuật,1999+ Nguyễn Thanh Thuỷ Nguyễn Quang Huy, Bài tập lập trình ngôn ngữ C,NXB Khoa học và Kỹ thuật,2003

Nguyễn Dương Tú 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 2.Tài liệu tham khảo * Hệ phân tán + Giáo trình :Hệ phân tán – GV- Ths Trần Thị Gia – Khoa CNTT – ĐHSPKT VInh + Giáo trình :Tập giảng chuẩn hóa Bộ mơn Mạng HTTT, Khoa CNTT,-Đại học SPKT Vinh + Nguyễn Thúc Hải, mạng máy tính hệ thống mở, NXBGD, 1999 + giáo trình : tập giảng chuẩn hố Bộ mơn Truyền thơng Mạng máy tính, Khoa Công nghệ Thông tin, Đại học Bách khoa Hà nội * Lập trình C++ + Giáo trình :Lập trình hướng đối tượng– GV- Ths Lưu Hương Giang – Khoa CNTT – ĐHSPKT VInh + Nguyễn Thanh Thuỷ, Lập trình hướng đối tượng với C++,NXB Khoa học kỹ thuật,1999 + Nguyễn Thanh Thuỷ - Nguyễn Quang Huy, Bài tập lập trình ngơn ngữ C,NXB Khoa học Kỹ thuật,2003 3.Giới thiệu ngơn ngữ lập trình áp dụng cài đặt Nguyễn Dương 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 DEV-C 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 Nguyễn Dương 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 ngun • 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) Nguyễn Dương Tú • 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 quát 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 Nguyễn Dương Tú 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 Nguyễn Dương Tú • Tập trung liệu • Phân tán liệu 3.Mơ hình truyền thơng báo p0 p1 2 p3 1 p2 • 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 Nguyễn Dương Tú – 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ấu hình thể thơng báo di chuyển kênh truyền – Cấu hình ban đầu vectơ (q0, , qn-1) thỏa mãn qi trạng thái ban đầu 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ể toàn hệ thống 6.Thực tính thỏa đáng Nguyễn Dương Tú • 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 Nguyễn Dương Tú • 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 Nguyễn Dương Tú - 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 Trạng thái khả truy nhập cũ - Kết thúc: Sự kiện tính - Xử lý thông báo gửi đến - Chuyển trạng thái xử lý + Các thông báo gửi 10 Nguyễn Dương Tú • 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 11 Nguyễn Dương 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ý P 0, P1, P2 cho dạng mơ hình truyền thơng báo sau: green M • p0 M p2 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 tố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 12 Nguyễn Dương Tú - color(p0)=green, color(p1)=color(p2)=red, outbufi()={ } green M p0 M p2 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 P sang inbuf P1 qua kênh P0P1) Khi ta có: inbuf1 ( P0 P ) = M   colo( P ) = red - Thưc kiện tính P 1,, tức áp dụng hàm chuyển lên P xử lý thông báo gửi đến - Sau thực kiện tính colo(p1) =green P gửi M vào tất outbuf • Minh hoạ bước lặp 1: 13 Nguyễn Dương Tú M green p0 green p0 M green p0 M p2 p1 red Sự kiện giao p1 từ p0 red M p2 p1 red Sự p2 kiện tính red p1 red M p1 M green • Minh hoạ bước lặp 2: • 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 P 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 M green p0 M green p0 M p2 red p1 M green Sự kiện giao p2 từ p1 Sự kiện tính p2 M M p2 red M M p1 green green p0 M p2 p1 M green 14 green Nguyễn Dương Tú Minh hoạ tổng thể : green M p0 green M M p0 M p2 red Sự kiện giao p1 từ p0 p1 p2 red p1 red red green M green p0 p0 M M Sự kiện tính p1 p2 red p1 M Sự kiện giao p2 từ p1 green p2 red 2.Cài đặt giải thuật #include #include int a[50][50],b[50],n,v; int tim(int i, int m) //xet dinh i da chuyen mau green chua? 15 M g Nguyễn Dương Tú {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

Ngày đăng: 12/11/2014, 22:05

Mục lục

  • A.Chuẩn bị nội dung làm bài tập lớn

  • 1.Tổng quan về 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 là tập hợp các máy tính tự trị được kết nối với nhau bởi một mạng máy tính và được cài đặt phần mềm hệ phân tán.

    • Định nghĩa 2: Hệ phân tán là một hệ thống có chức năng và dữ liệu phân tán trên các trạm (máy tính) được kết nối với nhau bởi một mạng máy tính.

    • Định nghĩa 3: Hệ phân tán là một tập các máy tính độc lập giao tiếp với người dùng như một hệ thống thống nhất, toàn vẹn.

    • 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

    • 2.Phân loại hệ phân tán

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

      • Trao đổi tin cậy: Tiền đề để phát triển các 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 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 tích hệ thống thành các tiến trình tác hợp với nhau

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

        • Kết nối người sử dụng và tài nguyên.

        • Tính trong suốt.

        • Tính mở.

        • Tính co giản.

        • Tính chịu lỗi.

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

Tài liệu liên quan