Một số phương pháp thiết kế thuật toán cơ bản trong tính toán song song và ứng dụng

61 666 0
Một số phương pháp thiết kế thuật toán cơ bản trong tính toán song song và ứng dụng

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGÔ THỊ MINH NGUYỆT MỘT SỐ PHƯƠNG PHÁP THIẾT KẾ THUẬT TOÁN CƠ BẢN TRONG TÍNH TOÁN SONG SONG VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội- Năm 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGÔ THỊ MINH NGUYỆT MỘT SỐ PHƯƠNG PHÁP THIẾT KẾ THUẬT TOÁN CƠ BẢN TRONG TÍNH TOÁN SONG SONG VÀ ỨNG DỤNG Chuyên ngành : Cơ sở toán cho tin học Mã số : 60 46 01 10 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS. NGUYỄN HỮU ĐIỂN Hà Nội - Năm 2014 LỜI CẢM ƠN Trong trình tìm hiểu nghiên cứu để hoàn thành luận văn, gặp không khó khăn, lúc vậy, nhận động viên, khích lệ thầy giáo, PGS. TS. Nguyễn Hữu Điển. Thầy tận tình hướng dẫn, định hướng cho phương pháp nghiên cứu khoa học hỗ trợ việc tìm tài liệu. Để có kết luận văn này, xin gửi lời cảm ơn sâu sắc đến thầy giáo, PGS. TS. Nguyễn Hữu Điển, Trung Tâm Tính Toán Hiệu Năng Cao trường Đại học Khoa học Tự nhiên – Đại học Quốc gia Hà Nội. Tôi xin gửi lời cảm ơn đến thầy cô dạy dỗ ân cần thời gian học cao học trường Đại học KHTN - ĐHQGHN. Tôi xin cảm ơn thầy cô, anh chị Trung Tâm Tính Toán Hiệu Năng Cao tạo điều kiện giúp đỡ nhiều việc hoàn thành luận văn. Cuối xin cảm ơn gia đình, người thân bạn người bên cạnh, động viên khích lệ để có kết ngày hôm nay. Hà Nội, ngày 29 tháng năm 2014 Người thực hiện, học viên Ngô Thị Minh Nguyệt Lớp Cao học BĐT 2008 – 2010. MỤC LỤC Trang Trang phụ bìa Mục lục . Danh mục ký hiệu . Danh mục bảng . Danh mục hình vẽ . Danh mục thuật toán MỞ ĐẦU Chương – TÍNH TOÁN SONG SONG . 1.1. Tổng quan xử lý song song 1.2. Các mô hình lập trình song song . 1.3. 1.4. 1.2.1. Mô hình chia sẻ nhớ . 1.2.2. Mô hình luồng 1.2.3. Mô hình truyền thông điệp 10 1.2.4. Mô hình phân hoạch liệu 11 Thiết kế đánh giá thuật toán song song . 11 1.3.1. Định nghĩa thuật toán song song . 11 1.3.2. Các nguyên lý thiết kế thuật toán song song 12 1.3.3. Các cách tiếp cận thiết kế thuật toán song song 13 1.3.4. Phân tích đánh giá thuật toán song song. 13 Mô hình lập trình truyền thông điệp – MPI song song 17 1.4.1. Giới thiệu mô hình truyền thông điệp 17 1.4.2. Lập trình truyền thông điệp - MPI . 18 1.4.3. Cấu trúc chương trình MPI . 21 Chương – SONG SONG HÓA THUẬT TOÁN TÌM XÂU CON CHUNG DÀI NHẤT . 22 2.1. Đặt vấn đề 22 2.2. Bài toán tìm xâu chung dài . 23 2.3. Thuật toán quy hoạch động giải toán tìm xâu chung dài hai xâu. 24 2.4. Phương pháp phần tử trội toán xâu chung dài nhất. . 28 2.5. Phương pháp song song toán xâu chung dài nhất. . 33 2.6. Kết luận chương. 40 Chương – KẾT QUẢ THỰC NGHIỆM 41 3.1. Bộ liệu . 41 3.2. Môi trường chạy . 42 3.3. Kết chạy thực nghiệm 43 KẾT LUẬN 50 TÀI LIỆU THAM KHẢO . 51 BẢNG THUẬT NGỮ VIẾT TẮT Thuật ngữ Tiếng Anh Nghĩa tiếng Việt CPU Central Processing Unit Bộ xử lý trung tâm DNA Deoxyribo nucleic acid Axít deoxyribosenucleic HPC High Performance Computing Tính toán/máy tính hiệu cao LCS Longest Common Subsequence Dãy chung dài nhất. MIMD Multiple Instruction multiple Data Đa luồng lệnh đa luồng liệu MISD Multiple Instruction Simple Data Đa luồng lệnh đơn luồng liệu MPI Message Passing Interface Giao diện truyền thông điệp NUMA Non-Uniform Memory Access Truy cập nhớ không đồng thời RNA Ribo nucleic acid Axít ribonucleic SIMD Simple Instruction Multiple Data Đơn luồng lệnh đa luồng liệu SISD Simple Instruction simpleData Đơn luồng lệnh đơn luồng liệu TCP Transmission Control Protocol Giao thức điều khiển truyền thông UDP User Datagram Protocol Giao thức gói người dùng UMA Uniform Memory Access Truy cập nhớ đồng thời DANH MỤC CÁC BẢNG Trang Bảng 2.1 Độ dài xâu ký tự số liệu tin sinh học 24 Bảng 2.2 Ví dụ điểm trội ma trận phương án 29 Bảng 2.3. Ví dụ việc xây dựng lại ma trận phương án với phần tử trội. . 31 Bảng 2.4. Ví dụ việc tìm phần tử trội độc lập hai vùng khác nhau. . 33 Bảng 2.4. Chia ô vùng tìm kiếm xác định vùng tìm kiếm đồng thời. . 34 Bảng 3.1. Dữ liệu thực nghiệm thuật toán 41 Bảng 3.2. Bảng thống kê loại amino axit [28] 42 Bảng 3.3. Số phần tử trội trung bình số xâu khác bảng chữ ký tự độ dài xâu 64: . 43 Bảng 3.4. Số phần tử trội trung bình số xâu khác bảng chữ 20 ký tự độ dài xâu 64: . 44 Bảng 3.5. Thời gian chạy thuật toán với độ dài xâu 64 bảng chữ ký tự (giây) 44 Bảng 3.6. Thời gian chạy thuật toán với độ dài xâu 64 bảng chữ 20 ký tự (giây): 45 Bảng 3.7. Thời gian chạy thuật toán với độ dài xâu 128 bảng chữ ký tự (giây): 46 Bảng 3.8. Thời gian chạy thuật toán với độ dài xâu 128 bảng chữ 20 ký tự (giây): . 46 DANH MỤC CÁC HÌNH VẼ Trang Hình 1.1. Mô tả kiến trúc Von Neumann . Hình 1.2: Mô hình máy MIMD Hình 1.3: Mô hình máy tính SIMD Hình 1.4: Mô hình máy MIMD Hình 1.5: Máy tính chia sẻ nhớ . Hình 1.6: Máy tính nhớ phân tán Hình 1.7: Mô hình luồng . 10 Hình 1.8: Mô hình truyền thông điệp . 10 Hình 1.9: Mô hình lập trình song song liệu . 11 Hình 1.10 Luật Amdahl . 16 Hình 1.11: Sự trao đổi thông điệp hai tiến trình . 17 Hình 1.12: Cấu trúc chương trình MPI 21 Hình 3.1. Thời gian chạy thuật toán với xâu độ dài 64 bảng chữ 20 ký tự . 47 Hình 3.2. Thời gian chạy thuật toán với xâu độ dài 4096 bảng chữ 20 ký tự. 47 Hình 3.3. Hệ số tăng tốc thuật toán với xâu độ dài 4096 bảng chữ 20 ký tự. 48 Hình 3.4. Hệ số tăng tốc thuật toán với xâu độ dài 64 bảng chữ 20 ký tự . 48 Hình 3.5. Hệ số hiệu thuật toán với xâu độ dài 64 bảng chữ 20 ký tự . 49 DANH MỤC CÁC THUẬT TOÁN Trang Thuật toán 2.1. Thuật toán tìm dãy chung dài . 26 Thuật toán 2.2. Thuật toán in dãy chung dài . 27 Thuật toán 2.3. Thuật toán tìm phần tử trội 32 Thuật toán 2.4. Thuật toán song song tìm xâu chung dài . 38 phần tọa độ B hay với số thứ tự thực bước tuần tự. Do đó, giả sử bước thực bước thứ m , khối thực bước có dạng M x1 , x2 , ., xd  d với x i m i 1  xi  k  1, i  0,1, ., d . Rõ ràng toán phân tích số m thành tổng d số tự nhiên nhỏ k hoán vị chúng. Để chứng minh việc phân chia đắn, nhận thấy sau: với d xâu ký tự k xử lý, số bước bắt buộc phải d  k  1  1 bước. Giả sử ta thực bước thứ m . Khi M x1 , x2 , ., xd  với d x i m i 1 khối độc lập tiến hành song song hóa. Các phân hoạch phép phân tích số m thành tổng d số nhỏ m hoàn toàn khác nhau. Hơn với cách phân hoạch vậy, ta lấy hoán vị phần tử M tạo thành khối hoàn toàn phân biệt. Như bước chia, khối không bị trùng lặp. Ngoài ra, hai khối hai bước thực phải khác tổng thành phần khối khác nhau. Hình 2.2 Tọa độ ô bước hai xâu bốn xử lý Trở lại với ví dụ hai xâu bốn xử lý, với điểm xuất phát khối bước (0,0). Khi chuyển sang bước 1, vị trí xuất phát hai khối bước 36 (0,1) (1,0). Cứ tiếp tục vậy, bước có khối độc lập (2,0), (1,1) (0,2); bước (3,0), (2,1), (1,2), (0,3); bước (3,1), (2,2), (1,3); bước (3,2) (2,3) bước (3,3). Tuy toán phân tích số hoán vị toán NP-Hard, nhiên số xâu ký tự so sánh không lớn ([...]... Có ba phương pháp tiếp cận để thiết kế thuật toán song song: - Song song hoá những thuật toán tuần tự, biến đổi những cấu trúc tuần tự để tận dụng khả năng song song tự nhiên của tất cả các thành phần trong hệ thống xử lý - Thiết kế thuật toán song song mới trên cơ sở thuật toán song song đã có - Thiết kế thuật toán song song hoàn toàn mới thích ứng với những cấu trúc song song 1.3.4 Phân tích và đánh... toán song song ta còn phải chú ý đến kiến trúc của hệ thống tính toán Khi chuyển một thuật toán tuần tự sang thuật toán song song hoặc chuyển một thuật toán song song thích hợp với kiến trúc đang có Cần xác định được kiến trúc tính toán nào sẽ phù hợp với bài toán và những bài toán loại nào sẽ xử lý hiệu quả trong kiến trúc song song cho trước 12 1.3.3 Các cách tiếp cận trong thiết kế thuật toán song song... tích và đánh giá thuật toán song song Trong thuật toán tuần tự chúng ta chỉ quan tâm tới độ phức tạp về thời gian và không gian, nhưng trong thuật toán song song thường có thêm một số đại lượng đo lường khác Độ phức tạp thời gian của thuật toán song song không chỉ đơn giản là việc đếm số câu lệnh cơ bản như trong thuật toán tuần tự mà thay vào đó nó phụ thuộc vào các phép toán cơ bản này có thể được... phức tạp về số bộ xử lý cũng là một đại lượng quan trọng trong phân tích thuật toán song song Thiết kế thuật toán song song hiệu quả bao gồm việc lựa chọn cấu trúc dữ liệu phù hợp, phân bố bộ xử lý và cuối cùng là thực hiện thuật toán Ba đại lượng này tác động lẫn nhau như một tổ chức tính toán Đánh giá thuật toán song song Độ phức tạp tính toán của thuật toán song song không chỉ phụ thuộc vào kích cỡ... Thiết kế và đánh giá thuật toán song song 1.3.1 Định nghĩa thuật toán song song Thuật toán song song là một tập hợp các tiến trình (process) hay các tác vụ (task) có thể thực thi đồng thời và có thể trao đổi dữ liệu với nhau để kết hợp giải quyết vấn đề đặt ra [6] Những thuật toán, trong đó có một số thao tác có thể thực hiện đồng thời được gọi là thuật toán song song 11 1.3.2 Các nguyên lý thiết kế. .. Chi phí cho một thuật toán song song được xác định bằng tích của thời gian tính toán song song và số bộ xử lý được sử dụng Chi phí này phản ánh tổng số thời gian mà một bộ xử lý dùng để giải quyết bài toán Một thuật toán song song sử dụng p bộ vi xử lý để giải quyết bài toán đặt ra trong OT  đơn vị thời gian, sử dụng p bộ xử lý trong t p đơn vị thời gian, khi đó chi phí cho thuật toán song song C p... học và nghiên cứu protein Các ứng dụng chủ tập trung vào việc sử dụng thông tin kết hợp với tính toán trong việc tìm hiểu vai trò kết hợp giữa DNA, RNA và protein trong một cơ thể sống Bài toán tìm dãy con chung dài nhất của nhiều chuỗi được ứng dụng nhiều trong các lĩnh vực sinh học và di truyền học tính toán Đã có nhiều phương pháp có hiệu quả cho bài toán này với phương pháp quy hoạch động song song... lời giải các bài toán tìm kiếm, tra cứu, … Do vậy việc nghiên cứu các thuật toán sắp xếp cơ bản, đặc biệt là các thuật toán song song trên bài toán sắp xếp là rất cần thiết Trong phạm vi luận văn này trình bày ba phần chính, Chương 1 trình bày tổng quan về xử lý song song, thuật toán song song và giới thiệu lập trình song song với MPI , Chương 2 trình bày về phương pháp thiết kế thuật toán tìm dãy con... lý Để khai thác tiềm năng và sức mạnh của máy tính song song, cùng với việc thiết kế kiến trúc song song ta còn phải nghiên cứu những vấn đề quan trọng khác như hệ điều hành hỗ trợ xử lý song song, các ngôn ngữ lập trình và thuật toán song song 1 Việc nghiên cứu thiết kế các máy tính song song, và các thuật toán song song cũng như các ngôn ngữ lập trình hỗ trợ lập trình song song bắt đầu được quan tâm... kế thuật toán song song Khi muốn thực hiện việc xử lý song song ta phải xét cả kiến trúc máy tính và các thuật toán song song Để thiết kế được các thuật toán song song cần phải thực hiện - Phân chia dữ liệu cho các tác vụ - Chỉ ra cách truy cập và chia sẻ dữ liệu - Phân các tác vụ cho các tiến trình (bộ xử lý) - Các tiến trình được đồng bộ ra sao Khi thiết kế một thuật toán song song có thể sử dụng . NGÔ THỊ MINH NGUYỆT MỘT SỐ PHƯƠNG PHÁP THIẾT KẾ THUẬT TOÁN CƠ BẢN TRONG TÍNH TOÁN SONG SONG VÀ ỨNG DỤNG Chuyên ngành : Cơ sở toán cho tin học Mã số : 60 46 01 10 LUẬN VĂN. Thiết kế và đánh giá thuật toán song song 11 1.3.1. Định nghĩa thuật toán song song 11 1.3.2. Các nguyên lý thiết kế thuật toán song song 12 1.3.3. Các cách tiếp cận trong thiết kế. xử lý song song, thuật toán song song và giới thiệu lập trình song song với MPI , Chương 2 trình bày về phương pháp thiết kế thuật toán tìm dãy con chung dài nhất trong tính toán song song;

Ngày đăng: 25/09/2015, 11:08

Từ khóa liên quan

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

Tài liệu liên quan