Nghiên cứu và xây dựng môi trường phát triển lập trình xử lý song song trên hệ đa xử lý supernode thư viện hàm cơ bản và một số chương trình ứng dụng

54 4 0
Nghiên cứu và xây dựng môi trường phát triển lập trình xử lý song song trên hệ đa xử lý supernode thư viện hàm cơ bản và một số chương trình ứ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

TH ¿ii ¬ hàn Củ ỦY BAN NHÂN DÂN TP.HCM SỞ KHOA HỌC CÔNG NGHỆ & MÔI TRƯỜNG THƯ VIỆN HÀM CƠ BẢN VÀ MỘT SỐ CHƯƠNG TRÌNH ỨNG DỤNG Chủ nhiệm để tài: TS NGUYEN THANH SON Tháng 08 năm 2000 MỤC LỤC le 1077 ố.Ề.Ề.Ề ` “ s Thư viện tính tốn song song dang template 1.1 Tổng quan 1.2 1.3 14 Cấu trúc thư viện Hướng dẫn lập trình Tổng kết ononseeirrieriirrrrrrirrrrmrrie Một số chương trình ứng dụng IL 2.1 Phân chia tam giác Delaunay Định nghĩa toán 2.2 Ý nghĩa toán Giải thuật tuần t Thiết kế giải thuật song song 2.3, 2.4 1H 1V Giải hệ phương trình tuyến tính 3.1 Giải hệ phương trình tuyến tính Tim mi sta sai tối ưu Mục đích việc xây dựng mã sửa sa Mã sửa sai số khác phương pháp xây dựn 4.1 4.2 4.3 Thiết kế thực thi DPPT 4.4 Kết đo đạt Supernode 5.1 5.2 Bài toán N-Body Giới thiệu toán Thiết kế thực thi DPPT 5.3 5.4 Thực thi hệ thống đa xử lý Supernode Đánh giá kết luận Bài toán xử lý ảnh Mandelbrot VI 6.1 6.2 6.3 Giới thiệu toán Thiết kế thực thi DPPT Đánh giá kết luận eeesrrrrre Những người tham gia thực để tài Hệ thống da xử lý Supernode GIỚI THIÊU song trường lập trình song mơi ng tro ng dụ sử “Nghiên cứu viện hàm cho người đặt đề tài Việc xây dựng thư cầu yêu g ữn nh ng Phần dụng cụ thể tro hệ đa xử lý Supernode" thực số ứng nh xứ lý song song người phát triển lập trì dụng hàm nhằm hỗ trợ sử h xây dựng môi trường m hà , cấu trúc liệu hiệu Các hàm g giới thiệu hàm dàn dễ h hỆ thống ứng dụng g thực dụn lập trình phát triển ứng ưu tối c vụ thiết kế cho thử nghiệm dụng, phần phụ ứng hết t bao tạo sở n bàm chưa h thư viện hàm đíc c Mụ Supemode Tuy thư việ v.v n, trậ ma trình phát phép tốn dụng xây dựng sử ời toán thường gặp ngư c đượ ng dụ u Ngoài ra, hàm ứng nhiều ứng dụng khác nha ban đâu để tập hợp ng tro g ởn hư a thừ thể thống có xây dựng ng du ứng số triển ứng dụng hệ t mộ t tiế tam giác i thiệu cách g gồm: Phân chia dụn ứng phần giớ c Cá ode ern n N-Body hệ thống Sup sửa sai tối ưu, tố cơng cụ DPPT thực mã m Tì h, tín ến ương trình delaunay, Giải hệ ph Mandelbrot phải vấn ời lập trình thường vấp ngư e od rn pe Su ng thố hệ Khi phát triển ứng dụng ang trác liệu phức tạp (m cấu ng để sau đây: sẵn cấp không cung vụ gửi nhận trận,, ) tác œ Ngơn ngữ lập trình phân, bảng băm, ma n kết, nhị động, danh sách liê ø tác vụ phân liệu dạng a để trị đòi hỏi phải có chi h o the hóa g song son thu gom liệu kết Mộtsố giải thuật trình khác tác vụ a bắn số tác vụ tính tốn ucdu cần có trình đến trình kết thúc phối liệu từ tính tốn nh trì q sau i thuật tốn song, q trình ma trận theo giả song ng g việc phát triển ứng dụ ớn hư h địn trợ hỗ h nhằm mục đíc n MPI n song song dựa nê “Thư viện xây dựng tod h tín nh trì lập n việ viện thư xây dựng Th ) TL PC (S y hệ thống Supernode Kết rar Lib mplate ma Paralle] Computing Te sách liên kết, ánh xạ h dan g, đặt tên Supernode độn g ản (m ép khử Gauss trúc đữ liệu thường gap phép tính định thức, ph n, bao gồm cấu nhâ ép ph n: trậ , thay đổi toán ma duyệt, thêm, bớt trận) số phép vụ tác g ữn nh i oà tuyến tính Ng quan đến việc trao đổi n liê vụ tác trợ giải hệ phương trình hỗ ợc cho nhiều trúc liệu đư t triển tiếp để phục vụ phá thể phần tử liệu, cấu có cịn n q trình Thư việ phần tử đữ liệu lớp toán khác ` : nh KỸ Thuật TP Hồ ChíMi c Họ i Đạ — TT CN oa Kh Hệ thống đa xử lý Supernode dạng, thể tính chất khác Các ứng dụng phát triển để tài đa toán tam lý sở liệu lớn nhu câu tính tốn Một số có nhủ cầu xử số ví dụ khác lại có nhu cầu tính tốn lớn giac delaunay hay giải phương trình tuyến tính, Mandelbrot Kết sai hay toán N-Body việc xử lý điều khiển tốn tìm mã sửa ngồi cơng cụ hệ thống tiện ích việc thu đa dạng Điều cho thấy cịn phụ thuộc hệ thống song song kết xây dựng phát triển ứng dụng tính chất tốn vào cách giải vấn để người sử dụng Chí Minh Khoa CNTT— Dai Hoc Kỹ Thuật TP Hồ Hệ thống da xổ lý Supernode I THU VIEN TEMPLATE 1.1 TÍNH TỐN SONG SONG DẠNG Tổng quan mục đích Thư viện template cho tinh todn song song (gọi tắt SPCTL) xây dựng nhằm mắng hỗ trợ cho người lập trình hệ thống Supernode cấu trúc liệu (bao gồm động, danh sách liên kết, ánh xạ ma trận) số tác vụ ma trận (phép nhân, tính định thức, phép khử Gauss, giải hệ phương trình tuyến tính) Để đạt tính tùy biến cao toàn thư viện thực dạng cdc template ngôn ngữ C++ Các cấu trúc đữ liệu mà thư viện SPCTL hỗ trợ có đặc tính sau đây: a từ Người lập trình xây dựng cấu trúc liệu từ kiểu liệu kiểu người dùng định nghĩa đổi Chúng có tác vụ để duyệt qua toàn cấu trúc đữ liệu thêm, bớt, thay phần tử liệu sang Chúng có tác vụ để gửi tồn hay phần cấu trúc đữ liệu từ rank œ gọi ia Người lập trình chia nhỏ phân phối cấu trúc đữ liệu rank (thường a_ œ rank khác rank root rank) đến rank khác thu gom phần tử liệu từ nhóm vé m6t root rank lấy định thức giải Các phép toán ma trận (bao gồm phép nhân, phép khử Gauss, phép phép toán hệ phương trình tuyến tính) thiết kế theo hướng song song Các ngữ C++ thực dang cdc template ham (function template) ngôn thư viện SPCTL 'Thư viện SPCTL xây dựng nên hàm MPI Để sử đựng kiểu liệu MPI, rank, người lập trình phải nắm vững khái niệm chuẩn MPI hướng đối tượng commaunicator, biết sử dụng ngôn ngữ C+t đặc biệt đặc điểm 12, Cấu trúc thư viện hỗ trợ việc phát triển ứng dụng Hệ thống Supernode cai dat LAM 6.1 Thư viện SPCTL template nên hệ thống Supernode ngơn ngữ C++ Vì thư viện dạng matrix.h Người lập trình phải khai bao gồm heađer file *.h: mpiobj.h, array.h, list.h, map-h, báo đường dẫn đến /ile thị #include Khoa CNTT ~ Đại Học Kỹ Thuật TP Hỗ Chí Minh Hệ thống đa xử lý Supernode thi ứng Môi trường LAM hệ thống Supemode cung cấp tiện ích để biên dịch thực sau dụng Ở nođe máy host biên dịch chương trình lệnh hcp thực thi lệnh mpirun 1.3 Hướng dẫn lập trình ngơn ngữ C++ Các cấu trúc liệu viết dạng template lớp (class template) sử dụng đặt file *.h Kiểu phần tử cấu trúc đữ liệu người } hay kiểu ngơn ngữ C++ (chat, short, int, long, float, double ứng class/struct người lập trình định nghữa Vì người lập trình phải kiểu MPI tương tạo ) (MPI_CHAR, MPI_SHORT, MPI_INT, MPI_LONG, MPI_FLOAT, MPIL DOUBLE kiểu MPI thơng qua số hàm thư viện MPI Có tất bốn class template: CArray sách liên kết, CMatrix biểu diễn ma gid ti Cd ba template ddu có hai thơng số truyền cho tác vụ thêm, bới, với kiểu khóa, thơng số khóa, giá biểu diễn mảng động, CList biểu diễn danh trận CMap biểu diễn ánh xạ cặp khóa tham số lớp cho biết kiểu phần tử liệu kiểu thay đổi Template cuối có bốn tham số lớp tương ứng trị thông số giá trị Tất class (emplate nói CMPIObject đóng gói thơng tin kiểu xác định rank, communicator chứa cấu trúc rank mà thực phân phối/thu gom xuất phát từ lớp co sé liệu MPI phần tử liệu thông tin cho biết liệu Mỗi ineiance lớp 1a CMPIObject Lớp liệu, thông tin đế đâu roøt rank — tổn tất rank tạo từ đoạn chương trình khai báo lớp sau Sơ đỗ lớp SPCTL (theo ký hiệu UML) biểu điễn hình vẽ Khoa CNTT- Đại Học Kỹ Thuật TP Hồ Chí Minh Hệ thống đa xử lý Supernode CMPIObiect # m_MPIType # m_Comm: : MPI_Datatype MPI_Comm # m_nRank: int # m_nRoot: int #m_nCommSize: int CMPIObject(mtyne: MPI_Datatype) GetMPIType( ): MPI_Datatype SetMPIType(mtype: MPI_Datatype) GetRank( ): int IsRoot( ) GetRoot( ): Ì SetRoot(int: nRoot) GetComm( }: MPI_Comm GetCommSize( ): int SetComm(int nRoot=0, MPI_Comm comm=MPI_COMM_WORLD} + SetComm(CMPIObject *other) + + + + + + + + + + TYPE: class, ARG _TYPE:class L Clist ' ' TYPE: class, ;—ARG_ ' ¡ TYPE: TYPE:class L_.}—~~ -=~—~ t TP Hồ Chí Minh Khoa CNTT~ Đại Học Kỹ Thuậ t CMatrixL _ ~ KEY: class, ARG_KEY:class, al: class, ARG_VAL:class class, ARG_TYPE:class ' ' H ¡ Hệ thống da xử lý Supernode Bản thân tác vụ gửi nhận liệu phân loại làm hai dạng: gửi/nhận phần hay toàn cấu trúc liệu rank (có thể comznunicator communicator khác nhau) phân phối/thu gom (đistribute/gather) toàn cấu trúc đữ liệu nội comnunicator chứa cấu trúc đữ liệu 143.1 Mang déng (Vector) #include “array.h” a Include file’ b Khai báo template class CArray : public CMPIObject đó: e + _TYPE kiểu phần tử ARG_TYPE kiểu thông số dùng cho tác vụ truy xuất phần tử có mang c Các tác vụ > Khởi tạo hủy bỏ mảng động CArray(MPI_Datatype type, int asize=0, int grow=0); Constructor khéi tạo mắng số phần tử số phần tử cấp phát thêm Trong ›®e asize xác định kích thước ban đầu mắng © _ grow số phần tử cấp phát dư Thông số giúp giảm thiểu số lần cấp phát động CArray phát triển « type kiểu MPI tương ứng cla TYPE Ví dụ: khai báo mảng số double CArray typedef MyAray( MPI_DOUBLE ); ~CArrayQ; Giải phóng vùng nhớ cấp phát cho tất phân tử hủy bỏ mảng > Các tác vụ cấp phát giải phóng vùng nhớ int GetSizeQ; Khoa CNTT — Dai Học Kỹ Thuật TP Hỗ Chí Minh đê thống đa xử lý Supernode Lấy số phần tử mảng có void SetSize(int asize), Đặt kích thước mắng asize Nếu không đủ nhớ, exception ENOMEM tạo Nên gọi tác vụ để cấp phát vùng nhớ cho mắng trước gọi tác vụ truy xuất void ShrinkQ; Giải phóng vùng nhớ cấp phát dư mắng void SetGrowby(int 8); Đặt số lượng phần tử cấp phát dư mảng lần cấp phát Mục đích phần làm tăng hiệu cách giảm thiểu số lần phải cấp phát lại nhớ số lượng phần tử mảng tăng lên int GetGrowbyQ; Lấy số lượng phần tử cấp phát dư mảng void RemoveAllQ; Hủy bỏ tất phân tử mảng, đặt kích thước mắng giải phóng nhớ cấp phát cho phần tử mắng > Các tác vụ truy xuất TYPE GetAt( int lọc ); Trả phần tử số loc mảng Nếu giá trị loc nằm khoảng xác định mắng exception EOUTBOUND tạo void SetAt( int loc, ARG_TYPE dat ); Đặt giá trị cho phần tử số loc mắng dat Nếu giá trị loc nằm khoảng xác định mảng excépiion EOUTBOUND tạo operator TYPE*(); Trả trổ đến vùng nhớ thực chứa phần tử Mục đích toán tử cho phép truy xuất trực tiếp phần tử CArray thông qua số void InsertAt(int index, ARG_TYPE dat, int count=1); Chèn count phân tử có giá trị dat vào vị trí index Néu index tag=0); int Send(MPI_Comm comm, int to, int start=0, int num=-1, int communicator Tác vụ cho phép gổi num phần tử vị trí start dén rank to 1a tag Trả comm Nếu num=-1 gửi tất phần tử start Thẻ mảng gởi số phần tử gửi int Send(int to, int start=0, int num=-1, int tag=0); nầy Giống tác vụ rank to nim citing communicator với mắng int Receive(MPI_Comm comm, int from, int start=0, int tag=0); comm Thé Tác vụ nhận phân tử vào vị trí start từ rank from communicator mảng gởi đến tag Trả số phần tử nhận int Receive(int from, int start=0, int tag=0); Giống tác vụ rank from nằm communicator với mắng int DistributeQ; chita mang) va Root rank chia du mang n phan (n 1a s6 rank c6 communicator rank lại phân phối phần rank khdc communicator chứa mảng Các nhận mắng gửi từ root rank Trả số phân tử phân phát cho ranÉ int GatherQ; chứa mảng Đây tác Root rank s& thu hdi mắng từ rank khdc communicator vụ ngược lại tác vụ Distribute Trả số phân tử thu hồi lại Ví dụ: gửi nhận mắng rank #include #include “array.h" void main(int argc, char **argv) { MPI_Init(&arge, &argv); int i; Khoa CNTT~ Đại Học Kỹ Thuật TP Hồ Chí Minh Hệ thống đa xử lý Supernode tương đối nhỏ Sau dùng phương pháp tổ hợp tìm mã tối ưu với chiều đài n tối ưu với chiều dài n trận hadamard mở rộng để xây dựng mã hay phương pháp sử dụng ma từ mã lớn thể dùng giải thuật sau: * Với chiều dài từ mã n tương đối nhỏ ta có Giải thuật âm mã tối ưu Cứn,q,): s: Greedy-Algorithm for finding optimize code Code-Algorithm-1 -_ Chọn từ mã ban đầu c0 ban đầu tập C rỗng - _ Tập C tập bợp từ mã mã, Ganc=c0 Đưa c vào tập C - tất từ mã tập C + l; Nếu khoảng cách c : đis(c,ci) với - Tăng c lên 1:c =oc -_ lần lặp q^n Lap lai bước c =c0 số Tập C thu tập từ mã cần tìm €) thêm c vào tập C théa diéu kién dis(c,ci) > d (Vcie 4.2.2._Code:Algorithm-2 hưởng đến 1) việc chọn từ mã ban đầu c0 ảnh Trong giải thuật (Code-Algorithm- - mã C số từ mã tìm giải thuật bất đầu khác nhau, áp dụng mã từ g nhữn tất với C mã tìm Để -_ với tất từ mã bắt đầu khác - c=0,max_N=0 - c,nếu N> max_N max_N= ngược lại lặp lại bước Tăngclên1: c=c+l, c = exit C(n,q,4) số từ mã N với từ mã bất đầu ma b6 tim dé hm-1 orit -Alg Code thuật - _ Áp dụng giải ¬ N -_ m Giá trị max_N tìm số từ mã cực đại 4.2.3 Song song hóa giải thuật Code-Algorithm-2 song hóa sau: Giải thuật Code-Algorithm-2 song thuật K nodes Số node tham gia tính tốn trong, giải g ứng với mã tối ưu thành K phần, phần tươn Chúng ta thực chia công việc tìm node tối ưu với số mã khởi đầu (startcode) mà mã tim sé i node méi với Mỗi node ¿ Hỗ Chí Minh Khoa CNTT— Đại Học Kỹ Thuật TP 39 Hà thống da xử lý Supernode node, số mã khởi đầu tăng lên K cho thực g^n /K + ¡ Với bước lập node thực thi q^n/K bước lập đến số mã khởi đầu quay trở lại Như vậy, 4.3 Thiết kế thực thi DPPT với demo theo mơ hình chế processor farm Giải thuật song song thực thành controller và.4 woker input.txt từ mã n khoảng cách d input từ file Đầu vào thông số: Cơ số q, Chiểu dài n file kq.txt kết tính tốn trả workstatio Thí dụ 363 463 Pic 1: file input.txt OptimizeCode Number process : Send and,Receive time : 0.039004 Ary Length MinimumDistance Max_number_of_code 59 Startcode code: 000011 User time = 0.030000 sec System time = 0.000000 sec Total time = 0.000000 sec Running time = 6.000000 sec OptimizeCode Chí Minh Khoa CNTT~ Đại Học Kỹ Thuật TP Hồ Bê thống da xử lý Supernode Number process : Send and Receive time : 0.057193 Ary Length MinimumDistance Max_number_of_code 292 Startcode code: 000202 User time = 0.020000 sec System time = 0.030000 sec Total time = 0.030000 sec Running time = 979.000000 sec Pic 2: file kq.txt 4.4 Kết dat trén Supernode thực hệ thống Superode cho kết * Sử dụng giải thuật song song để sau: Cơsố | (q) Chiểu | Khoảng | dàimã | cáchmã | | Speed Thời gianchạy Thời gian Số lượng từ mã tối | chạy | song song hệ máy | thống Spernode (4 da (N) (@) (d) 5 5 5 5 1019 5 6 159 3 8 3 node) (s) (s) 494 83 24 4 4 56363 23201 6065 352718 14128 148395 90613 3560 36766 4 4027 73 979 18 256 1942 52 313 69 19 584 965 373 3281 292 92 up 329 98 217520 88804 24056 41 Minh Khoa CNTT— Đại Học Kỹ Thuật TP Hà Chí Hệ thống đa xử lý Supernode * Dươi số kết thu với n nhỏ: Cơsố | Chiểu | Khoảng | Số lượng từ đàitừ | cáchmã | mã tối đa ( (qœ N) mã (n) (d) 3 2 3 li 25 149 2 | 59 3 373 3 3 v3 3281 965 ll 4 3 31 92 292 63 5 3 20 5 bị 3 313 69 256 5 52 313 1019 thu mã tối ưu chiều dài n lớn * Với kết áp dụng phương pháp tổ hợp 42 Hà Chí Minh Khoa CNTT— Đại Học Kỹ Thuật TP Hà thống đa xử lý Supernode Y Bài toán N-Body 5.1 Giới thiệu toán muốn Thực toán N-Body xuất phát từ lĩnh vực lý thiên (những nhà vật lý học có tên gọi gốc tính tốn lực để tiên đốn chuyển động hành tình) nên tốn N-Body ! Astrophysical N-Body nhiên người ta thường gọi ngắn gọn Bài tốn mơ tả sau : thién (galaxy) có hàng tỷ vật thể, vật thể có khối lượng vận tốc chuyển động riêng Giữa cặp vật thể tương ta xét đến yếu tác với lực gọi lực hấp din (gravitational force) Ở chúng ảnh tố lực hấp dẫn bổ qua yếu tố khác (như va chạm vật thể chẳng hạn) Dưới vụ hướng lực vật thể bị thay đổi vận tốc hướng chuyển động Nhiệm vật thể tiên đoán trạng thái (vị trí, vận tốc) vật thể thiên hà có N với khối lượng, vận tốc vị trí vật thể biết trước thể Lúc Để thấy phức tạp toán giả sử thiên hà có N vật ta cần tính vật thể chịu tác động N-1 lực hấp dẫn từ vật thể khác Vậy chúng hợp (do N-1 toán N(N-1/2 lực cho vật thể (có thể coi ~N† N đủ lớn) Với lực tổng tiếp tục tốn tính vật thể khác gây ra) vật thể chuyển động có vị trí mới, việc ? Giả lặp lại, Nếu N lớn cơng việc tính tốn diễn cần xấp xỈ 10” lực sử thiên hà có N=10'" vật thể (ngơi sao, hành tỉnh, ) lực tính cần tính tốn Để cho đơn giản gọi tính tốn để tìm nhiều lần tính tốn tốn Như có khoảng 10” tính tốn cần thực phải lặp lại tính tốn cho N vật (*) !†t Người ta tìm thuật giải khác cân Nlog2N thể lúc số tính tốn 10" Jog 10"! (**) với tính tốn Giả sử dùng máy tính bình thường để giải tốn trường hợp (*) (gồm vài phép nhân chia) tốn khoảng 105s (=lus) khoảng tháng (nhớ khoảng gần 10” năm cho lần lặp trường hợp (**) vậy) Những số cho lần lặp, toán cần nhiều lần lặp thể chấp nhận ! biểu diễn thời gian lớn cho ứng dụng nên khơng tính tốn cho nhiều Chính người ta nghĩ thuật giải để phân chia tới mức chấp nhận máy tính đơng thời xử lý nhằm giảm bớt thời gian tính tốn xuống tế, nên xem Để thấy ý nghĩa quan trọng toán thực toán ảnh hưởng lực tĩnh qua biến thể toán ứng dụng khác tính 43 Khoa CNTT ~ Đại Học Kỹ Thuật TP Hỗ Chí Minh Hệ thống da xit lý Supernode g có lực đẩy lực hú, tác động điện Coulomb lên vật thể/hạt mang điện (nhưn g ống dẫn làm thay đổi áp suất, [25] phân tử chất lỏng lưu thông đườn lớn nên chương trình minh hoạ cho DPPT Đây tốn có ý nghĩa thực tiễn lợi trình minh hoạ cho công cụ DPPT để thấy (đemo) dừng lại mức độ chương Chính lý sử dụng giải bãi toán điểm dùng DPPT hỗ trợ cho người hành cho tốn N-Body hoạ chuyển động nên chương trình đemo mặt trời hành tỉnh quay xung quanh nó) tỉnh thái dương hệ (gồm đưa công thức tính tốn cụ thể Trong phẩn thiết kế thực thi mục sau Supernode xử lý song song cho toán thuật giải phân chia để 5,2, Thiết kế thực thị DPET thực (khối lượng, vận tốc hành tính) lấy Chương trình tính tốn với số liệu thể đổ hoạ không gian từ internet tính tốn khơng gian chiêu chiêu cho đơn giản với khối lượng vector vi trí tương ứng Bây giả sử có hai vật thé A B vẽ lên lực có phương chiều hình mA, mB va pA, pB Hai vật thể tác động 5.1: F + ®# ee Hình 5.1 vị tr: sau (chú ý pA, pB vector Fé day vector lực Ta có cơng thức tính -~~-r~~~”— E=-G.mA.mB -— ,p2) G số hấp din G=6.67 x 1011 Ở IIpll = sart(px” + py” + pz?) với p=(px,py h Khoa CNTT~ Đại Học Kỹ Thuật TP Hơ Chí Min Hệ thống đa xử lý Supernode hợp lực nhiều Trong hệ thống có nhiều vật thể lực tác động lên vật thể lực lên vật thể Fs lực, từ vật thể khác tác động lên Theo định luật Newton, hợp ta có : Ở m khối lượng vật thể Fs =m.a : Như hệ thống có n vật thể có cơng thức sau Trong : nịj : khối lượng vật thể ai(Ð : gia tốc vật thể thời điểm t vi(t) : vận tốc vật thé thời điểm t pi() : vị trí vật thể thời điểm t dt: delta t (khoảng thời gian lần lặp) Thực thi hệ thống đa xử lý Supernode 5.3, le — particle methods” vi suf tinh Cách tính tốn trình bày gọi “partic cho N vật thể toán lực cho cặp vật thể Độ phức tạp thuật giải O(N’) tạp thời gian O(N?/p) p Ở trình bày thuật giải song song mà độ phức cho node tính tốn cấu processors Đầu tiên cấu hình hệ thống Supernode vật thể (hay nói cách khác hình có dạng topology dạng vịng (ring topology) Vị trí tính sau : di chuyển chúng) sau khoảng thời gian đ/ được chia lúc đâu, gọi Mỗi node khởi tạo vector lực vật thể (mà tác vật thể vật thể cục - local) 0, Sau tính tốn lực tương vector lực vật local mà giữ cập nhật thơng tin lực vào 2, thể tương ứng đệm (buffer) bao gồm Mỗi node chép thơng tìn vật thể local vào Lặp lại công việc sau [(p-1/2] lần : vector lực vật thể 45 Khoa CNTT— Đại Học Kỹ Thuật TP Hé Chi Minh Hệ thống đa xử lý Supernode › ive thể local buffer vừa rece Tính tốn lực tương tác vật thể : local nhật vector lực cho tập vật từ node kể trước nói cập buffer ring (thực phải local tới node đối dién Send buffer chứa vật thể khơng ban đầu) trổ lại node mà gửi dối điện ring gửi tới cộng với node thể vật tin g thôn Receive vector lực local lưu node tao ra) cần node với số trình MPI Nếu số nodc số chấn (giả sử sé ện tính tốn cho receive hồn tất chuy va send lần thêm làm phải (-1) tác vật thể node(i) va node lực, không lực hấp dẫn tương node(i+1) thêm node ké sau node(i) 1a chưa tính tốn ý vẽ lại nodes thuật giải Với hệ thống Supernode gồm có : cách logic hình vế 5.2 sau o Hình 5.2: Thiết kế cho chương trình dem bước cho việc truyền data bước (và thể đặc tên mũi hình kết liên Các cho việc truyền nhận data chấm chấm đại diện vị số node chẩn) liên kết có dạng lần lẫn lặp cho đơn thí thực 4, bước Các bước [(p-1)/2] công việc bước lam trình bày) cịn dt thời gian (như thuật giải lan g Supernode hành ng trình thực thi hệ thốn chươ ảnh hình 14 5.3 Hình tỉnh quay xung quanh mặt trời ) thái thức thiên văn học (và số liệu thực tế kiến c thuộ điều m thê ý số Ở cần (satellites) hành tỉnh, hành tỉnh với 66 vệ tỉnh dương hệ gồm mặt trời hành tỉnh chia làm tinh (asteroid) Mặt trời lớn chổi (comet) hành c “inner gồm hành tính thuộ thứ Loại g chún trí vị vào c bai loại phụ thuộ trái dat (Earth) va hoa thuỷ (Mercury), kim (Venus), , Sun) ( trời mặt em”: syst thuộc solar Loại thứ hai gồm hành tỉnh trời mặt gần nằm tỉnh (Mars) hành 46 TP Hà Chí Minh Khoa CNTT - Đại Học Kỹ Thuật Hệ thống đa xử lý Supernode “outer solar system” gdm: mộc (Jupiter), thổ (Saturn), thiên vương (Uranus), hải vương (Neptune) điêm vương (Pluto) Khoảng cách loại thứ hai tới mặt trời lớn nhiều lần loại thứ nên hiển thị lúc hành tính mặt trời hình đổ hoạ (tất nhiên theo tỷ lệ đúng) không không thấy rõ chuyển động hành tỉnh thuộc loại thứ Chính lý này, chương trình demo lựa chọn hành tỉnh thuộc nhóm để hiển thị Hình 5.3: 5.4 Một hình ảnh chay demo bai toán N-Body Đánh giá kết ln Bài tốn n-body có lợi song song hố số body N đủ lớn ! Ở N=10, ví dụ ot có ý nghĩa demo cho chức DPPT chính, ví dụ xử lý ảnh mandelbr chương 16 đưa đánh giá số liệu cụ thể AT Khoa CNTT~— Đại Học Kỹ Thuật TP Hơ Chí Minh Hệ thống đa xử lý Supernode VI Bai todn xử lý anh Mandelbrot 6.1, _ Giới thiệu toán cơng Chương trình ví dụ họa cho cách sử dụng chức cụ DPPT Để thấy rõ điều xem qua xét điểm c=x+iy (với ï*= -1) mặt phẳng phức đãy thành cách lặp lại hàm “bình phương số trước cộng c” d¿=0+i0 vài giá trị tạo mơ hình tốn học tốn : số phức d0,d1, hình tức d,=d,.ˆ+c Tiến trình dãy số : dị =c dạ=cl+e d;=(C+cP +e dalercrrcPte tuyệt đối số Sau hình thành nén day f0,f1,f2, cách lấy giá trị dãy fk (với k=0,1, ) phức dk : fk=l dk Ì Với mi diém (x,y) biểu điễn c=x+iy ta muốn tính xem lặp lại cơng việc tính tốn có lớn ngẫu nhiên hay khơng ? Trên máy tính , ta biết kết số lần hữu hạn (ví dụ N=1000 lần chẳng hạn) chúng Lúc điểm (x,y) lý thuyết số phức fk>2 fk tăng khơng bị chặn khơng thuộc tập Mandelbrot máy tính Để làm việc Giả sử nhiệm vụ ta phải vẽ ảnh Mandetbrot nhiên có nhiều viết chương trình cho chạy máy đơn kích thước lớn máy phép tốn với số thực cẩn phải xử lý nên ảnh Mandelbrot có 1000x800) Để giảm bớt thời tính cđạy chậm (trong chương trinh demo ảnh có kích thước thành n phần nhỏ gian thực thi chương trình “chia” ảnh Mandelbrot nhiên sau phân chia giao phần nhỏ cho nodes xử lý (tính tốn) Tuy phẩn nhỏ (những nhiều vấn để lại nẩy sinh để quản lý hệ thống tốn nhỏ) chúng xử lý đồng thời nhiều nodes khác va vấn để trao đổi liệu để Supemode, nodes xử ly phan | , nodes nao xit ly phdn 2, Hỗ trợ DPPT, công việc tạo kết cuối tiến hành ? Với đích giúp cho chương trình (cơng sức) giảm di dang kể để đạt mục chạy nhanh DPPT Ti thi tivi k thực VN UỤC kế VÀ Thiết RỂ 6.2 THIẾU Ô.¿ lý song song cơng việc tính Bài tốn xử lý ảnh mandelbrot thích hợp cho việc xử Thuật giải để song song hố nhằm tốn phân chia nhỏ độc lập với 48 Khoa CNTT — Dai Học Kỹ Thuật TP Hồ Chí Minh Hệ thống da xử lý Supernode gọi phương xử lý ảnh mandelbrot nhanh hệ thống Supernode demo ors farm) Đặc tính pháp tiếp cận work pool xử lý song song (đôi gọi process giao cho nodes phương pháp dynamic task assignment: cơng việc tính tốn cơng việc trước hồn thành process chay Trong m6 hinh cé mgt master process hay nhiều slaves (ở 1000x800) Mỗi slave nodes Anh mandelbrot ma chting ta cần xử lý có kích thước mxn master tiếp tục giao cho giao cho xử lý phần nhỏ ảnh xong phác hoạ lại qua slave 46 phân ảnh khác ảnh chưa xử lý xong Mơ hình hình 6.1 hình có dạng tương Ảnh mandelbrot sau nodes xử lý xong hiển thị tự hình 6.2 Hình 6.1L: Mơ hình work pool xử lý ảnh mandelbrot DPPT người lập trình Ở muốn nhấn mạnh điều có hỗ trợ ứng dụng như: đưa chương trình xử lý thuận lợi việc quản lý le chương trình, soạn thảo source code toán nhỏ lên nodes (máy tính) khác nhau, compi riêng biệt (dạng MPMD xử cho chương trình, chạy ứng dụng gồm nhiều chương trình chương trình có lỗi cần sửa lý song song) nhiều nodes khác nhau, trace tng dung, lập trình g trình Với DPPT, nhà đổi lại phải lặp lại bước sau sửa chươn DPPT công việc cần vài thao tác với chuột giao diện đỗ họa giải xong ! 49 Khoa CNTT~ Đại Học Kỹ Thuật TP Hồ Chí Minh Hệ thống đa xử lý Supernode Hình 6.2: Mandelbrot Set Đánh giá kết luân 6.3 lbrot cho thấy số lần lặp N Đánh giá mặt lý thuyết toán xử lý ảnh mande master process) đủ lớn thi speedup = số node —1 (vì mét node chay để xử lý toán với hỗ trợ Sau số liệu thực đùng hệ thống Supernode nodes có cấu hình giống DPPT ảnh mandelbrot có kích thước 1000x800 Các 143Mhz, Monitor Host máy Sun sau : Intel CPU 233Mhz, 32MB Ram, 2GB Hard Disk 256 MB Ram, 8GB Hard Disk STT N 1000 Số node (slave) Sử dụng node thuật giải bình thường 30s 225 37s 29s 29s 30s 32s 30s 31s 20s 215 21s 21s 21s 22s 36s 37s 57s 56s 56s 57s 31s 21s 56 s 50 Khoa CNTT - Dai Hoc K§ Thugt TP Hồ Chí Minh Hệ thống da xử lý Supernode NHỮNG NGƯỜI THAM GIÁ THỰC HIỆN ĐỀ TÀI - TS Nguyén Thanh Sen Khoa Công Nghệ Thông Tìn, Đại Học Kỹ Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hỗ Chí Minh Email: sonsys@dit.hcmut.edu.vn Tel: 8658689 - Fax: 8645137 KS Thoai Nam Khoa Công Nghệ Thông Tin, Đại Học Kỹ Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hồ Chí Minh Email: nam@dit.hcmut.edu.vn Tel: 8658689 - Fax: 8645137 KS Hoang Duc Minh Khoa Công Nghệ Thông Tin, Đại Học Kỹ Thuật TP HCM 26? Lý Thường Kiệt Q10 TP Hồ Chí Minh - KS, Dang Trén Khánh Khoa Cơng Nghệ Thơng Tin, Dai Hoc K¥ Thuat ‘TP HCM 268 Lý Thường Kiệt Q10 TP Hô Chí Minh - _ KS Trương Hồng Lĩnh Khoa Cơng Nghệ Thông Tin, Đại Học Kỹ Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hỗ Chí Minh Email: thinh@dit.hcmut.edu.vn Fax: 8645137 Tel: 8658689 - _ KS Hồ Quốc Thuần Khoa Công Nghệ Thông Tin, Đại Học Kỹ Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hé Chi Minh Email: hqthuan@dit.hemut.edu.vn Fax: 8645137 Tel: 8658689 - KS.Lé Lam Son Khoa Công Nghệ Thông Tin, Đại Học Kỹ 'Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hồ Chí Minh Email: lIson@dit.hemut.edu.vn Fax: 8645137 Tel: 8658689 Khoa CNTT— Đại Học Kỹ Thuật TP Hồ Chí Minh Hệ thống xử lý Supernode - K§.Lê Nam Hiến Khoa Cơng Nghệ Thơng Tìn, Đại Học Kỹ 'Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hồ Chí Minh - KS Ha Hoai Phuong Khoa Công Nghệ Thông Tin, Đại Học Kỹ “Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hồ Chí Minh Email: bhphuong @dit.hemut.edu.vn Fax: 8645137 Tel: 8658689 - KS Ngé Huy Hoang Khoa Công Nghệ Thông Tin, Đại Học Kỹ Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hồ Chí Minh Email: hoang @dit.hcmut.edu.vn Tel: 8658689 - Fax: 8645137 KS Nguyén Cao Dat Khoa Công Nghệ Thông Tin, Đại Học Kỹ Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hồ Chí Minh Email: ncdat@dit-hemut.edu.vn Fax: 8645137 Tel: 8658689 - KS Nguyén Tuan Anh - KS Trén Van Hoai Khoa Cơng Nghệ Thơng Tìn, Đại Học Kỹ Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hồ Chí Minh Khoa Cơng Nghệ Thơng Tìn, Đại Học Kỹ Thuật TP HCM 268 Lý Thường Kiệt Q10 TP Hỗ Chí Minh Khoa CNTT~ Đại Học Kỹ Thuật TP Hồ Chí Minh

Ngày đăng: 06/10/2023, 12:08

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

Tài liệu liên quan