Các chiến lược song song hóa thuật toán tuần tự

11 12 0
Các chiến lược song song hóa thuật toán tuần tự

Đ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

ĨA P C H I K H O A H O C Đ H Q G H N KHTN & CN ĩ XIX N,4 2003 CÁC C H IẾ N LƯỢC SO N G SO N G HÓA T H U Ậ T TO ÁN T U Â N T ự N g u v ề n V iệt A nh Khoa Công N ghệ, Đ H Q G H N P h m T r ầ n N hu Viện Còng N ghệ Thòng tin, T T K H T N QG Tóm tắt: Trong nhiều (‘hiên lược song song hố thuột tốn tn tự cố ba chiến lược thiết kẻ chương trinh song song tương đối phó biến song song hoá kết q u s o n g s o n g h o đ i d iệ n v s o n g s o n g h o c h u y ê n b iệ t T h ò n g th n g đ ể song song hoá toán chi sử d ụn g tro n g ba ch iến lược th iế t ké nèu trê n B i b o n y sẻ p h â n tíc h vã so s n h c c h t iế p c ặ n n y tr o n p m ỏ i tr n g Parallel Virtual Machine (PVM) tốn sinh sơ ngun tị MỜ d ầ u Trong nhiều chiến lược khác n h au để song song hoá th u ậ t toán tu ầ n tự có ba chiến lược th iế t kẻ chương trình song song tương đối phố biến song song hoá kết quả, so n g song hoá dại diện song song hoá c h u y ên biệt M ỈỊC dù, t r o n g t n g hài toán cụ th ể việc kết hợp chiến lược thiết kẽ cho ta kết th ú vị, song thông thường tuỳ thuộc tính chất tốn chiến lược th iết kế th u ậ t toán song song chọn nhàm đ ạt hiệu cao Trong phẩn đầu chúng tơi trìn h bày ba chiến lược thiết kế nêu P h ần thứ hai chúng tơi trìn h bày mơi trường Parallel V irtual M achine (PVM) dùng trìn h thứ nghiệm tốn sinh sơ ngun tơ tronK th u ậ t toán mã hoá RSA Tiếp theo chúng tơi tr ìn h bày sơ thư nghiệm kêt C c c h i ê n lư ợ c s o n g s o n g h o p h ổ b iế n l ỉ Song song hoá hết Việc phân loại chiến lược t hiết kế th u ậ t toán song song phụ thuộc vào tính chất tốn Song song hố kết (xem [ ]) chế tính tốn song song tập tru n g trê n toàn hộ liệu hài toán Mồi xử lý cho phần kết toán xử lý hoạt động song song cho phần việc thự c độc lập tơi đa Sau phán việc hoàn th àn h , công đoạn cuôi kết hợp th n h phần để dược kết quà hoàn chỉnh Các lớp toán chia -để - trị bảng đen (trong hệ chuyên gia) lơi - lặp (iterative relaxtion) thường sử dụng chiến lược song song hoá kết quà dẻ thiết kê chương trìn h song song Mỗi tốn lớp toán chia-để -trị (xem Ị2 Ị) thường chia thành toán th n h phần Mỏi toán th n h phần giải độc lập kết cuối két hợp kết cùa toán th n h phần 73 N guyền Việt Arỉhy P h m Trần Nhu 74 T rong hộ thống bảng đen (xem [3]) cấu trúc liệu th ể mơ hình tính tốn Mỗi xử lý độc lập có trách nhiệm quản lý, kiểm tra tr n g thái thời cập n h ậ t cần T rong Idi - lặp (xem Ị4Ị) người ta chia không gian liệu th n h vùng có quan hệ láng giềng, vùng hay nhiều vi xử lý đảm nhiệm Mỗi vi xử lý đảm trách công việc theo vùng song song cần có truyền thơng điệp với láng giềng Việc th iế t k ế chương trìn h theo chiến lược song song hố k ế t thơng qua nảm giai đoạn Giai đoạn đầu cần phải mô hình kết qua d n g cấu trúc liệu gồm nhiều th n h phần, đồng thòi xác định phụ thuộc chúng Giai đoạn hai, p h ân mồi xử lý đàm nhiệm công việc cho hay nhiều th n h phẩn việc phản chia phải bảo đàm vấn đề hiệu s u ấ t xừ lý Giai đoạn ba, xác định nguồn tài nguyên cần thiết để thực việc tín h tốn th n h phần Bước xác đ ịn h cách lấy giá trị kết th n h p h ần thực xứ lý song song Cuối cùng, giai đoạn kết hợp kết th n h phần đê két toán kết thúc xử lý 1.2 Song song hoá dai diên T h iế t kê chương trìn h theo chẽ song song hố đại diện xác định cụ thể cơng việc phải thực để song song hoá Như vậy, để giải hài tốn có nhiều cơng đoạn, cơng đoạn bải tốn giải song song hồn th n h cơng đoạn cơng đoạn thực tương tự toán dược giải Các mơ hình chiến lược chủ - tớ, tính tốn * tơng hợp • tru y ền thỏng T rong mơ hình chũ - tớ (xem |4Ị) toán cần giải dược chia th n h vấn để phụ thuộc lẳn Các xử lý đóng vai trị tớ mơ hình có nhiệm vụ xứ lý vấn để chúng điểu phối xử lý đóng vai trị chủ Khác với phương pháp chia * đẻ • trị, vấn đê ỏ đáy không n h ấ t th iết tiến hành giải quyết, mà có th ể giai song song cách tu ầ n tự T rong mơ hình tính tốn • tổng hợp - tru y ền thông (xem [2 ]) th iế t kẽ bao gồm tftì giai đoạn Giai đoạn tính tốn thực tính tốn bán có tính chất cục giai đoạn tổng hợp kết hựp liệu cục th n h liệu tồn cục, giai đoạn truyền th n g trả lại thơng tin tồn cục cho xử lý Việc thiết k ế chường trình theo chiến lược song song hoá đại diện thực th ô n g qua giai đoạn Giai đoạn đầu xác định công việc cẩn phải thực hỏi xù lý Trong giai đoạn cần phái xác định hộ xử lý đỏng vai trị điếu khiển cơng việc.Cuối cần phỉii nhận biét két cịng việc 1.3 Song song hố chuyén biệt Trong chiến lược song song hoá chuyên biệt, tốn cần giải bao gồm nhiêu cơng việc, cơng việc có đặc thù riêng giao cho xứ lý chuyên Các chiên lược song soììịỊ hỗ t h u ậ t tốn tu ầ n tự (lụnự Ngồi r;i hộ tlìơnn can xữ lý giừ vai trị agent, điểu phơi q trìn h thực cơng việc TroĩìỊí cơng việc đặc thù, phần việc nhò hờn (lược thực s o n g s o n g S a u k h i rác- p h a n v iệ c n y h o n t h n h , c ầ n t i ê n h n h “ p h ô i h d p ” c c k é t q u a d é h o n t h n h c ô n g v iệ c Một sơ mơ hinh thưịng gặp tron ) ( bufid = pvm recv (-1,-1); pvn bufinfo(bufid,í.msglength,&msgtag,&msgsrc); SWItch(msgtag) { case REQƯESTTAG : pvrr initsend (PvmDataRaw) ; p vm_pkint (ốallocated, 1, 1); p v m s e n d ( m s g s rc, 2); if (aliocated < MAX) aliocated ôã= 100; else halted++; b reak ; case RESULTTAG : // Nhân liêu pvm u n p k i n t (& fro m , pvm_unpkint (&upto, if ((from < upto) 1, ); 1, 1); && (upto < M A X ) ) p v m u n p k i n t ( (ikq) + from, break; from - upto ♦ 1, 1); }; } // Hiển thị két for(int i - ; i < MAX; i++) if (kqị i) ) print f (•• *d ", i); p v m _ e x i t (); e x i t (0); I Đối với tiến trin h con, thực kiêm tra số nguyên tố, sau kiểm tra xong gửi kết cho tiến trìn h cha nhặn phần tử đê thực #đefine TRƯE #đefine FAL5 E void ma i n () ( int ptid, num, kqt 100] ,dum, task_end, i ; 80 Nguyền Việt Anh, P h m Trần N h u irkt task_start = ; •ptid * p v m _ p a r e n t (); wh il e (task_start < MAX) I // Gửi yêu cáu nhân’ số để kiểm tra pvm_initsend(PvmDataRaw); p v m _ p k i n t (& d u m , 1, 1); pvm_send(ptid, 1); p v m _ r e c v ( p t i d , 2); p v m _ u p k in t(&t a s k _ s t a r t , , ); if (task_start MAX) ta&k end = MAX; for (num= task_start; num < task_end; num++Ị ì kqt num - task_start] = TRƯE; i = 2; while (kq( num - task_start) && (i < sqrt (num))) ((num % i) != 0) ; { kq[ num - task_start] &&= i++ ; } } // Gửi kết cho tiến trinh cha pvm _i ni ts en d (PvmDataRaw) ; pvm_pkint (&t a sk _s ta rt , 1, 1); pvm_pkint (írtaskend, 1, 1); pvm_pkint (kq, task_end - task_start + 1, p vm_send (ptid, > ; 1); } ì pvTĩì_exi t ( ) ; e x i t ( ); J 3.3 S d ụ n g chiến lược song song hoá chuyên biệt T rong chiến lược này, chúng tơi khởi tạo tiến trìn h kiểm tra sơ ngun tơ Các sơ tiến trìn h chuyển cho tiến trìn h để kiểm tra Nếu sơ" khơng phải số ngun tố, tiến trìn h tiếp tục kiểm tra số tiếp theo, số số nguyên t ố tiến trìn h khác chưa kiểm tra số kết nạp sơ vào tập kết Nếu có tiến trìn h khác chọn số đó, tiến trình sè tiếp tục kiểm tra làm với tiến trìn h trước Các chiến lược SÌẶ * sim Ị* ho th u ậ t to n tuấn tư 81 #de f 1ne MAX 1000 00 ideíine TP.UE Ideíine F A L K void ma i n () { ìnt kqt MAXI / t i‘1,nuro, i ; {void) p v m rnyt 1ri () ; //Khời t.ao tiến trinh (V' : ỉ) pvm _ ■Ị1;IWỈI (" rv-Ịuyento" , (char* * )0 /0 ,"" , , & tid); for (num - ; nurnbor

Ngày đăng: 18/03/2021, 10:36

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

Tài liệu liên quan