1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số

63 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Giải song song các bài toán có mô hình toán học là các hệ phương trình đạo hàm riêng bằng phương pháp số
Tác giả Phùng Thị Hoàng
Người hướng dẫn Ts. Vũ Văn Thiệu
Trường học Trường Đại học Bách khoa Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2015
Thành phố Hà Nội
Định dạng
Số trang 63
Dung lượng 2,33 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các hệ thống nảy thường bao gồm nhiều bộ vi xử lý CPU kết nổi với nhau theo một câu hình nhật định, sử dụng các công cụ phản mềm quản lý giao tiếp phủ hợp, Mặc dù các nguyên lý cơ bản

Trang 1

TRƯỜNG ĐẠI HỌC BÁCTI KHOA IIÀ NỘI

PHỦNG TI] HIOÀNG

GIAI SONG SONG CAC BAI TOÁN CÓ MÔ IÌNI TOÁN HỌC

LÀ CÁC IIE PHƯƠNG TRINII BAO IIAM RIENG

BẰNG PHƯƠNG PHÁP SÓ

Chuyên ngành: CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ KỸ THUẬT

CÔNG NGIIE THONG TIN

NGƯỜI HƯỚNG DẪN

Ts VU VAN THIEU

Ha ndi - 2015

Trang 2

luận văn thạc sĩ nảy do tôi nghiên cửu và thực hiện dưới sự hướng dẫn

của thầy giáo 7 Vỡ văn Thiệu Đề hoàn thành luận văn này, ngoài các tài liệu tham khảo đã liệt kê, tôi cam đoan không sao chép toàn văn các công trình hoặc thiết kế tốt nghiệp của người khác

Tác giả luận văn

Phùng Thị Hoàng

Trang 3

DANH MỤC CÁC THUẬT NGŨ VIÊT T

Chương 2: Cơ sở lý thuy

2.1 Phương pháp số giải hệ phương trình PDEs

2.2 Mô hình lập trình song sơng SPMD

2.3.2 Các khái niệm cơ bản của MPI 8

3.1.Giới thiệu bài toán Heat Iiqualiows ìàccecoeeccvee seen 2E

3.2 Phương pháp số giải bài toán Heat Equations - - 3

4.2.1 Phương pháp rời rac hóa theo không gian 23 3.32 Phương pháp tích hợp theo thời gian - - 25

3.3.1 Cài đặt hàm rời rạc theo không gian - 26

3.3.2 Cải đặt hàm tích hợp theo thời gian - 29

Chương 4: Phân tích sự phụ thuộc dữ liệu, thiết kể giải thưậttruyền thông và cài

đặt chương trình song song

4.1 Phân tích sự phụ thuộc đữ liệu

Chương 5: Chạy thứ nghiệm chương trình và đánh giá kết quả

5,1 Hệ thông tính toán sơng Song cu oeiniereririrresirsesseoee4L

Trang 4

TAI LIEU THAM KHAO

PHU LUC

Trang 5

Parlial Differential Equations

Central Processing Unit Random Access Memory

Single Program Multiple Data Message Passing Tnterface

Trang 6

1 |Hình2l | Mêhinhlập trinhseng song SPMD 6

5 | Hinh3.3 Chia miễn tính toán thánh một lưới điển 24

9 |Hinh42 Gti dif ligu dau vao tir Root dén các CPU 33

13 | Hinh 4.4 Giũi kết quả tỉnh toán về Root 39

Trang 7

Các kiểu dữ liệu MPI

Cáo hẳn tính toán của MPT Các hàm phỏ biển của MPI Thông số cơ bản của máy lính trạm T7610 Thời gian chạy chương trình Ở và MPI (ms) Thời gián chạy chương trình MPI với NP kháo nhau

Trang 8

pháp số trên nên tảng siêu máy tính, cluster, hoặc grid.Bải toán cụ thể được trình bay

là bãi toàn phương trình truyền riưệi

Tauận văn được hoàn thành đưới sự hưởng dẫn của thầy giáo T8 Vø Văn Thiệu lim xin được bảy tố lòng cám ơn chân thành nhảt tới Thấy đã nhiệt tỉnh giúp đổ và

Trang 9

trong ngành khoa học vật liệu, vật ly

Có rất nhiều bài toán trong thực tế có mô hình toán học là các hệ phương trình dao ham riêng có khối lượng tỉnh toán rất lớn vả/hoặc yêu cầu được xử lý trong một

khoảng thời gian nhất định Ví dụ như các bai toan dự bảo thời tiết, dự bảo báo, dự báo

lũ lụt sóng thân; bải toán mô phỏng các hệ sinh thai biển; bải toán mô hình phát triển vỉ

sinh vat; bai toán mô phỏng khi động lực học Thông thường các bài toán có khối lượng tỉnh toán lớn trên được xử lỷ song song trên các (hệ thông) mảy tính có khả năng,

tỉnh toán cao như các siêu máy tính, cluster, grid Các hệ thống nảy thường bao gồm

nhiều bộ vi xử lý (CPU) kết nổi với nhau theo một câu hình nhật định, sử dụng các

công cụ (phản mềm) quản lý giao tiếp phủ hợp,

Mặc dù các nguyên lý cơ bản của tính toán song song rất rõ ràng, nhưng việc xây dựng các chương trình xử lý song song thường phức tạp vả tôn nhiều thời gian, đặc

biệt là các chương trình song song giải các bải toán phức tạp

