1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

67 30 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 368,83 KB

Nội dung

ĐẠ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 TỐN CƠ BẢN TRONG TÍNH TỐ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 TỐN SONG SONG VÀ ỨNG DỤNG Chuyên ngành : Cơ sở toán cho tin học Mã số 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 để hồn thành luận văn, tơi gặp khơng khó khăn, lúc vậy, tơi ln 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ợ tơi 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 Tốn Hiệu Năng Cao tạo điều kiện giúp đỡ nhiều việc hồn thành luận văn Cuối tơi xin cảm ơn gia đình, người thân bạn tơi người ln bên cạnh, động viên khích lệ tơi để có kết ngày hơm 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 TỐ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 tố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 TỐN TÌM XÂU CON CHUNG DÀI NHẤT 22 2.1 Đặt vấn đề 22 2.2 Bài tốn tìm xâu chung dài 23 2.3 Thuật toán quy hoạch động giải tố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 28 2.5 Phương pháp song song toán xâu chung dài 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ữ CPU DNA HPC LCS MIMD MISD MPI NUMA RNA SIMD SISD TCP UDP UMA 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 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 tố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 tốn 2.1 Thuật tố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 2.6 Kết luận chương Chương giới thiệu tốn tìm xâu chung dài nhiều xâu ký tự, phương pháp quy hoạch động giải toán Đồng thời, chương giới thiệu phương pháp phần tử trội giúp giảm chi phí vùng nhớ cho toán đề xuất giải pháp song song hiệu cho toán Các kết thực nghiệm tiến hành chương 40 Chương – KẾT QUẢ THỰC NGHIỆM Chương nhằm đưa số kết chạy chương trình song song tìm xâu chung dài số liệu sinh ngẫu nhiên, từ so sánh đánh giá lại thuật tốn trình bày 3.1 Bộ liệu Dữ liệu thuật toán sinh ngẫu nhiên với số chuỗi tăng dần từ 2,4,8 xâu với độ dài xâu 64, 128, 256, 512 hai bảng chữ với số chữ 20 Bảng mô tả chi tiết liệu: Bảng 3.1 Dữ liệu thực nghiệm thuật toán stt Trong bảng liệu này, bảng gồm ký tự đại diện cho liệu DNA, RNA với nucleotit A, U, G, C A, T, G, C Còn bảng chữ 20 ký tự với chữ đại diện cho Amino axit bảng 2.1 41 Bảng 3.2 Bảng thống kê loại amino axit [28] Tên Amino axit Alanine Valine Leucine Isoleucine Proline Methionine Phenylalamine Tryptophane Glycine Serine Threonine Cysteine Tyrosine Asparagine Glutamine Histidine Lysine Arginine Aspartic Axit Glutamic Axit 3.2 Mơi trường chạy Chương trình cài đặt ngôn ngữ C, sử dụng thư viện song song MPI cài đặt hệ thống bó IBM 1350 trung tâm tính tốn Hiệu cao với cấu sau: 42 node tính toán, node gồm chip Intel Xeon Dual Core 3.2 GHz, GB RAM, 1x36 GB HDD, DVD ROM Tổng lực tính tốn node khoảng 51.2 Gflops node phục vụ lưu trữ, node gồm chip Intel Xeon Dual Core 3.2 GHz, GB RAM, 4x72 GB HDD node đóng vai trị quản lí bao gồm chip Intel Xeon Dual Core 3.2 GHz, GB RAM, 2x36 GBHDD Năng lực lưu trữ: thiết bị lưu trữ dùng chung EXP400 với 10x73 GB HDD SCSI 320 MBps 15KRpm, dùng hệ thống chia sẻ file: GPFS cho Linux v2.3.0.5 Các node chạy HĐH Redhat Enterprise Linux 3.0 kết nối với thông qua mạng Gethernet 3.3 Kết chạy thực nghiệm Dưới kết thu qua trình tính tốn số nhận xét đánh giá hoạt động thuật tốn song song tìm xâu chung dài nhiều xâu 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: Số xâu ký tự Từ bảng 3.3, số lượng phần tử trội trung bình nhỏ nhiều so với số phần tử ma trận phương án, nữa, độ dài xâu chung dài lại nhỏ 43 nhiều so với số phần tử trội Cụ thể hai chuỗi, số phần tử trội trung bình 309.4 so với 4096 phần tử ma trận phương án Tuy nhiên độ dài xâu chung dài lại 43.3 ký tự Đặc biệt, số xâu tăng lên số phần tử trội tăng theo với tốc độ nhanh độ dài xâu chung dài lại giảm đáng kể Với số xâu số phần tử trội 2718.7 độ dài xâu chung dài 28.9 Khi số xâu tăng lên thành số phần tử trội lớn với 2354157.6 phần tử độ dài xâu chung dài 13.3 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: Số xâu ký tự 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) Số 44 Tương tự bảng 3.3, bảng 3.4 thể số phần tử trội độ dài xâu chung dài bảng chữ 20 ký tự Từ bảng ta có nhận xét số phần tử trội bảng chữ 20 ký tự số phần tử trội bảng chữ kỹ tự đáng kể Hơn nữa, số phần tử trội tăng độ dài xâu chung dài xâu giảm từ 20.8 đến 9.4, 5.2 với số xâu tương ứng 2, 4, Xét thời gian chạy, bảng 3.5, khí số xâu ký tự với độ dài 64 bảng ký tự cho thấy thời gian thực thuật toán ngắn, 0.00152 giây Thuật toán song song với số xử lý tăng thời gian tính tốn chậm 0.08995, 0.49937, 1.47036 với 2, xử lý Đặc biệt số xâu tăng lên 4, thời gian tính tốn 1.22 giây so với 2.4144 giây thuật toán song song với xử lý, 3.5076 giây với xử lý 7.82 giây với xử lý Có thể nhận thấy trường hợp này, thuật toán nhanh so với thuật tốn song song số lượng tính tốn khơng nhiều, thuật tốn song song thời gian truyền thông xử lý Khi thời gian tính tốn thấp nhiều so với thời gian truyền thơng thuật tốn song song khơng hiệu Khi tính tốn đủ lớn, thời gian nhiều trường hợp với xâu, thuật tốn song song tỏ có ưu hẳn Thời gian thực thuật toán giảm dần từ 259234.4 giây thuật tốn cịn 150723.2 giây thuật toán song song với xử lý đặc biệt giảm xuống 40762.1 giây xử lý 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): Số 45 Cũng giống với bảng 3.5, thuật tốn có thời gian chạy nhanh so với thuật toán song song với số xâu ký tự Tuy nhiên số xâu thuật tốn song song chạy tốt hẳn 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): 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): Khi độ dài xâu ký tự tăng lên thành 128, việc tìm xâu chung dài hai xâu thuật toán nhanh so với thuật tốn song song Tuy nhiên số xâu cần tìm rõ ràng, lúc thuật tốn song song tỏ tốt bảng 3.7, thuật toán 66.9 giây thuật toán song song với hai xử lý 35.96 giây, 24.7 giây với xử lý 30.721 giây Rõ ràng, khối lượng tính tốn tăng lên thuật tốn song song chạy nhanh so với thuật toán (s) 46 Thời gian chạy 64(4 ) 64(20 ký tự) Thời gian chạ (s) y 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ự 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ự Hình 3.1 3.2 cho thấy thuật tốn song song tỏ có hiệu kích thước tốn tìm xâu chung dài đủ lớn Đối với trường hợp đặc biệt số xâu Thuật toán song song thực tốt độ dài xâu lớn 4096 Để đánh giá mức độ hiệu thuật toán song song trường hợp này, hình 3.3 thấy hệ số tăng tốc thuật toán Với số xử 47 lý 2, thuật tốn có hệ số tăng tốc cỡ 1.3, với số xử lý 4, hệ số tăng tốc gần đặt với số xử lý hệ số đạt 3.3 Có thể với độ dài xâu 4096 thời gian tính tốn với thời gian truyền thơng thuật toán song song chênh lệch Hệ số tăng tốc không nhiều dẫn đến hệ số tăng tốc khơng đạt cao 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 Hệ số tăng tốc ký tự 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 hiệu số Hệ 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ự Đánh giá: Để đánh giá mức độ hiệu thuật tốn song song, hình 3.5 thể hệ số tăng tốc thuật toán với xâu độ dài 64 bảng chữ ký tự 20 ký tự Với số xử lý tăng lên, thuật toán tăng tốc nhanh, từ cỡ 1.7 với xử lý tăng lên cỡ 3.2 với lên cỡ với xử lý Với bảng chữ ký tự, thuật tốn có hệ số tăng tốc cao so với bảng chữ 20 ký tự Tuy nhiên xét mức độ hiệu thuật toán hình 3.5 số xử lý tăng lên mức độ hiệu lại giảm dần, từ khoảng 0.85 đến 0.8 đến 0.79 với 2, xử lý Như thuật tốn song song thực hiệu cơng việc thực xử lý đủ lớn, trường hợp với số xâu lớn với độ dài xâu 64 với độ dài xâu lớn 4096 49 KẾT LUẬN Luận văn trình bày số nội dung sau: 1.Một số kiến thức tổng quan xử lý song song bao gồm hệ thống song song, mô hình lập trình song song, nguyên lý thiết kế thuật tốn song song kiến trúc cụm máy tính trung tâm tính tốn hiệu cao Luận văn giới thiệu giao diện truyền thông điệp MPI nhằm mục đích áp dụng lập trình MPI với ngơn ngữ C cho tốn tìm xâu chung nhiều xâu song song Trình bày thuật tốn tìm xâu chung dài nhiều xâu, thuật toán điển hình tin sinh học, với phương pháp phần tử trội đề xuất giải thuật song song tìm xâu chung dài nhiều xâu 3.Cài đặt chương trình tìm xâu chung dài nhiều xâu song song hệ thống song song trung tâm tính tốn Hiệu cao với liệu sinh ngẫu nhiên theo chuẩn toán tin sinh học 4.Từ kết nhận được, luận văn thuật tốn tìm xâu chung dài với phương pháp phần tử trội tốt cho tốn tìm xâu chung dài nhiều xâu phương pháp giảm thiểu vùng nhớ cần lưu, đồng thời từ phần tử trội dễ dàng tìm xâu cách nhanh chóng Thuật tốn song song mang lại hiệu thời gian chạy giảm xâu có độ dài cao số xâu lớn Trong tương lai luận văn tiếp tục nghiên cứu thuật toán song song xâu tin sinh học toán bắt cặp trình tự, tốn khơi phục chuỗi liên kết, v.v 50 TÀI LIỆU THAM KHẢO Tiếng Việt Đoàn Văn Ban, Nguyễn Mậu Hân (2006), Xử lý song song phân tán, NXB KHKT Nguyễn Hữu Điển (2006), Một số vấn đề thuật toán, NXB giáo dục Tiếng Anh 1999 Barry Wilkinson, Michael Allen, Parallel Programming, Prentice Hall, Cameron Hughes, Tracey Hughes (2003), Parallel and Distributed Programming Using C++, Addison Wesley David Ashton, William Gropp, Ewing Lusk: Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.5, Agonne National Laboratory H Roosta (2000), Parallel Processing and Parallel Algorithms, Springer-Verlag Korkin, D., Wang, Q., & Shang, Y (2008, September) An efficient parallel algorithm for the multiple longest common subsequence (mlcs) problem In Parallel Processing, 2008 ICPP'08 37th International Conference on (pp 354-363) IEEE K Hakata and H Imai Algorithms for the longest common subsequence problem for multiple strings based on geometric maxima Optimization Methods and Software, 10(2):233–260, 1998 Myers, G (1999) A fast bit-vector algorithm for approximate string matching based on dynamic programming Journal of the ACM (JACM), 46(3), 395-415 10 M Sasikumar, Dinesh Shikhare, P Ravi Prakash (2000), Introduction to Parallel Processing, Prentice – Hall 11 Jones, N C., & Pevzner, P (2004) An introduction to bioinformatics algorithms MIT press 12 Sons Pevsner, J (2009) Bioinformatics and functional genomics John Wiley & 13 Seyed H Roosta, Parallel Processing and Parallel Algorithms, Springer-Verlag, 2000 51 ... 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... KHOA HỌC TỰ NHIÊN NGÔ THỊ MINH NGUYỆT MỘT SỐ PHƯƠNG PHÁP THIẾT KẾ THUẬT TỐN CƠ BẢN TRONG TÍNH TỐN SONG SONG VÀ ỨNG DỤNG Chuyên ngành : Cơ sở toán cho tin học Mã số LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI... trúc tính toán phù hợp với toán toán loại xử lý hiệu kiến trúc song song cho trước 12 1.3.3 Các cách tiếp cận thiết kế thuật tốn song song Có ba phương pháp tiếp cận để thiết kế thuật toán song song:

Ngày đăng: 20/11/2020, 08:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w