Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
1,59 MB
Nội dung
Đ I H CăĐĨăN NG TR NGăĐ I H CăS ăPH M - HUǵNHăLểăĐ I NG C TÍNH TỐN SONG SONG VÀ NG D NG VÀO BÀI TOÁN T H P LU NăVĔNăTH CăSƾă H TH NG THÔNG TIN ĐƠăN ng - Nĕmă2019 Đ I H CăĐĨăN NG TR NGăĐ I H CăS ăPH M - HUǵNHăLểăĐ I NG C TÍNH TỐN SONG SONG VÀ NG D NG VÀO BÀI TOÁN T H P Chuyên ngành: H th ng thông tin Mã s : 8480104 LU NăVĔNăTH CăSƾă Ng iăh ng d n khoa h c: TS NGUY NăĐỊNHăL U ĐƠăN ng - Nĕmă2019 ii L IăC Mă N L i xin c m ơn đến quý thầy cô, khoa Công Nghệ thông tin, trư ng Đ i học Sư Ph m tận tình gi ng d y, truyền đ t kiến th c, kinh nghiệm quý báu suốt th i gian theo học t i chương trình Các kiến th c, kinh nghiệm quý báu c a thầy cô giáo không giúp cá nhân tơi hồn thiện hệ thống kiến th c học tập mà cịn giúp tơi ng dụng kiến th c cơng việc t i Đặt biệt, xin gửi l i c m ơn chân thành sâu sắc đến thầy giáo hướng dẫn TS.ăNguy năĐìnhăL u, ngư i thầy tận tình hướng dẫn t o điều kiện tốt để tơi hồn thành luận văn Tôi xin bày tỏ tình c m với gia đình, đ ng nghiệp, b n bè t o điều kiện để tơi dành th i gian cho khóa học Xin chân thành c m ơn anh chị em lớp K34, ln hỗ trợ tơi q trình học tập để có kết qu ngày hơm nay, nhớ lớp K34 thân thương Tuy có nhiều cố gắng, chắn luận văn khơng tránh khỏi thiếu sót định Tơi mong nhận ý kiến đóng góp quý báu c a thầy cô giáo anh chị, b n để luận văn ngày hoàn thiện Trân trọng c m ơn! v M CăL C L IăCAMăĐOAN i L IăC Mă N ii TịMăT T iii M CăL C v DANHăM CăCỄCăB NG viii DANHăM CăCỄCăHỊNH ix DANHăM CăCỄCăBI UăĐ x M ăĐ U 1 Lý chọn đề tài .1 Mục tiêu nghiên c u Đối tượng ph m vi nghiên c u Phương pháp nghiên c u Ý nghĩa khoa học thực tiễn c a đề tài CH NGă1.ăT NGăQUANăTệNHăTOÁN SONG SONG 1.1 Tính tốn song song mơ hình tính tốn song song 1.1.1 Mơ hình SISD (Single Intruction, Single data) 1.1.2 Mơ hình SIMD (Single Intruction, Multiple data): 1.1.3 Mơ hình MISD (Multiple Intruction, Single data) 1.1.4 Mơ hình MIMD (Multiple Intruction, Multiple data) .5 1.2 Mô hình máy tính PRAM 1.3 Thuật toán song song 1.3.1 Quy trình xây dựng thuật toán song song 1.3.2 Nguyên lý thiết kế thuật toán song song 1.3.3 Các cách tiếp cận thiết kế 1.3.4 Phân rã .10 1.3.4.1 Phân rã đệ quy 10 1.3.4.2 Phân rã liệu: 10 1.3.4.3 Phân rã thăm dò 11 1.4 Phân tích đánh giá thuật toán song song 11 CH NGă2.ăTOỄNăH CăT ăH P 12 2.1 Tập hợp nguyên lý b n 12 2.1.1 Tập hợp 12 2.1.2 Các nguyên lý b n 13 2.1.3 Các cấu hình t hợp 14 vi 2.1.3.1 Chỉnh hợp .14 2.1.3.2 T hợp 15 2.1.3.3 Hoán vị .16 2.2 Bài toán liệt kê 17 2.2.1 Các phương pháp liệt kê 17 2.2.1.1 Liệt kê từ điển 17 2.2.1.2 Phương pháp sinh 17 2.2.2 Các toán liệt kê thư ng gặp .18 2.2.2.1 Dãy bị chặn 18 2.2.2.2 Bài toán tập 19 2.2.2.3 Hoán vị n phần tử 20 2.2.2.4 Bài toán phân ho ch 20 CH NGă3.ă NGăD NGăTệNHăTOỄNăSONGăSONGăVĨOăBĨIăTOỄNăT ă H P 21 3.1 Bài toán sinh dãy bị chặn 21 3.1.1 Xây dựng thuật toán 21 3.1.2 Xây dựng thuật toán song song .21 3.2 Bài tốn tìm tập 23 3.2.1 Xây dựng thuật toán 23 3.2.2 Xây dựng thuật toán song song .24 3.2.3 Ví dụ minh họa tìm tất c tập con c a tập có phần tử 25 3.2.4 Phân tích 25 3.3 Bài toán liệt kê hoán vị 26 3.3.1 Phép thế, nghịch 26 3.3.2 Xây dựng thuật toán 27 3.3.3 Xây dựng thuật toán song song .28 3.3.4 Ví dụ minh họa cho thuật toán 30 3.3.4.1 Ví dụ 1: tìm tất c hốn vị c a dãy s có phần tử 30 3.3.4.2 Ví dụ 2: tìm tất c hốn vị c a dãy s có phần tử 31 3.3.5 Ch ng minh thuật toán song song 31 CH NGă4.ăTH ăNGHI MăV IăTH ăVI NăTHREAD .33 4.1 Thread 33 4.1.1 Giới thiệu chung 33 4.1.2 Các hàm thư viện Thread .33 4.2 Cơ chế Socket 36 4.3 Lập trình thử nghiệm tìm tập 39 vii 4.4 Lập trình thử nghiệm tốn tìm hốn vị n phần tử .42 CH NGă5.ăT NGăK T 49 5.1 Kết luận 49 5.2 Hướng phát triển .49 DANHăM CăTĨIăLI UăTHAMăKH O 50 QUY TăĐ NHăGIAOăĐ TÀI LU NăVĔNă(B n sao) viii DANHăM CăCỄCăB NG S ăhi uă Tênăb ng b ng Trang 2.1 Mơ l i tốn 16 2.2 Ví dụ dãy bị chặn 18 2.3 Biểu diễn tập theo d ng nhị phân 19 3.1 Bộ xử lý phụ sinh dãy nhị phân bị chặn với tập phần tử 25 3.2 Hoán vị, dãy nghịch thế, dãy nghịch ngược phần tử 27 3.3 Bộ xử lý phụ sinh dãy bị chặn với dãy s có phần tử 31 3.4 Bộ xử lý phụ sinh dãy bị chặn với dãy s có phần tử 31 4.1 Kết qu th i gian tính tốn song song 41 4.3 Kết qu thử nghiệm tính tốn song song 47 45 Sau cần m chương trình liêt kê hốn vị client cho máy tr m với số lượng tương ng với số xử lý chọn Sau chọn kết nối để thực trao đ i thông tin với server tiến hành tính tốn Hình 4.11 Giao diện phần client chương trình tính tốn song song tìm hốn vị Khi số lượng xử lý kết nối để máy ch đ , chương trình tự động thực bước tính tốn theo thuật tốn hiển thị kết qu th i gian xử lý c a xử lý phụ t ng th i gian chi phí Hình 4.12 Kết thực thi chương trình tính tốn song song 46 Hình 4.13 Các tập tin kết toán liệt kê hốn vị song song 47 Hình 4.14 Nội dung tập tin kết toán liệt kê hoán vị song song Tương tự, ta thử nghiệm với trư ng hợp số lượng phần tử n nằm kho n 7