Rất khó có thể tìm được nghiệm chỉnh xác của các hệ phương trình dao ham

riêng PDEs.Thông thường người ta sẽ dủng phương pháp s6 (Numerical Method) dé

giải các hệ phương trình PDEs.Theo cách này, miễn tính toán của bài toán (Domain) được chia thành một lưới điểm Các hàm, đạo hàm, ., được tính toán một cách rời rac tại từng điểm lưới Đề tỉnh đạo ham ta cỏ thể đủng một số phương pháp như sai phân thuận, sai phần ngược, sai phân trung tâm Các phương pháp nảy yêu cầu thông tin

Hoe viên: Phùng Thị Hoàng 1 Luận vẫn thạc sĩ

Trang 10

(dữ liệu) bỏ sung từ các điểm lưới xung quanh đề tính toán đạo hàm tại một điểm lưới

Người ta gọi vẫn đẻ này là sự phụ thuộc dữ liêu trong tinh toan

Trongmột chương trình tuân tự thực hiện trên một CPU, tất cả dữ liệu được lưu trong củng một bộ nhở nên chúng ta không cần quan tâm đến vân đẻ phụ thuộc dữ liệu

Trên hệ thống máy tính song song cỏ bộ nhở phân tản, mỗi CPU cỏ một bộ nhở

riêng.CPU này không thể truy cập dữ liệu trên bộ nhớ của CPU khác

Trong mét chuong trinh song song SPMD (Single Program Multiple Data) hay con goi là mô hình lập trình song song Domain decomposition (Phân chia mien tinh

toán), miền tỉnh toán của bài toán (đomain) được chia thành các miền con (subdomain)

Môi miễn con được gán cho một CPU Do các CPU không thẻ truy cập bộ nhớ của nhau, nên nêu có sự phụ thuộc dữ liêu trong tỉnh toán thì cân phải truyền thông giữa các CPU Cụ thể hơn, nếu việc tỉnh toán trên CPU A cần dữ liệu lưu trữ trong bộ nhớ riêng của CPU B, CPU B sẽ gửi và CPU A sẽ nhận dữ liệu này Tiển trình đỏ gọi là truyền thông

Việc cải đặt một chương trình song song cỏ sự phụ thuộc dữ liệu rất phức tạp,

bởi vi, trước hết chủng ta phải xác định được đữ liệu phụ thuộc (hay dữ liệu cân truyền

thông), lưu dữ liêu cần truyền thông vào các biên, sau đó thiết kẻ một giải thuật truyền

thông phủ hợp, cuối cùng sử dụng dữ liệu thu được một cách chính xác

Chính vì vậy, trong luận văn này tôi sẽ nghiên cứu và trình bảy thuật toán song song giải bài toán có mô hình toán học là phương trình đạo hàm riêng bằng phương pháp số trên nên tảng siêu máy tỉnh, cluster, hoặc grid.Trước tiên tôi tìm hiểu các phương pháp số giải hệ phương trình đạo hảm riêng, sau đỏ sẽ đi sâu nghiên cửu và đưa ra giải pháp đề xây dưng các chương trình tính toản song song cho bai toan trên Cuối cùng tôi sẽ áp dụng xây dựng chương trình song song cho một bài toán cụ thể

như bài toán phương trình truyền nhiệt Các chương trình song song nảy sẽ được chạy

thử nghiệm trên máy tỉnh trạm cỏ nhiều CPU,

Hoe viên: Phùng Thị Hoàng 3 Luận vẫn thạc sĩ

Trang 11

Luận văn bao gồm các chương chỉnh sau:

Chương 2:Tìm hiểu cơ sở lý thuyết về các phương pháp số giải hệ phương trinh PDEs,tìm hiểu mô hình tính toán song song SPMD và thư viện lập trình song

Chương 5: Chạy thử nghiệm chương trình,phân tích kết quả, đánh giá hiệu quả

của chương trình song song

Trang 12

Chương 2: Cơ sở lý thuyết

2.1 Phương pháp số giải hệ phương trình PDEs

Nói chung, rat khỏ tìm được nghiệm chính xác của các hệ phương trình đạo

hàm riêng PDEs Vi vay, thông thưởng người ta sử dụng phương pháp s6(Numerical

Method) đẻ giải các hệ phương trình PDEs

Ngày nay có nhiều phương pháp số đề giải các hệ PDEs, ví dụ như phương

phápDST(Direct Space-Time) hay phương pháp MOL (Method Of Line) Theo phương, pháp MOL, hai bước rời rạc theo không gian và tích hợp theo thời gian được thực hiện

riêng, trong khi đối với phương pháp DST, hai bước này được thực hiện đồng thời

Phương pháp MOL có ưu điểm là đơn giản và linh hoạt hơn so với phương phap DST,

do đó trong luận văn nảy tôi sẽ chọn MOL là phương pháp số giải các hệ PDEs

Phương pháp MOL giải các hệ PDEs bao gồm hai bước:

1) Rời rạc hóa theo không gian (Spatial discretization)

2) Tích hợp theo thời gian (Time integration)

Có nhiêu cách đề rời rạc hỏa hệ phương trình PDEs trong không gian, ví dụ,

phương pháp phần tử hữu han (FEM: Finite Element Method), phuong pháp sai phân

hữu hạn (FDM: Einite Difference Method), va phương pháp thẻ tích hữu hạn (FVM:

Finite Volume Method) Trong luan van nay tdi sé sir dung phương pháp sai phân hữu

