Song song hoá bước biểu diễn cây bát phân trong thuật toán nhanh giải bài toán n body và tính toán thử nghiệm trên PC

69 472 0
Song song hoá bước biểu diễn cây bát phân trong thuật toán nhanh giải bài toán n   body và tính toán thử nghiệm trên PC

Đ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 KHOA CÔNG NGHỆ TÀO THỊ THU PHƯỢNG SONG SONG HÓA BƯỚC BIỂU DIỄN CÂY BÁT PHÂN TRONG THUẬT TOÁN NHANH GIẢI BÀI TOÁN N – BODY VÀ TÍNH TOÁN THỬ NGHIỆM TRÊN PC - CLUSTER LUẬN VĂN THẠC SỸ Người hướng dẫn: TS Nguyễn Hải Châu Hà nội - 2004 MỤC LỤC LỜI CẢM ƠN DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC BẢNG BIỂU HÌNH VẼ MỞ ĐẦU CHƯƠNG BÀI TOÁN MÔ PHỎNG N-BODY VÀ MÔ HÌNH SONG SONG 1.1 Bài toán mô N-body 1.1.1 Giới thiệu 1.1.2 Các bước quy trình giải toán mô N-body 1.2 Các giải pháp tăng tốc độ tính lực cho toán mô N-body 1.2.1 Phần cứng đặc biệt 1.2.2 Thuật toán nhanh 10 1.2.3 Thuật toán song song 12 1.2.4 Giải pháp kết hợp 15 1.3 Mô hình tính toán hình song song 16 1.3.1 Kiến trúc hệ thống tính toán song song 16 1.3.2 Lập trình song song, bước thiết kế chương trình song song 19 1.3.3 Hệ thống PC-Cluster 21 1.3.4 Giao diện truyền thông điệp MPI 25 CHƯƠNG THUẬT TOÁN KHAI TRIỂN ĐA CỰC NHANH VÀ PHƯƠNG PHÁP CÂY BÁT PHÂN 28 2.1 Thuật toán khai triển đa cực nhanh FMM (Fast Multipole Method) 28 2.1.1 Cơ sở vật lý toán học 28 2.1.2 Thuật toán FMM 32 2.1.3 Đòi hỏi song song hóa thuật toán N-body 37 2.2 Biểu diễn bát phân 37 2.2.1 Biểu diễn bát phân 37 2.2.2 Khóa Bảng băm 39 2.3 Cây bát phân 42 2.3.1 Mô tả chương trình 42 2.3.2 Kết thử nghiệm 45 CHƯƠNG SONG SONG HÓA CÂY BÁT PHÂN VÀ CÀI ĐẶT THỬ NGHIỆM 47 3.1 Song song hóa thuật toán bát phân 47 3.1.1 Phân chia liệu 47 3.1.2 Xây dựng song song 49 3.1.3 Duyệt song song 50 3.1.4 Một số giải pháp phân chia liệu (ORB, SFC) 55 3.2 Xây dựng chương trình thử nghiệm song song hóa thuật toán 59 3.2.1 Hạ tầng tính toán 59 3.2.2 Kết quả, đánh giá so sánh 59 KẾT LUẬN 63 LỜI CẢM ƠN Trong suốt thời gian học tập hoàn thành luận văn, may mắn thầy cô bảo, dìu dắt gia đình, bạn bè quan tâm, động viên Tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy cô giáo Ban chủ nhiệm, thầy cô Khoa Công nghệ - ĐHQG Hà Nội, thầy cô Viện Tin học - Trung tâm Khoa học Tự nhiên Công nghệ Quốc gia truyền đạt kiến thức vô quý báu làm tiền đề cho nghiên cứu luận văn Cho phép gửi lời cảm ơn sâu sắc đến TS.Nguyễn Hải Châu, người thầy nhiệt tình bảo hướng dẫn suốt thời gian hoàn thành luận văn Với tất lòng mình, xin bày tỏ lòng biết ơn chân thành đến thầy, anh bạn môn Các Hệ thống thông tin - Khoa Công nghệ ĐHQG Hà Nội dìu dắt tạo điều kiện thuận lợi cho nhiều thời gian học tập hoàn thành luận văn Tôi xin gửi tới TS.Hà Quang Thụy bạn nhóm seminar “Khai phá liệu Tính toán song song” lời cảm ơn chân thành ý kiến đóng góp kiến thức quý báu tiếp thu suốt thời gian tham gia nghiên cứu khoa học Tôi xin gửi lời cảm ơn tới thầy bạn Trung tâm Ứng dụng Tin học Hóa học - Khoa Hóa - Trường Đại học Khoa học Tự nhiên Hà Nội tạo điều kiện máy móc cho chạy thử nghiệm chương trình Cuối xin cảm ơn gia đình, bạn bè tập thể lớp cao học K8T1, người bên cổ vũ động viên nhiều Hà Nội, 1/2004 Tác giả Tào Thị Thu Phượng DANH MỤC CÁC TỪ VIẾT TẮT Viết tắt BH FMM MAC MPI MPMP MPP SFC SMP SPMP ORB VXL Tiếng Việt Thuật toán Barnes-Hut Thuật toán khai triển đa cực Tiêu chuẩn thừa nhận định Giao diện truyền thông điệp Đa chương trình - Đa liệu Hệ thống xử lý song song dạng khối Phương pháp đường cong phủ khoảng trống Hệ thống đa xử lý đối xứng Đơn chương trình - Đa liệu Phương pháp chia đôi đệ quy trực giao Bộ vi xử lý Tiếng Anh Barnes-Hut Algorithm Fast Multipole Mothod Decision acceptance criterion Message Passing Interface Multiple Program Multiple Data Massively Parallel Processor Spacing-Fillong Curve Symmetric MultiProcessor Single Program Multiple Data Orthogonal Recursive Bisection Microprocessor DANH MỤC BẢNG BIỂU HÌNH VẼ Bảng - Thời gian tính lực trực tiếp (chương trình tuần tự) 14 Bảng - Thời gian tính lực trực tiếp (chương trình song song) 14 Bảng - Thời gian tạo bát phân (chương trình tuần tự) 45 Bảng - Thời gian xây tạo bát phân song song (số BXL=4) 59 Bảng - Thời gian xây tạo bát phân song song (theo BXL, N=2048) 60 Bảng - Tỷ lệ thời gian tạo tổng thời gian bước 60 Hình 1.1 - Thời điểm bắt đầu mô Hình 1.2 - Thời điểm trước va chạm Hình 1.3 - Thời điểm sau va chạm Hình 1.4 - Hệ thống GRAPE 10 Hình 1.5 - Trọng tâm thích hợp 11 Hình 1.6 - Phân chia N body cho p BXL 13 Hình 1.7 - Truyền thông tính lực 14 Hình 1.8 - Biểu đồ thời gian tính lực trực tiếp song song 15 Hình 1.9 - Tiến trình đơn luồng tiến trình đa luồng 17 Hình 1.10 - Truyền thông điệp 18 Hình 1.11 - Thiết kế chương trình song song 21 Hình 1.12 - Kiến trúc máy tính cụm 22 Hình 2.1 - Các tập tách rời 29 Hình 2.2 - Khai triển đa cực tương ứng xung quanh z0 hội tụ bên D2 31 Hình 2.3 - Xây dựng (2 chiều) 33 Hình 2.4 - Cây bát phân độ cao n = 38 Hình 2.5 - Biểu diễn bát phân 38 Hình 2.6 - Ví dụ ánh xạ khóa không gian chiều 39 Hình 2.7 - Minh họa cấu trúc liệu băm 41 Hình 2.8 - Cây bát phân gán khóa 44 Hình 2.9 - Biểu đồ thời gian tạo bát phân (chương trình tuần tự) 45 Hình 3.1 - Sắp xếp dạng khóa Morton (trong không gian chiều) 48 Hình 3.2 - Sắp xếp dạng khóa Morton (trong không gian chiều) 48 Hình 3.3 - Sắp xếp dạng khóa Peano-Hilbert (trong không gian chiều) 49 Hình 3.4 - Xây dựng song song (trong chiều) 50 Hình 3.5 - SFC theo thứ tự Morton không gian chiều 56 Hình 3.6 - SFC theo thứ tự Morton không gian chiều 57 Hình 3.7 - SFC theo thứ tự Hilbert không gian chiều 57 Hình 3.8 - SFC theo thứ tự Hilbert không gian chiều 57 Hình 3.9 - Phân chia miền sử dụng phương pháp ORB không gian chiều 58 Hình 3.10-Phân chia miền sử dụng phương pháp ORB không gian chiều 58 Hình 3.11-Biểu đồ thời gian xây dựng bát phân song song (số BXL=4) 60 Hình 3.12-Biểu đồ thời gian xây dựng bát phấn song song (theo BXL, N=2048) 60 MỞ ĐẦU Phương pháp mô xuất từ năm 1950 đến năm 1970, máy tính trở nên mạnh hơn, có nhiều khả thực trở nên hữu dụng phổ biến Ngày phương pháp mô nhận quan tâm nhà nghiên cứu nhiều lĩnh vự nghiên cứu bao gồm lĩnh vực nghiên cứu giới vĩ mô giới vi mô Trong nghiên cứu giới vĩ mô giới vi mô, mô hệ N-body có phạm vi ứng dụng rộng lớn lý sinh, hóa học, vật lý,.v.v Chẳng hạn vật lý thiên thể: mô hệ thống dải ngân hà; vật lý thể plasma: mô môi trường hệ thống ion electron; động lực học nguyên tử: mô tĩnh điện học lực khác; đồ họa máy tính: mô dùng cho việc tính ánh sáng thực hệ thống điểm chiếu sáng… Chương trình mô giữ dấu vết thay đổi theo thời gian vật thể (hoặc hạt) hệ vật chất (hay hạt) Dựa trạng thái (vị trí, vận tốc, năng,…) hạt thời điểm T, chương trình mô tính lực tương tác hạt để xác định trạng thái chúng Quá trình thực lặp lặp lại trả lại vị trí, trạng thái tất hạt thời điểm T + δT Việc tính lực trực tiếp chi phối hầu hết thời gian (cỡ 90%) tất toán mô Độ phức tạp thời gian toán O(N2) N số hạt Các cách tiếp cận chủ yếu hiệu để tăng tốc độ tính lực (hấp dẫn Coulomb) gồm có thuật toán nhanh, phần cứng tính toán nhanh chuyên dụng áp dụng phương pháp tính toán song song Một số thuật toán giải toán mô đề xuất để giảm thời gian tính toán thuật toán Barnes-Hut [8][15] với độ phức tạp O(NlogN), thuật toán FMM [11] với độ phức tạp O(N),… Luận văn tập trung nghiên cứu phần tạo duyệt bát phân song song ứng dụng toán mô N-body Phần cài đặt song song hóa chương trình thực thông qua cách thức sử dụng thư viện truyền thông điệp MPI hệ thống Linux PC Cluster Luận văn gồm phần sau: Chương giới thiệu toán mô N-body, khó khăn gặp phải cách khắc phục khó khăn Một số mô hình song song áp dụng cho tính toán song song trình bày Luận văn giới thiệu số vấn đề mô hình MPI Linux PC Cluster dùng để cài đặt thử nghiệm thuật toán luận văn Chương trình bày thuật toán FMM sở cho thuật toán luận văn, phương pháp biểu diễn bát phân, giới thiệu chương trình cài đặt bát phân Một số nhận xét, đánh giá bước đầu trình bày nhằm tính ưu việt thực song song hóa bát phân Chương trình bày thực song song hóa bát phân Các giải pháp phân chia liệu, tạo duyệt bát phân phân tích Luận văn giới thiệu nội dung liên quan đến việc cài đặt chương trình thử nghiệm song song hóa thuật toán Một số nhận xét, đánh giá bước đầu dựa kết thử nghiệm đưa CHƯƠNG BÀI TOÁN MÔ PHỎNG N-BODY VÀ MÔ HÌNH SONG SONG 1.1 Bài toán mô N-body 1.1.1 Giới thiệu Đoán trước diễn biến xảy tự nhiên (như dự đoán va chạm thiên hà, phát triển bão…) để kịp có biện pháp phòng ngừa thiên tai hay biểu diễn chuyển động phần tử hệ (như nguyên tử phân tử,…) để phục vụ cho nghiên cứu cụ thể Hóa học, Vật lý nhu cầu cần thiết sống hàng ngày nghiên cứu khoa học Một cách trực quan, người ta thực tạo hệ công cụ thí nghiệm gọi công việc mô Do thời gian ước lượng thuộc tính hệ thống vật lý khó dự đoán việc phân tích phức tạp hệ thống đơn giản số lượng body phân tích Một phương pháp mô hệ vật lý mô hình hóa tập body tương tác với body khác, tác động trở lại bên Bài toán mô N-body toán cho việc mô chuyển động tập body (các hạt - particles) tác động lực hấp dẫn lực khác Từ trạng thái ban đầu cho trước, tác động lực tương tác, trạng thái body hệ cập nhật liên tục theo thời gian Chẳng hạn toán mô chuyển động phân tử hệ vật chất đó: từ vị trí ban đầu, phân tử tương tác với vận tốc gia tốc thay đổi nên chúng chuyển đến vị trí khác Cứ vậy, vị trí phân tử hệ liên tục thay đổi Để thực việc mô chuyển động phân tử này, ta phải xác định cập nhật liên tục vị trí chúng suốt thời gian mô Bài toán mô tả sau: (1) Cho trạng thái hệ thống gồm N body thời điểm ban đầu T0 : n1(x1, T0), n2(x2, T0), …, nN(xN, T0) Trong ni (i=1, ,N) body; xi thông tin trạng thái ni tương ứng thời điểm T0 Các thông tin trạng thái quan trọng là: vị trí, vận tốc, khối lượng (dùng để tính lực hấp dẫn); điện tích (dùng để tính lực Coulomb) (2) Hãy xác định trạng thái hệ thống thời điểm Tj: n1(x1, Tj), n2(x2, Tj), …, nN(xN, Tj) Thông thường, không cần rõ thời điểm, người ta sử dụng cách biểu diễn n1(x1), n2(x2), …, nN(xN) để trình bày trạng thái hệ thống 1.1.2 Các bước quy trình giải toán mô N-body Với toán mô tả trên, có nhiều phương pháp đưa nhằm xác định thông tin trạng thái body hệ thời điểm Tuy vậy, bước trình mô hệ N-body có điểm chung sau: Biểu diễn hệ thống Tính toán lượng lực tương tác body hệ Tính cập nhật trạng thái (vị trí, vận tốc) body hệ Quá trình tiếp lục lặp lặp lại từ bước thứ hai Các phương pháp đưa hầu hết nhằm giảm thời gian tính lực trình mô giai đoạn chiếm thời gian chủ yếu (xấp xỉ 90-95%) Luận văn tập trung vào giai đoạn tính lực cho toán mô N-body Để hình dung toán mô cách trực quan, xem xét ví dụ mô va chạm hai thiên hà (galaxy) để tạo thiên hà sau (tổng số thiên thể 2048) Hình 1.1 - Thời điểm bắt đầu mô (t = 0, bước mô phỏng) Từ hai thiên hà ban đầu (hình 1.1), chúng tiến lại gần va chạm tác động lực hấp dẫn Hình 1.2 - Thời điểm trước va chạm (t = 3.937253, số bước mô 100) không đạt tiêu chuẩn MAC đưa vào danh sách duyệt đầu (ouput walk list) Sau toàn danh sách duyệt đầu vào xử lý, danh sách duyệt đầu gán lại cho danh sách duyệt trình lặp lại Quá trình tiếp tục dánh sách duyệt rỗng Ưu điểm phương pháp so với phương pháp đệ quy thực véctơ hóa bước duyệt trung gian ta thực việc kiểm tra số lượng lớn node môt lúc, thực song song Nó dẫn đến danh sách tương tác cuối chuyển qua cho việc tính lực véctơ hóa đầy đủ Khi giai đoạn duyệt hoàn thành, danh sách tương tác bao gồm vectơ mục chọn phải đưa vào để tính tương tác (theo tiêu chuẩn MAC thông thường) Các tương tác tự tính độc lập, đoạn mã phương pháp duyệt véctơ hóa chuẩn hóa cách độc lập Sau ta thảo luận làm để song song hóa trình duyệt song song Trên máy song song, việc duyệt gặp phải hcell mà không nằm nhớ địa phương Trong trường hợp ta thêm vào số danh sách cho phép tiến hành tính toán đánh giá liệu địa phương bị trì hoãn Mỗi hcell gán nhãn với bit HERE Bit thiết lập hcell biểu diễn nhớ địa phương Bít kiểm tra trình duyệt trước tìm Nếu bít HERE không thiết lập, khóa địa nhớ nguồn (nằm hcell) đặt danh sách yêu cầu (request), xự lý khác khóa đặt danh sách trì hoãn (defer) Ngoài ta đặt bít REQUESTED hcell, để đối phó với yêu cầu thêm cho liệu Điều cho phép xử lý tiếp tục hcell danh sách duyệt đầu vào Trong trình duyệt, yêu cầu thêm xảy Trong giai đoạn này, có số khóa địa xử lý danh sách yêu cầu, số tương đương khóa danh sách trì hoãn, mà yêu cầu liệu không địa phương để nhận trước trình duyệt tiếp tục 53 Danh sách yêu cầu truyền vào loạt thông điệp liên tiến trình gao gồm yêu cầu liệu Lúc nhận thông điệp vậy, hcell thích hợp đóng gói vào hồi âm (reply), câu trả lời trả lại theo thông điệp liên tiến trình thứ hai Khi hồi âm nhận, tiếp nhận thích hợp tạo bảng băm, yêu cầu Find đến sau trả lại liệu Có thể thi hành giao thức yêu cầu/hồi âm đồng không đồng lỏng lẻo Quyết định bị chi phối với mức hỗ trợ thực liên quan đưa phần cứng hệ điều hành Vào lúc nhận số hồi âm (không cần thiết đợi cho tất hồi âm đến), danh sách trì hoãn khởi tạo lại với liệu đến Một trình duyệt bắt đầu trình duyệt riêng trọn vẹn để tính, chẳng hạn lực hạt khác Với việc tính toán thích hợp số lượng nhớ vừa phải, trình duyệt chấp nhận độ trễ lâu việc thi hành hàng đợi (circular queue) lần duyệt (với danh sách yêu cầu chia sẻ) Ta dùng hàng đợi với 30 lần duyệt, sau 30 lần duyệt bị trì hoãn, ta khởi tạo lại trình duyệt việc chép danh sách trì hoãn tới danh sách duyệt Dữ liệu yêu cầu thường đến tạm thời Bộ nhớ phân cấp kiểu truy nhập: Vấn đề phân cấp truy nhập giới thiệu áp dụng cho phương pháp treecode Phương pháp tree FMM không giống FMM sử dụng phương pháp khai triển đa cực để tính lực, phần xây dựng áp dụng phương pháp tương tự Các phương pháp treecode đưa đòi hỏi nhiều hệ thống nhớ máy tính đại Các truy nhập ngẫu nhiên tới vị trí nhớ riêng biệt suốt trình duyệt nhận số lợi ích từ cache chip, thực tế lấn át việc chuyển đệm look-a-side (TLB) xử lý tương tự i860 Điều dẫn đến việc thực nghèo nàn từ thuật toán thiết kế không xem xét đến băng thông nhớ giới hạn vốn có 54 dạng nhớ phân cấp với ý định cho chức với DRAM chậm đáng kể so với thời gian quay vòng nhớ Từ giai đoạn duyệt có ý nghĩa đặc biệt hầu hết cấu trúc nhớ, ta đặt thứ tự tính toán để nhận ưu điểm cấu trúc thuật toán, mà khuyến khích mẫu truy nhập nhớ cách thứ tự Một thuộc tính hữu ích thuật toán treecode hạt mặt không gian gần với hạt khác có khuynh hướng có danh sách tương tác ô giống Bằng việc cập nhật hạt thứ tự lấy ưu điểm trạng thái gần với không gian chúng, ta giảm số truy cập nhớ mà quên cache TLB Một xếp hiệu thích hợp lại dùng danh sách xếp dùng việc xây dựng Bằng việc cập nhật hạt theo thứ tự định nghĩa ánh xạ khóa, ta đạt mục đích Một kỹ thuật bổ sung để cải thiện tốc độ truy nhập nhớ qua việc xếp lại liệu danh sách liên kết xung đột bảng băm Bởi việc chuyển liệu truy nhập gần tới đỉnh danh sách liên kết, tạo “virtual cache” việc giữ thường xuyên liệu dùng vị trí nhớ kề tạo nên (make up) bảng băm Điều cho phép nhớ đạt thực tốt với bảng băm nhỏ nhiều so với mong chờ ngây thơ Bộ nhớ phân cấp mở rộng máy tính song song (có khả nhớ ảo node) lợi dụng kỹ thuật tốt Ta muốn giữ thứ lâu tốt mức nhanh thứ bậc bao gồm ghi, cache, nhớ địa phương, nhớ xử lý khác, nhớ ảo Ta mở rộng mô hình “virtual cache” chí nữa, việc xóa liệu vừa đến từ xử lý khác mà không dùng gần Mặc dù điều không thi hành, ta mong cho phép mô lớn đáng kể để lấy vị trí (take place), từ phần lớn nhớ dùng bao gồm nhiều ô từ xử lý khác 3.1.4 Một số giải pháp phân chia liệu (ORB, SFC) 55 Cách phân chia liệu ảnh hưởng nhiều đến hiệu thực chương trình Phân chia liệu cho việc truy tìm liệu nhanh chóng tối ưu vấn đề cân tải Đôi để đáp ứng yêu câu này, ta phải trả giá khó khăn trình lập trình độ xác thuật toán Luận văn xin giới thiệu hai phương pháp phân chia liệu áp dụng phổ biến nay: Space-Filling Curve (SFC) Orthogonal Recursive Bisection (ORB) [25][26] • Phương pháp Space-Filling Curve (SFC): Một SFC ánh xạ không gian đa chiều vào tập chiều Điều cho phép tìm kiếm bảng liệt kê tất yếu tố lưới không cấu trúc Việc đánh số node đường cong (như thành phần lưới) liên tiếp, node dễ dàng thu từ phân bố lưới với cân tải gần tối ưu Hình vẽ đưa SFC lưới hình chữ nhật SFC thật chưa xây dựng, số ô tính với thuật toán đệ quy Khi ô đánh số, tập số thứ tự liên tiếp Bây việc phân chia cho xử lý dễ dạng: xử lý nhận khúc có kích thước tương đương số tăng dần Cân tải đạt gần tối ưu Hình vẽ bên minh họa số SFC theo thứ tự Morton Hilbert không gian chiều chiều Hình 3.5 – SFC theo thứ tự Morton không gian chiều 56 Hình 3.6 – SFC theo thứ tự Morton không gian chiều Hình 3.7 – SFC theo thứ tự Hilbert không gian chiều Hình 3.8 – SFC theo thứ tự Hilbert không gian chiều 57 • Phương pháp Orthogonal Recurisve Bisection (ORB): Trong toán N-body, hệ hạt ta coi bao quanh hộp hình vuông cho hệ cô lập thiên hà hình lập phương hệ vũ trụ với biên Salmon (1990) phát triển thuật toán song song cho việc phân tích thể tích thành thể tích hình vuông dùng phương pháp ORB Trong kỹ thuật này, thể tích biểu diễn dạng hộp hình vuông gần giống ây BH Thể tích cắt dọc theo chiều tùy ý vị trí tùy ý Với cân bằng, vị trí chọn để có tương đương số lượng hạt mặt cắt Kết thể tích lại cắt dọc theo khác chiều vị trí tùy ý Tiếp tục chia mức thỏa mãn yêu cầu Dưới số hình vẽ minh họa việc phân chia miền sử dụng phương pháp ORB: Hình 3.9 - Phân chia miền sử dụng phương pháp ORB không gian chiều Hình 3.10 - Phân chia miền sử dụng phương pháp ORB không gian chiều 58 • So sánh hai phương pháp SFC ORB: Mỗi phương pháp đưa có ưu nhược điểm Phương pháp SFC ánh xạ không gian đa chiều vào tập chiều, kết thu từ việc đánh số ô lưới tập số xếp thứ tự liên tiếp Từ tập chiều này, việc cắt phân chia cho xử lý cân tải gần tối ưu Nhưng việc đánh số lại phức tạp so với việc biểu diễn không gian hệ dạng thuật toán ORB Phương pháp ORB vấn đề cân tải không tốt phương pháp SFC trình phân chia không gian để xây dựng 3.2 Xây dựng chương trình thử nghiệm song song hóa thuật toán 3.2.1 Hạ tầng tính toán Việc cài đặt chương trình song song thực hệ thống Linux PCCluster (RedHat 7.2), với node BXL Pentium III 1,7G Mhz, nhớ 128 MB 3.2.2 Kết quả, đánh giá so sánh Chúng thử nghiệm chương trình tạo bát phân song song kêt thời gian tạo khóa, xếp khóa tạo trung bình bước thể bảng sau: Số body (k) 16 32 64 128 256 512 Độ cao 4 5 6 Thời gian (s) 0.55121 0.6113 0.64501 0.73148 0.90751 1.31017 2.28404 1024 3.90311 2048 13.14275 Bảng - Thời gian tạo bát phân song song (số BXL=4) 59 Hình 3.11 - Biểu đồ thời gian tạo bát phân song song (số BXL=4) Số BXL Thời gian (s) 27.65866 17.85494 13.14275 12.92865 Bảng - Thời gian tạo bát phân song song (theo BXL, N = 2048) Hình 3.12 - Biểu đồ thời gian tạo bát phân song song (theo BXL, N = 2048) Độ xác 1.5x10-1 2x10-5 TG tạo (s) 2.809959 2.811293 Tổng TG bước (s) 223.590696 2821.932653 Tỷ lệ (%) 1.25 0.09 Bảng - Tỷ lệ thời gian tạo tổng thời gian bước 60 Với chương trình song song, thời gian tính toán nhanh nhiều so với chương trình công việc tính toán san sẻ cho BXL Tuy có thời gian vào chi phí cho việc truyền thông thời gian không lớn chấp nhận được, chương trình song song hiệu toán mô thực với số body lớn Các kết chạy thử nghiệm thu bảng (hình 2.9 3.11) cho thấy chương trình xây dựng song song thời gian so với chương trình xây dựng bát phân Từ số liệu cụ thể thu cho thấy để xây dựng với số body 8k (1892) tỷ lệ thời gian xây dựng so với thời gian xây dựng song song xấp xỉ 40 Khi số body tăng dần tỷ lệ giảm, cụ thể với số body 2048k (4194304) tỷ lệ xấp xỉ Khi số xử lý tăng thời gian xây dựng song song giảm (bảng 5, hình 3.12) Tuy giai đoạn xây dựng song song nhiều thời gian giai đoạn xây dựng toán mô thời gian xây dựng chiếm tỷ lệ nhỏ (chiếm khoảng 1%, kết bảng với 1024k body thực máy BXL Celeron 800MHz, nhớ 256 MB, hệ điều hành Linux 9.0) so với thời gian tính lực nên ta coi không đáng kể Đối với toán bất kỳ, thường nghiên cứu tập trung vào việc làm giảm giai đoạn chiếm nhiều thời gian nên toán mô phỏng, giai đoạn tập trung để giảm thời gian giai đoạn tính lực Việc xây dựng bát phân song song bước tiền đề cho giai đoạn tính lực với bát phân song song việc tìm đến body để khai triển tính lực nhanh O(1) [12] Trong trình chạy thử chương trình, số vấn đề nảy sinh tổng hợp lại sau: - Từ kết thử nghiệm bảng (hình 3.12) cho thấy số BXL tăng thời gian xây dựng giảm công việc chia cho BXL Như vậy, toán mô N-body với số body lớn thực 61 cách nhanh chóng việc áp dụng thuật toán nhanh thực tính toán song song hệ nhiều máy - Khi chạy chương trình, số BXL hệ thống không nên có chênh lệch tốc độ lớn BXL phải chờ đợi thời gian tính toán hệ thống thời gian tính toán BXL chạy chậm - Ta nên cố gắng thiết lập hệ thống BXL có tốc độ tương đương Nếu trường hợp hệ thống có BXL chậm, ta chia khối lượng công việc cho BXL cho công việc thực chúng tương đương Chẳng hạn hệ có BXL 0,1,2,3 BXL 0,1,2 có tốc độ tương đương BXL có tốc độ 1/2 tốc độ BXL Giả sử ta có công việc, khối lượng công việc chia cho BXL 0,1,2 2, riêng BXL nhận lượng công việc 62 KẾT LUẬN Mô N-body toán có nhiều ứng dụng thực tiễn tính phổ dụng phức tạp hệ thống nghiên cứu Mô thực máy tính hiệu thời gian mô độ xác cao Tuy nhiên nhiều hệ thống lớn, chẳng hạn hệ thống thiên thể thiên hà, việc mô hệ thống khó khăn Chính lý đó, công việc nghiên cứu, cải tiến thuật toán trình mô N-body cần thiết nhận quan tâm nhiều nhà khoa học Luận văn “Song song hóa bước biểu diễn bát phân thuật toán nhanh giải toán N-body tính toán thử nghiệm PC-Cluster” đạt số kết sau: • Trình bày nội dung toán N-body.Tìm hiểu toán N-body • Giới thiệu cách khái quát kiến trúc hệ thống tính toán song song điển hình: SMP, MPP, Hybrid MPP, số mô hình chương trình song song: SPMD, MPMD, bước thiết kế chương trình song song, hệ thống PCCluster công cụ ứng dụng song song MPI • Triển khai cài đặt môi trường song song cụm máy tính Linux gồm có máy để cài đặt thử nghiệm chương trình • Trình bày nội dung thuật toán nhanh BH, FMM (chủ yếu FMM), phương pháp xây dựng duyệt bát phân song song để áp dụng số bước giai đoạn tính lực thuật toán FMM • Khảo sát số phương pháp phân chia liệu: Spacing filling curve, ORB • Từ nội dung khảo sát, đa thực thử nghiệm số chương trình: o Mô hệ N-body sử dụng thuật toán trực tiếp (tuần tự song song) o Xây dựng bát phân o Xây dựng bát phân song song 63 Trong trình học tập thực luận văn, tìm hiều tham khảo nhiều tài liệu khoa học nội dung liên quan Tuy nhiên, thời gian trình độ thân có hạn, nên luận văn số hạn chế thiếu sót định Một số vấn đề nghiên cứu chưa giải triệt để, chẳng hạn, xây dựng bát phân song song mà chưa triển khai vào việc tính lực tương tác toán mô N-body Tôi thật mong nhận nhận xét đóng góp ý kiến quý báu chuyên môn cách trình bày thầy hội đồng nhà khoa học Hướng phát triển tiếp theo: Bài toán mô N-body ngày nhận nhiều quan tâm từ nhà nghiên cứu theo khía cạnh khoa học lẫn khía cạnh ứng dụng toán thực tế Luận văn thực việc cài đặt chương trình song song xây dựng bát phân Việc phát triển cài đặt chương trình hoàn chỉnh áp dụng phương pháp bát phân song song với cải tiến để tăng tốc phần giai đoạn tính lực kế hoạch nghiên cứu trước mắt luận văn Giai đoạn tính lực chiếm thời gian chủ yếu trình mô nên việc tăng tốc giai đoạn nhận quan tâm lớn từ trước đến Việc nghiên cứu nhằm kết hợp ba giải pháp để tăng tốc độ tính lực (giới thiệu phần 1.2) hướng nghiên cứu tiếp sau luận văn 64 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Việt Anh (2003), Xử lý song song PVM ứng dụng toán bảo mật thông tin, Luận văn tốt nghiệp cao học, Hà Nội, tr.19-50 Tiếng Anh [2] Ananth Y.Grama, Vipin Kumar, Ahmed Sameh (1994), n-Body Simulations Using Message Passing Parallel Computers, SIAM Conference on Parallel Processing, San Francisco [3] Anath Y.Grama, Vipin Kumar, and Ahmed Sameh (), Scalable Parallel Formulations of the Barners-Hut Method for n-Body Simulations [4] Andrey Omeltehenko, Timothy J Campbell, Rajiv K Kalia, Xinlian Liu, Aiichiro Nakano, Priya Vashishta (2000), Scalable I/O of large-scale molecular dynamics simulations: A data-compression algorithm, Computer Physics Communications (131), 78-85 [5] David Blackston and Torsten Suel (1997), Highly Portable and Efficient Implementations of Parallel Adaptive N-Body Methods, Proceedings of the 1997 ACM/IEEE conference on Supercomputing, 1-20 [6] David R.Helman, Joseph JáJá, David A Bader (1996), A New Deterministic Parallel Sorting Algorithm With an Experimental Evaluation, http://www.eece.unm.edu/~dbader/papers/3670.pdf [7] Lars S Nyland, Jan F.Prins, John H.Reif (1993), A Data-Parallel Implementation of the Adaptive Fast Multipole Algorithm, Presented at the 1993 DAGS/PC Symposium, Dartmouth College, Hanover, NH [8] J.Barnes and P.Hut, A hierarchical O(NlogN) force-calculation algorithm, Nature, 324, 1986 [9] J Makino, E Kokubo, T Fukushige, Performance Evaluation and Tuning of GRAPE-6-Towards 40 "Real" Tflops, Proceedings of the ACM/IEEE SC2003 65 Conference on Supercomputing, November 15 - 21, 2003, Phoenix, Arizona, USA [10] J Makino, E Kokubo, T Fukushige, H Daisaka, A 29.5 Tflops simulation of planetesimals in Uranus-Neptune region on GRAPE-6, Proceedings of the ACM/IEEE SC2002 Conference on Supercomputing, November 16-22, 2002, Baltimore, Maryland, USA [11].L.Greengard and V Rokhlin (1997), A Fast Algorithm for Particle Simulations, Journal of Computational Physics 135, 280-292 [12] Michael S.Warren and John K.Salmon (1993), A Parallel Hashed Oct-Tree NBody Algorithm¸ Proceedings of the 1993 ACM/IEEE conference on Supercomputing, 12-21 [13].Nguyen Hai Chau, Atsushi Kawai, Toshikazu Ebisuzaki, A new implementation of fast multipole algorithm on special-purpose computer MDGRAPE-2, Proceedings of Molecular simulation Society of Japan's annual meeting, Niigata, Dec 16-18, 2002, 308S (short version) [14] Nguyen Hai Chau, Atsushi Kawai, Toshikazu Ebisuzaki, Implementation of fast multipole algorithm on special-purpose computer MDGRAPE-2, Proceedings of World Multiconference on Systemics, Cybernetics and Informatics (SCI2002), July 14-18, 2002, Orlando, Florida, USA, Vol XVI, 477-481 [15] Pangfeng Liu (1994), The Parallel Implementation of N-body Algorithms, DIMACS Technical Report 94-27 [16] Peter S Pacheco (1998), A User’s Guide to MPI, http://www.rz.rwthaachen.de/computing/events/2003/mpi/Pacheco.mpi-guide.ps [17] P.M Campbell, K.D.Devine, J.E.Flasherty, L.G.Gervasio, J.D.Teresco (2003), Dynamic Octree Load Balancing Using Space-Filling Curves, http://www.cs.williams.edu/~terescoj/research/publications/octpart02/octpart0 2.pdf 66 [18] RS/6000 SP (1997), Practical MPI Programming, Yukiya Aoyama & Jun Nakano, Int’l Technical Support Organization, http://www.redbooks.ibm.com [19] Sanjeev Krishnan and Laxmikant V Kalé (1991), A Parallel Adaptive Fast Multipole Algorithm for N-body Problems, National Science Foundation grants CCR-90-07195 and CCR-91-06608, http://charm.cs.uiuc.edu/papers/FastMultipoleICPP95.pdf [20] Toshiyuky Fukshige and Junichro Makino (1996), N-body Simulation of Galaxy Formation on GRAPE-4 Special-Purpose Computer, Xiv:astroph/9612090 v1 10 Dec 1996, http://arxiv.org/PS_cache/astro-ph/pdf/9612/9612090.pdf [21] William Gropp and Ewing Lusk (1996), Installation and User’s Guide to MPICH, a Portable Implementation of MPI, Version 1.2.5, The ch_p4 device for Workstation Networks, http://www.ams.sunysb.edu/~deng/teach/ams53002/mpich.pdf [22] Yu Charlie Hu*, S Lennart Johnsson, Shang-Hua Teng (1997), A DataParallel Adaptive N-body Method, 8th SIAM Conference on Parallel Processing for Computing, http://www-sal.cs.uiuc.edu/~steng/adap.ps [23] Rajkumar Buyya (1999), High Performance Cluster Computing Programming and Applications (Volume 1) [24] Rajkumar Buyya (1999), High Performance Cluster Computing Programming and Applications (Volume 2) [25] http://www.cita.utoronto.ca/~dubinski/treecode/node8.html [26] http://www-cse.ucsd.edu/classes/fa98/cse164b/Lessons/Lec19/Lec19.html 67 [...]... song hóa thuật to n nhanh và có thể dựa tr n các ph n cứng tính to n đặc biệt Tốc độ hoạt động thuật to n đã tăng nhanh đáng kể 15 Lu n v n đi theo hướng giải quyết n y, trong đó áp dụng phương pháp xây dựng cây bát ph n song song [12] để giải quyết một ph n trong bài to n mô phong N- body trong không gian 3 chiều, cụ thể là bước duyệt cây để tính khai tri n địa phương trong thuật to n FMM N i dung chi... chi tiết nghi n cứu của lu n v n về giải pháp kết hợp có trong chương 2 và chương 3 1.3 Mô hình tính to n hình song song 1.3.1 Ki n trúc hệ thống tính to n song song Qua nhiều thế hệ khác nhau, ki n trúc máy tính cũng có nhiều cải ti n nhằm tăng sức mạnh tính to n và xử lý Cải ti n về ki n trúc nhằm tăng cường khối lượng công việc được thực hi n trong một chu kỳ lệnh, c n cải ti n về công nghệ nhằm giảm... việc tăng tốc độ tính lực cho bài to n mô phỏng N- body là một nhu cầu tất yếu 1.2 Các giải pháp tăng tốc độ tính lực cho bài to n mô phỏng N- body Với tốc độ phát tri n công nghệ nhanh chóng hi n nay, các thông tin và kết quả tính to n đưa ra càng nhanh càng tốt và tất nhi n là phải chính xác Để mô phỏng nhanh h n và chính xác h n, một số phương thức để giải quyết v n đề n y đã được đưa ra: ph n cứng đặc... quả trong việc tăng tốc độ tính lực Đây là n i dung sẽ được lu n v n áp dụng và thảo lu n trong không gian 3 chiều và sẽ được giới thiệu chi tiết ở chương 3 Xuất phát từ tư tưởng song song thuật to n tính lực trực tiếp, chúng tôi cũng đã cài đặt thử nghiệm thuật to n và song song hóa thuật to n n y để thấy rõ h n tính ưu việt của việc song song Dưới đây là tóm tắt thuật to n tính lực trực tiếp tu n tự,... mạnh tính to n của nhiều máy tính trong một mạng cục bộ đã được đưa ra và được áp dụng khá phổ bi n hi n nay Các máy tính song song không những tính to n nhanh mà c n có khả n ng chịu hỏng hóc tốt và chi phí giá thành thấp Mục tiêu của lập trình song song là t n dụng tất cả khả n ng của các VXL nhằm giảm thời gian thực hi n của chương trình Hi n nay, không có một môi trường đồng nhất về cả ph n cứng... nhiệm tách rời là ph n tích chức n ng (functional decomposition) - Truy n thông (Communications): Tập trung vào thông tin và sự hợp tác giữa các tác nhiệm được tạo trong giai đo n ph n rã Trạng thái tự nhi n của bài to n và phương pháp ph n tích xác định kiểu truy n thông giữa các tác nhiệm hợp tác n y của một chương trình song song B n kiểu truy n thông thường dùng trong lập trình song song là: local/global,... khai tri n đa cực Tương tác giữa các hạt g n nhau (trong cùng một cụm) thì tính trực tiếp Thuật to n FMM sẽ được giới thiệu chi tiết h n trong chương 2 1.2.3 Thuật to n song song Việc áp dụng thuật to n nhanh như giới thiệu ở tr n đã góp ph n tăng tốc độ tính lực khá nhiều Tuy nhi n, với những hệ l n thì công việc tính lực càng đòi hỏi nhiều thời gian do đó việc song song hóa các thuật to n tu n tự tỏ... ph n cài đặt thử nghiệm - Mô hình chương trình đa chương trình đa dữ liệu MPMD (Multiple Programs Multiple Data): dùng các chương trình khác nhau cho các ti n trình, nhưng các ti n trình cùng cộng tác để giải quyết cùng một bài to n 1.3.2 Lập trình song song, các bước thiết kế chương trình song song Không có công thức n o đ n gi n cho việc thiết kế thuật to n song song Ph n l n các bài to n lập trình... Trong ki n trúc n y, có một số mô hình chương trình như 18 - Nhiều ti n trình đ n luồng cho mỗi node: Trong mô hình n y, người lập trình có thể sử dụng các chương trình song song viết cho dạng dựa tr n ki n trúc song song dạng khối MPP Chỉ c n tăng số ti n trình tr n mỗi node cho tương ứng với số bộ VXL mà từng node đó chứa Các ti n trình chạy tr n cùng một node v n áp dụng cơ chế truy n thông điệp... gian c n thiết cho một lệnh Mặc dù hi n nay các máy tính đ n xử lý có khả n ng tính to n cao, có thể thực hi n hàng trăm triệu phép tính trong 1 giây song v n chưa đủ nhanh để phục vụ cho các bài to n đòi hỏi việc đưa ra kết quả nhanh như các bài to n ứng dụng trong các lĩnh vực Vật lý, Hóa học, Xử lý ảnh,… Sự cải ti n về kỹ thuật (ph n cứng) đều có giới h n, thật may ý tưởng về ki n trúc song song nhằm ... gồm có thuật to n nhanh, ph n cứng tính to n nhanh chuy n dụng áp dụng phương pháp tính to n song song Một số thuật to n giải to n mô đề xuất để giảm thời gian tính to n thuật to n Barnes-Hut [8][15]... cho tính to n song song trình bày Lu n v n giới thiệu số v n đề mô hình MPI Linux PC Cluster dùng để cài đặt thử nghiệm thuật to n lu n v n Chương trình bày thuật to n FMM sở cho thuật to n lu n. .. nhanh chóng nay, thông tin kết tính to n đưa nhanh tốt tất nhi n phải xác Để mô nhanh xác h n, số phương thức để giải v n đề đưa ra: ph n cứng đặc biệt, thuật to n nhanh, tính to n song song 1.2.1