Trang 13

nảy,Cỏ nhiều phương pháp số đề tỉnh đạo hảm trong không gian, trong luận văn nảy tôi

sẽ sử dụng các phương pháp như sai phân thuận hoặc sai phân trung tâm

Sau khi rời rạc hóa hệ phương trình PDEs trong không gian, ta sẽ thu được một

hệ phương trình vi phân thường (ODEs: Ordinary Differential Equations) cỏ dạng như

ø là các biển của hệ phương trinh PDEs,

E là hàm thu được từ bước rời rạc hỏa theo không gian,

t la biến thời gian

Có nhiều phương pháp đề giải hệ phương trình vi phân thường ODES, trong luận

văn nảy chủng tôi sẽ sử dụng phương pháp Euler thuan (Forward Euler),

Phương pháp Euler thuận giải phương trình vi phân thường ODEs cỏ công thức như sau:

Opp = Oy + At F(@y,t) Trong đó

nla bước tính toản thứ n,

ht la d6 dai bude thoi gian

Công thức Euler thuận cỏ thê được tính toán lặp như sau:

Trang 14

@y = Oya + ht F(@y-atn-a)

Trong d6 @,, ty 1a các giá trị khởi tạo ban đầu

2.2 Mô hình lập trình song song SPMD

Hiên có rất nhiều mô hình lập trình song song.Tuy nhiên, mô hình lập trinh

song song SPMD (Single Program Multiple Data) là phỏ biến nhất vì nó phủ hợp với

các hệ thống tỉnh toản cỏ bộ nhớ phân tán và các bài toán cỏ dữ liệu phân tán Do đỏ,

trong luận văn này tôi sẽ chọn SPMD làm mô hình tỉnh toán song song

Trong mô hình SPMD, miền tính toán của bài toán (Domain) được chia thành các miễn con (Subdomain), các miễn con được tỉnh toán bởi củng một chương trình

trên các bộ xử lý (Process) khác nhau Mô hình lập trình song song SPMD được mô tả

& & &

Trang 15

Một chương trình song song sử dụng mỏ hình SPMD bao gồm các bước chỉnh

sau:

© Phan chia mien tinh toan (Domain decomposition)

e Phan tan dit ligu dau vao (Data distribution)

«_ Truyền thông dữ liêu (Communication)

© Tinh toan (Computation)

© Tap hop dữ liêu dau ra (Result collection) 2.3 Thư viện MPI

MPI là viết tắt của các chữ Message Passing Interface MPI lả bộ thư viện hỗ trợ việc lập trình song song với các ngôn ngữ như C, Fortran Tập MPI thi hảnh bao gồm một thư viện các thủ tục sao cho có thể goi được từ các chương trinh Fortran, C, C++ hay Ada Lợi thể của MPI so với các thư viện cũ là nỏ vừa thuận tiện

(vi MPI thực thi cho hầu hết các kiến trúc bộ nhớ phân tán) vừa nhanh (vì mỗi thủ tục

được tôi ưu hỏa cho phân cứng mà nó đang chạy)

2.3.1 MPI tiêu chuẩn

MPI tiêu chuân hồ trợ cho nhiều ngôn ngữ lập trình nhu C, C++, Fortran, chay

trên nhiều nên tảng phân cứng khác nhau Điều nảy đem lại nhiều lời ich, bao gồm:

~ Giảm thời gian viết chương trình,

- Cho phép phát triểnmột ứng dụng (ví dụ, chạy trên một mạng lưới các máy

trạm lảm việc) cỏ thẻ chạy hiệu quả trên nhiều hệ thông khác nhau (vi dụ như chạy trên các hệ thông song song chuyên biệt)

Hoe viên: Phùng Thị Hoàng 7 Luận vẫn thạc sĩ

Trang 16

Mục tiêu chỉnh của các đặc điểm nảy của MPI lả đề cho phép người dùng không

cân phải băn khoăn vẻ hiệu quả, tỉnh năng linh hoạt, và chức năng của chương trình

Điều nảy có nghĩa rằng người ta có thể viết các chương trình chạy linh hoạt trên nhiều

hé thong ma van cỏ thẻ tận dụng lợi thế của các phân cửng chuyên dụng va phan mem

được cung cấp bởi các nhà cung cấp cả nhân Đông thời, các tỉnh năng tiên tiến, chẳng,

han như tập rộng lớn của các hoạt động tập thẻ, có thể được dự kiến trong mỗi MPI và

có thể được sử dụng trong tắt cả các chương trình ứng dụng song song nơi mả họ cỏ

thể có ích

MPI không phải là một cuộc cách mạng mới của máy tính lập trình song song, đúng hơn, nó là một nỗ lực đề thu thập các tính năng tốt nhất của nhiều hệ thông đi qua

hiện có, cải thiện chủng ở nơi thích hợp, vả chuẩn hóa chúng

2.3.2 Các khái niệm cơ ban cia MPT

Các khái niệm cơ bản của các MPltiêu chuẩn là tiền trình vả các truyền thông

Trong khi truyền thông kiểu điểm — diém (point-to point) va kieu tap hop (Collective)

là trung tâm của MPI, nhỏm tiến trình gỏi đữ liệu,các kiểu dữ liệu, vả topo ảo là những

khái niệm quan trọng khác của MPItiêu chuẩn

2.3.2.1 Gói đữ liệu và các tiên trình

Một tiền trình MPI là một thực thể tham gia vảo thực hiện một số nhiệm vụ tính

toán Trong mô hình lập trình cơ bản MPI, mỗi tiễn trình được liên kết với một bộ nhớ duy nhất, được gọi là bộ nhớ cục bộ của nó, mà nó chỉ có thẻ truy cập vả cập nhật trực tiếp Một gói dữ liệubao gồm một phân nội dung théng tin, cling với một số dữ liệu bỏ

gói tin chỉ rõ để người nhận tiền trình có thể

sung được gọi là một nhãn Nhãn của n

đọc nội đung thông tin của các tin nhắn vào bộ nhớ địa phương của mình Nhãn chứa thêm thông tin cỏ thể được sử dụng bởi các tiên trình nhận đề quyết định hay không vả

Hoe viên: Phùng Thị Hoàng § Luận vẫn thạc sĩ

Trang 17

khi mở các tin nhắn cũng như làm thẻ nào đề truy cập dữ liệu trong một tim nhắn nó đã

nhiệm vụ để thực hiện; đó lả, một nhóm tiên trình MPI thường củng thực hiện một

nhiệm vụ chung Một tiền trình cỏ thẻ thuộc về bắt kỳ số lượng nào của các nhỏm

Nhỏm MPI được cho là tĩnh bởi vì tất cả họ đều xuất phát từ các nhom ban dau và không có tiễn trình mới cỏ thể được tạo ra trong tiên trình thực hiện chương trình

Ngoài hạn chế nảy, MPI cung cấp một loạt các thiết bị quản lý nhóm tiền trình

2.3.2.1.2Phương thức truyền thông

Một tiền trình MPI đơn có thể lựa chọn có hoặc không cỏ thông báo, tủy thuộc vào nhãn của thông bảo đó Nhận được tin nhắn làm thay đổi bộ nhở cục bộ của tiên trình vả là một hoạt động không thê đảo ngược Một lỗi phố biền trong lập trình MPI là một tiên trình đề nhận được một tin nhắn gửi bởi tiền trình sai hoặc một tin nhắn gửi bởi đúng tiền trình nhưng dự định cho một giai đoạn khác của tính toản Vẫn đẻ nảy đặc biệt liên quan khi các nhiệm vụ được giao một tiền trình liên quan đến các cuộc gọi đến một thủ tục thư viện parallels Vẫn đề ở đây là giao tiếp trực tiếp khởi xướng bởi người sử dụng và thông tin liên lạc được tiên hảnh trong các cuộc gọi đên một produre thư viện thuộc các ngữ cảnh khác nhau, hoặc các vũ tru Tin nhắn qua giao diện hỗ trợ

Hoe viên: Phùng Thị Hoàng 9 Luận vẫn thạc sĩ

Trang 18

cảnh báo làm cho nó có thể cho người sử dụng và các thông điệp thư viên đề đi du lịch củng một lúc mả không can bat kỳ nguy cơ của họ là lần lộn

2.3.2.1.3 Topo do

Các bảng xép hang mặc định các tiến trình trong một nhóm không phải là luôn

luôn tự nhiên nhất đề viết các ứng dung phản mềm Ví dụ, các ửng dụng có thê mô hình

số hiện tượng trong không gian ba chiều Vào những lúc khác, thuật toán hiệu quả

mộ

hơn có thể được sử dụng nêu các tiên trình được biết đề tạo thành một lưới hai chiêu

Trong tất cả những trường hợp nảy nó là tự nhiên đề nghĩ vẻ các tiên trình như được lập chỉ mục theo một số hệ tọa độ Đề-Các Như một hệ thống phối hợp có thể hoặc có thể không phản ánh ket nổi vật lý thực tẻ giữa các bộ xử lý chay các tiền trình trong nhóm.Tọa độ Đè-Các phổi hợp hệ thông được gọi là topo Đẻ-Các và có thẻ có kích thướcbất kỳ.MPI cũng cung cấp topo dé thi cho phép người sử dụng xác định rõ rảng mỗi quan hệ láng giêng giữa các tiền trình Tiền trình mà cac lang gieng gan nhật theo một tiên trình câu trúc liên kết không cần phải chạy trên vi xử lý mả kết nồi vat ly; Do

đỏ câu trúc liên kết Đẻ-Các vả đồ thị được gọi lả topo ão

2.3.2.1.4 Comminicator

Comminicatortrong MPT gắn với các khái niệm của nhóm tiền trình, bồi cảnh

giao tiếp, vả topology ảo Một giao tiếp luôn gắn liên với một nhóm tiền trình, một bồi cảnh giao tiếp và một topology ảo.Nhóm và Comminicatorlả các đối tượng đục, họ chỉ

có thể được thông qua như là đối số cho ham MPI va có thẻ xuất hiện trong, các biểu thức Boolean Tất cả thông tin liên lạc trong MPI liên quan đền it nhất một người giao

tiếp Tắt cả các tiên trình liên quan đến một thông tin phải cung cấp các comminicator giống như một đối só trong các MPI cuộc gọi thủ tục tương ứng

3.3.2.2Kiêu dữ liệu MPI

Hoc viên: Phùng Thị Hoàng 10 Luận văn thạc sĩ

Trang 19

Hệ thống kiểu dữ liệu trong ngôn ngữ lập trình, như C và Fortran, cho trinh