Ngày đăng: 19/12/2015, 03:37

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • DANH MỤC CÁC TỪ VIẾT TẮT

  • DANH MỤC BẢNG BIỂU HÌNH VẼ

  • MỞ ĐẦU

  • 1.1. Bài toán mô phỏng N-body

  • 1.1.1. Giới thiệu

  • 1.1.2. Các bước trong quy trình giải bài toán mô phỏng N-body

  • 1.2. Các giải pháp tăng tốc độ tính lực cho bài toán mô phỏng N-body

  • 1.2.1. Phần cứng đặc biệt

  • 1.2.2. Thuật toán nhanh

  • 1.2.3. Thuật toán song song

  • 1.2.4. Giải pháp kết hợp

  • 1.3. Mô hình tính toán hình song song

  • 1.3.1. Kiến trúc hệ thống tính toán song song

  • 1.3.2. Lập trình song song, các bước thiết kế chương trình song song

  • 1.3.3. Hệ thống PC-Cluster

  • 1.3.4. Giao diện truyền thông điệp MPI

  • 2.1. Thuật toán khai triển đa cực nhanh FMM (Fast Multipole Method)

  • 2.1.1. Cơ sở vật lý và toán học

  • 2.1.2. Thuật toán FMM

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

Tài liệu liên quan