biên dịch như thế nào đề giải thích đữ liệu và có thể như thế nào dữ liệu sẽ được đặt ra

trong bộ nhớ chính Đó là thông tin rất quan trọng để MPI định nghĩa một kiểu hệ thống tin nhắn trên đầu trang của các hệ thống kiểu dữ liệu của C và các ngôn ngữ

Fortran, Cac kiểu dữ liệu MPI đơn giản chủ yêu là sự kết hợp của các kiểu dữ liệu

nguyên bản của C và Fortrancông với một tiên tô MPI ở trước

MPI cung cap thi tue MPI đề xác định kiêu dữ liệu MPI có nguồn gốc Một MEI loại dữ liệu thu được quy định cụ thể các định dạng của một chuỗi các giả trị và

bao gồm: số lượng các thành phân trong chuỗi, các kiêu dữ liệu MPI của mỗi phân tử

và khoảng cách trong byte giữa các yêu tô của chuối

ÍMPI UNISIGNED CHAR lunsigned char

IMPI_UNISIGNED junsigned int

ÍMPI UNSIGNED LONG lunsigned long

ÍMPI UNSIGNED SHORT unsigned short

Trang 20

2.3.2.3 Các kiêu hàm tính toán của MPI

IMPI BAND |Bitwise and

ÍMPI MAXLOC faximum and location maximum

|MPI_MINLOC (Minimum and location minimum

Bang 2: Cae ham tính toan cia MPI

2.3.2.4 Cac ham phé bién ctia MPI

MPI Init() Khối tạo bộ môi trường thực thì MPI, hàm này phải

được gọi trước tất cả các hảm MPI khác, va chi được gọi một lần Hàm này có thể được ding dé truyền tham số dỏng lệnh tới tất cả các tiền trình,

cách dùng như sau: MPL Init (&arge, &argv)

Trang 21

Dùng để kết thúc môi trường thực thi MPT Ham nay

phai due goi cudi cling trong tat ca cdc ham MPI Xác định số lượng tiên trình tham gia vào một bộ giao tiếp, thông thường, nó được dủng trong bộ giao

tiếp MPIL COMM_ WORLD bộ giao tiếp được xây dựng sẵn, bao gôm tất cả các tiền trình tham gia vào

(void *local, void *global,

int count, MPI_Datatype

type, MPI_Op operator, int

Root, MPI_Comm comm)

Xác định thử tự của tiên trình này trong bộ giao tiếp

Luc ban dau mỗi tiền trinh được gan cho một số thử

tự từ 0 tới mÌ trong bộ giao tiếp

MPI_COMM_WORLD

Kiểm tra xem hâm MPL InitQ đã được gọi hay chưa

Đồng bộ tất cả các tiên trình trong hệ thông, khi

hàm nảy được gọi, tất cả các tiến trình sẽ củng chờ

cho tới khi tiến trình cuối củng thực hiện đến bước

này vả tất cả củng thực hiện câu lệnh tiếp theo vào

cùng một thời điểm

Wipdinhiiigmcisliiis

Xác định độ chính xác của thời gian hệ thông

‘Ham tinh gộp, đùng đề gộp các kết quả của từng tiên

trình vào kết quả chung Trong đó, local là kết quả

cục bộ, global là kết quả nhận được sau khi tỉnh gộp

các kết quả cục bộ, type là kiểu dữ liệu tỉnh gộp,

operator là thao tác tính gộp, Root là thứ tự của tiền trình sẽ nhận được kết quả global, commn là bộ giao

Trang 22

Các cuộc gọi đến thủ tục truyền thông MPI được phan loại theo cách khi nó

được gọi một cách an toản, khi nào nóđược thoát ra, cỏ cân bộ nhớ đệm không, Không,

phải tất cả các kết hợp có thẻ được đưa vao MPI (cũng không phai la tat ca ho déu can thiếU) nhưng số lượng của họ đã dẫn đến củng tên được sử dụng để có nghĩa là những,

thứ khác nhau

Một thủ tục truyền thông MPI là bị khóa nều một cuộc gọi dén nỏ sẽ không trở lại trước khi nó là an toan cho một tiền trình đề tải sử dụng các nguồn tải nguyên quy định trong các cuộc gọi Thủ tục truyền thông Non-blocking MPI được bồ sung các thủ tục kiểm tra hoặc chờ cho phép tải sử dụng các nguồn lực xác định trong cuộc gọi của

họ

2.3.2.4.1 Truyén thong Point-to-point

Truyền thông Point-to-point chỉ liên quan đến hai tiên trinh: một tiền trình gửi

một tin nhắn vả một tiền trình tiếp nhận thông điệp đỏ Mọi thủ tục truyền thông, MPI

Point-to-point cỏ một phiên bản đồng bộ và mộtphiên bản không đồng bô

Mỗi MPI gửi thủ tục hoạt động trong một trong bón chẻ đô: đồng bộ, đệm, tiêu chuẩn và sẵn sảng, Các chế độ truyền thông xác định thời gian hoản thành các hoạt động gửi và khi có cuộc gọi đến thủ tục gửi tương ứng có thể được ban hành một cách

an toàn Lưu y rang một cuộc gọi đến một thủ tục không, đồng bô gửi thủ tục có thê trở lại trước khi chính nỏ được hoàn thành Vì lý do đó, các thủ tục không đồng bộcỏ một

tham số bỗ sung: một đẻ xử lỷ một yêu cầu gửi trả lại bởi các thủ tục không đồng bô

Hoc viên: Phùng Thị Hoàng 14 Luận văn thạc sĩ

Trang 23

Xử lý mả có thể được sử dụng đề kiểm tra hoặc chờ đợi đẻ hoàn thành các hoạt động

gửi

Một cuộc gọi đến, một gửi đồng bộ là hoàn toàn chỉ sau khi một cuộc gọi đẻ phủ

hợp với một thủ tục nhận đã được ban hảnh Một các thủ tục gửi không đồng bộhoản thành hay không một cuộc gọi đề phủ hợp với một thủ tục nhận đã được ban hành Các

tiêu chuẩn của MPI xác định các thủ tục đề quản lý không gian đêm và người sử dụng

có trách nhiệm cung cấp đủ không gian đệm đẻ lưu trữ các tin nhắn gửi đi.Sự lựa chọn

giữa gọi một đồng bộ hoặc một thủ tục gửi không đồng bộ từ một sỏ thỏa hiệp giữa các

không gian đệm và thời gian thực hiện.Các chế độ tiêu chuẩn của truyền thông chuyền

tiếp các phân tích của các bảnMPI thương mại.Vỉ vậy, một cuộc gọi đến một thủ tục gửi hoạt động trong chẻ độ tiêu chuân có thẻ hoặc có thẻ không hoản thành trước khi một cuộc gọi đến một kết hợp nhận thủ tục đã được ban hành Một cuộc gọi đến bát kỳ thủ tục gửi hành trong tiêu chuẩn, chế độ hoặc đệm đông bộ có thê được ban hành một cách an toàn ngay cả khi không phủ hợp với nhận cuộc gọi đã được ban hảnh Điều đó

lả không đúng đối với các cuộc gọi đẻ gửi hành thủ tục ở chế độ sẵn sang Cac hoạt đội chỉnh xác của các thủ tục gửi dựa trên các lập trình để dâm bảo rằng gửi sẽ được

kết hợp bởi nhận được một cách phủ hợp.Những chỉ là một phương thức hoạt động cho

các thủ tục MPI nhận được một tin nhắn

2.3.2.4.2 Truyền thông tập hợp

Thông tin liên lạc tap thé được khởi xưởng bởi tắt cả các tiền trình trong, các giao tiếp trong mà giao tiếp diễn ra Các tiêu chuan MPI cung cap cho các loại chính của thông tin liên lạc tập thẻ gặp phải trong thực tế hiên nay.Các tập thẻ MPI thủ tục truyền thông được ngăn chăn Các rảo cản, mô tả sau, hoạt động trong đồng bộ chế độ;

tất cả các thủ tục giao tiếp tập thê khác MPI có thể được coi lả hoạt động trong chế độ

tiêu chuẩn Các hình thức chủ yếu của thông tin liên lạc tập thể bao gồm trong tiêu

Trang 24

2.3.3 MPI lớn hay nhỏ?

Có lẽ các quyết định cơ bản nhất cho các diễn đản MPI là liệu MPI sé là "nhỏ và độc quyên, "kết hợp các giao điểm tôi thiểu của các thư viện hiện cỏ, hoặc" lớn và bao gồm, "kết hợp các công đoản của các chức năng của hệ thông hiện cỏ Cuỗi củng, mặc

đủ một số ý tưởng đã rời ra, một nỗ lực được thực hiện đề bao gồm một số lượng tương

đổi lớn các tỉnh năng đã được chứng minh rất hữu ích trong các thư viện khác nhau và các ứng dụng

2.3.3.1 MPI là lớn

Nhiều chức năng được mô tả trong phân cuối củng có nghĩa là các tiêu chuẩn

MPI có nhiều chức năng trong nỏ (khoảng 125).Điều này có nghĩa rằng MPI thì không thể phức tạp? Câu trả lời là không có vỉ hai lý do Thứ nhất, số lượng các chức năng

trong MPI đền từ việc kết hợp một số lượng nhỏ khái niệm về trực giao.Số lượng các ý

tưởng trong MPI là nhỏ Thử hai, nhiều người trong số các thói quen

đại diện cho tính năng bổ sung có thẻ được bỏ qua cho đền khi cản thiết

int MPI_Comm_size(MPI_Comm comm, int *size)

int MPI_Comm_rank(MPI_Comm comm, int *rank)

int MPI_Send(void *buf, int count, MPI_Datatype datatype,int dest, int tag, MPI_Comm

comm)

int MPI Recvivoid “buf, int count, MPI Datatype datatype,int source, int tag,

MPI_Comm comm,MPI_Status status)

Hoc viên: Phùng Thị Hoàng 16 Luận văn thạc sĩ

Trang 25

Các chức năng trên sẽ được mô tả, cũng như các chức năng khác cỏ liên quan

MPI, trong các kế tiếp chương

Với các chức năng nảy chỉ có một số lượng lớn các chương trình hữu ích và

hiệu quả có thẻ được viết Tắt cả các chức năng khác thêm tỉnh linh hoạt (kiểu dữ liêu),

vững mạnh (nonblocking gửi / nhận), hiệu quả ("sẵn sảng" chế độ), mô đun (nhóm,

truyền thông), hoặc tiên lợi (tập thể hoạt động, câu trúc liên kêU),

2.3.4 Cae API MPI

2.3.4.1 Chuẩn

MPI bao gồm một thư viện Một quá trình MPI bao gồm một chương trình C hoặc Fortran77 mà giao tiếp với quá trình MPI khác bằng cách gọi thỏi quen MPI.Các thoi quen MPI cung cap các lập trình viên với một giao diện nhất quản trên nhiều nên tảng khác nhau

Tất cả các tên của thói quen MPI va cac hang sé trong ca hai C, Fortran bat dau với tiên tố MPI đề tránh tên collisions.Fortran tên thông thường lả tất cả các trường hợp trên nhưng C tên thường được trộn lần trường hợp Sau khi tải liêu MPI, khi một

tên thường xuyên được sử dụng trong một ngữ cảnh ngôn ngữ độc lập, các phiên bản

chữ hoa được sử dụng Tất cả các hằng số được viết hoa trong cả Fortran và C

2.3.4.1.1 Khởi tao MPI

Đầu tiên trong bắt kỳ chương trình MPI được khởi tạo là MPL Init, mỗi chương trình MPI phải gọi thói quen này một lân, trước khi bắt ky thói quen MPI khác Làm nhiều cuộc gọi đến MPL Init là sai lâm Các phiên bản C của các thói quen chấp nhận các đối số chỉnh, tức là argc vả argv như các đôi sỏ

int MPI_Init(int *arge, char ***argv);

Trang 26

MPI Init xác định một cải gì đỏ gọi là MPI COMM_WORLD cho mỗi qua

trình gọi nó.MPI COMM WORLD lả một người giao tiếp Tất cả các cuộc gọi truyền

thông MPI yêu cầu một tham số truyền và quá trình MPI chỉ có thể giao tiếp nêu ho chia sẻ một người giao tiếp,

MPI COMM_WORLD

©

Q @

@ @

Hinh 2.2: Cae MPI_COMM_ WORLD

Các MPI COMM_ WORLD giao tiếp được xác định trước cho bảy quy trình

Các con số cho thây thử hạng của mỗi quá trình

Mỗi người giao tiếp có chứa một nhóm mà là một danh sách các quy trình Các quá trình được sắp xếp và đánh sỏ liên tiếp từ 0.Các số của mỗi quá trình được gọi là

thử hạng của nó.Mức xếp hạng nảy nhận dạng mỗi quả trình trong giao tiếp Ví dụ, cấp

bậc có thẻ được sử dụng để xác đmh nguồn hoặc đích của thông điệp Sử dụng MPI COMM_WORLD, mỗi tiên trình có thể giao tiếp với môi khác Các nhóm MPI COMM WORLD là tập hợp của tắt cả các tiến trinh MPL

Một quá trình MPI có thể truy vẫn một người giao tiếp để cỏ thông tin về nhóm nay, voi MPI_Comm_rank va MPI_Comm_ size

int MPL_Comm_rank (MPI_Comm comm, int rank *)

Hoc viên: Phùng Thị Hoàng 18 Luận văn thạc sĩ

Trang 27

MPI Comm rank trả trong rank cấp bậc của các quả trình gọi trong nhóm kết

hợp với giao tiếp comm

intMPI Comm _size(MPI Comm comm, int *size)

MPI Comm size lợi nhuận trong size số lượng các quả trình trong nhóm ket hợp với truyền thong comm

2.3.4.1.3 Clean-Up ctia MPI

Một chương trình MPI nên gọi cac thoi quen MPI Finalize khi tat ca cac thong tin liên lạc đã hoàn thành Thói quen này đọn sạch tắt cả các MPI dữ liệu -cầu trúc, vv

Nó không hủy truyền thông xuất sắc, do đó, nó là trách nhiệm của các lập trình viên đẻ

đảm bảo tất cả các thông tin liên lạc đã hoàn thành Một khi thói quen này đã được gọi

là, không có cuộc gọi nảo khác có thể được thực hiện cho thỏi quen MPI, thậm chỉ không MPI Init, đo đó, một quá trình có thê không muộn đăng ký lại MPL

intMPL Einalize(void)

3.3.4.1.4 Hủy MPI

int MPI_ Abort (MPI_Comm comm, int errcode)

Điều này thường cổ gắng đề hủy bỏ tất cả các quá trình trong nhỏm chửa trong comm vi vậy mả với comm = MPIL COMM_WORLD toản bộ chương trình sẽ chấm dứt

2.3.4.1.5 Từners và đồng bộ

MPI định nghĩa một bộ đếm thời gian Một giờ được quy định mặc dủ nó không

phải là "tin nhắn qua", bởi vì thời gian chương trình song song là quan trọng trong việc

thực hiện gỡ lỗi và vi giờ hiện thời hoặc bắt tiện hoặc không cung cấp quyền truy cập day đủ để tính giờ có độ phân giải cao

đôi MPI_Wtime (void)

Hoc viên: Phùng Thị Hoàng 19 Luận văn thạc sĩ

Trang 28

MPI_Wtime trả về một số điểm nổi giây, đại diện cho thời gian trôi qua tường

đồng hỗ kế từ khi một số thời điểm trong quả khử Giờ trở lại địa phương ở những nút

mả gọi họ.Không có yêu cau rang các nút khác nhau lại cùng một lúc

double MPI_Wtick(void)

MPI Wtiek trả vẻ độ phân giải của MPI Wtime trong vải giây Nghĩa lả, nó trả

về số giây giữa đồng hồ liên tiếp theo

Hoc viên: Phùng Thị Hoàng 20 Luận văn thạc sĩ

Trang 29

Chương 3: Bài toán phương trình truyền nhiệt(HeatEquations)

3.1.Giới thiệu bài toan Heat Equations

Một quá trình khuếch tán, ví dụ như khuếch tán nhiệt trong chat ran hoặc khuếch tán chất tan trong một dung dịch, cỏ thể được mô hình hóa bằng một phương trình đạo

hàm riêng

Xét một hợp chất hóa học cỏ thể hòa tan trong chất lỏng Hợp chất hóa học này cỏ nông độ e (concentration) nhất định (số phan ti/m3) Gia sir ring hop chat chi di

chuyển trong dung môi thông qua khuéch tản tự do (đề loại đi trường hợp khuếch tan

bằng dòng chảy của dung môi) Bây giờ ta đi tìm một phương trình mô tả nông độ c

trên một thẻ tich nhỏ thông qua định luật Fick (liên quan đến dòng khuếch tán tuyên tính với gradient nòng độ),

Mat A

Hinh 3.1: Gradient néng dé Ve

Gọi 1 là thông lượng hay số phần tử đi qua một đơn vị bề mặt trong một thời gian

xác định (số phần tử/m23) Định luật Fick phát biểu rằng thông lượng J va gradient néng d6 c phụ thuộc tuyến tính với nhau theo công thức

Hoc viên: Phùng Thị Hoàng 21 Luận văn thạc sĩ

Trang 30

J=—D.Vc [31]

Với D là hệ số khuếch tán (m2/s)

Hinh 3.2: Khéi thé tich nhé dxdydz

Tiệp theo, ta xét một khôi thẻ tích nhỏ đV=dxdydz (Hình3.2) và tính toản số lượng, phần tử khuếch tản vảo và ra của khỏi này Thực hiện bằng cách tỉnh toan theo ba chiêu x, y, z một cách độc lập, sau đỏ cộng tất cả các két quả thu được lại đề cỏ tổng thông lượng Số lượng phân tử đi qua khối trong một đơn vị thời gian theo chiều x

được cho bởi công thức: (Jx(x)-]x(x+dx))dydz, tương tự như vậy ta có các công thức

cho chiều y và chiêu 2 Tiếp theo, tổng sổ phân tử tăng lên trong khối phải bằng số

phần tử khuếch tán vào khối Do đó:

Trang 31

Trong đỏ t là thời gian Chia Phương trình [3.2] cho dV và giả sử rằng dx, dy, dz

3.2 Phương pháp số giải bài toán Heat Equations

Ta sẽ giải phương trình Heat Equations bằng phương pháp số, theo đỏ bao gồm hai bước: rời rac héa theo khéng gian (Spatial discretization) va tích hợp theo thời gian (Time integration)

3.2.1 Phương pháp rời rạc hóa theo không gian

Xét bài toán Heat Equations trong khéng gian hai chiêu kích thước MxM

Trong không gian hai chiều, phương trình Heat Equations co dang:

ac _ pac , ac

Để giải bải toán trên bằng phương pháp sổ, trước tiên ta cản chia miễn tinh toan

MxM nảy thành một lưới điểm Cho trước kích thước điểm lưới theo chiêu x và y tương ứng la dx và dy (giả sử dx=dy), ta xác định được số điểm lưới theo chiêu x(m)

va y(n) nhu sau :

m = M/dx,

Hoc viên: Phùng Thị Hoàng 23 Luận văn thạc sĩ

Ngày đăng: 09/06/2025, 12:28

HÌNH ẢNH LIÊN QUAN

Hình  2.1:  Mô  hình  lập  trình  song  song  SPMI - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 2.1: Mô hình lập trình song song SPMI (Trang 14)
Hình  3.3  chia  miền  tính  toán  thành  một  lưới  điểm - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 3.3 chia miền tính toán thành một lưới điểm (Trang 32)
Hình  3.4:  Các  điểm  lân  cận - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 3.4: Các điểm lân cận (Trang 35)
Hình  3.5:  Điều  kiện  biên - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 3.5: Điều kiện biên (Trang 36)
Hình  4.1:  Chia  miễn  tính  toán - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 4.1: Chia miễn tính toán (Trang 40)
Hình  4.2:  Gửi  dữ  liệu  đầu  vào từ Root  đến  các  CPU - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 4.2: Gửi dữ liệu đầu vào từ Root đến các CPU (Trang 41)
Hình  4.3:  Truyền  thông - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 4.3: Truyền thông (Trang 42)
Hình  4.3.1:  Truyền  thông  Cụ - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 4.3.1: Truyền thông Cụ (Trang 44)
Hình  4.3.2:  Truyền  thông  Cả - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 4.3.2: Truyền thông Cả (Trang 46)
Hình  4.4:  Gửi  kết  quả  tính  toán  về  Root - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
nh 4.4: Gửi kết quả tính toán về Root (Trang 47)
Bảng  4:  Thông  số  cơ  bản  của  máy  tinh  tram  T7610 - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
ng 4: Thông số cơ bản của máy tinh tram T7610 (Trang 49)
Bảng  5:  Thời  gian  chạy  chương  trình  C  và  MPI  (ms) - Luận văn giải song song các bài toán có mô hình toán học là các hệ phương trình Đạo hàm riêng bằng phương pháp số
ng 5: Thời gian chạy chương trình C và MPI (ms) (Trang 50)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w