Luận văn: Tối ưu hóa truyền thông trong chương trình song song - Nguyễn Thị Thúy Loan

Luận văn trình bày giải thuật tối ưu hóa truyền thông trong chương trình song song dùng thư viện MPI, giúp cải thiện hiệu năng và giảm thời gian tính toán.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ Kỹ Thuật

2015

75
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Tối ưu hóa Truyền thông trong Chương trình Song song

Tối ưu hóa truyền thông là một yếu tố quan trọng trong lập trình song song, đặc biệt khi sử dụng MPI (Message Passing Interface). Trong các hệ thống máy tính có bộ nhớ phân tán, mỗi CPU có một bộ nhớ riêng và không thể trực tiếp truy cập dữ liệu của CPU khác. Do đó, giao tiếp truyền dữ liệu giữa các tiến trình trở nên rất quan trọng để đảm bảo hiệu suất chương trình. Các bài toán tính toán hiệu năng cao như dự báo thời tiết và phương trình nước nông đều yêu cầu sự phụ thuộc dữ liệu giữa các điểm tính toán. Việc tối ưu hóa truyền thông trong MPI giúp giảm độ trễ và tăng thông lượng dữ liệu, từ đó cải thiện hiệu năng tổng thể của chương trình.

1.1. Khái niệm Truyền thông trong Lập trình Song song

Truyền thông là quá trình trao đổi dữ liệu giữa các tiến trình trong chương trình song song. Trong mô hình SPMD (Single Program Multiple Data) với domain decomposition, miền tính toán được chia thành các miền con, mỗi miền gán cho một processor. Khi có sự phụ thuộc dữ liệu, các CPU phải gửi và nhận dữ liệu thông qua MPI. Việc truyền thông này có thể là blocking hoặc unblocking, tác động trực tiếp đến hiệu suất chương trình.

1.2. Tầm quan trọng của Tối ưu hóa trong MPI

Trong các bài toán có khối lượng tính toán lớn, thời gian truyền thông có thể chiếm một phần đáng kể của tổng thời gian chạy. Tối ưu hóa truyền thông giúp giảm chi phí giao tiếp, tăng tỷ lệ tính toán trên truyền thông, và cải thiện scalability của chương trình trên các hệ thống đa nhân.

II. Các Phương thức Truyền thông trong MPI

MPI cung cấp hai phương thức truyền thông chính: phương thức blockingphương thức unblocking. Phương thức blocking là những hàm yêu cầu tiến trình chờ cho đến khi thao tác gửi hoặc nhận hoàn thành. Phương thức unblocking cho phép tiến trình tiếp tục thực hiện các công việc khác mà không chờ đợi. Việc lựa chọn phương thức truyền thông phù hợp phụ thuộc vào đặc điểm của bài toán. Các giải thuật truyền thông tối ưu kết hợp cả hai phương thức này để đạt được hiệu suất tốt nhất, giảm thiểu độ trễ truyền thông và tối đa hóa thông lượng dữ liệu.

2.1. Phương thức Truyền thông Blocking

Blocking communication yêu cầu tiến trình chờ cho đến khi dữ liệu được gửi hoặc nhận hoàn toàn. Phương thức này đơn giản và dễ hiểu, nhưng có thể gây tắc nghẽn khi có sự mất cân bằng tải. Các hàm như MPI_SendMPI_Recv là các ví dụ của blocking communication.

2.2. Phương thức Truyền thông Unblocking

Unblocking communication cho phép tiến trình tiếp tục công việc mà không chờ truyền thông hoàn thành. Sử dụng các hàm như MPI_IsendMPI_Irecv, cùng với MPI_Wait, phương thức này tạo cơ hội tính toán song song với truyền thông, cải thiện hiệu suất tổng thể.

III. Giải thuật Truyền thông Tối ưu

Giải thuật truyền thông tối ưu được thiết kế dựa trên việc phân tích chi tiết cấu trúc bài toánđặc tính truyền thông. Quá trình thiết kế bao gồm: (1) chia miền tính toán hợp lý để giảm số lượng ranh giới truyền thông, (2) sử dụng unblocking communication để chồng tính toán với truyền thông, (3) nhóm các thông điệp để giảm số lượng truyền thông nhỏ, (4) sắp xếp thứ tự truyền thông để tối thiểu hóa tranh chấp băng thông. Kết quả là hiệu suất chương trình được cải thiện đáng kể, đặc biệt trên các hệ thống máy tính đa nhâncluster.

3.1. Ý tưởng Xây dựng Giải thuật

Ý tưởng cơ bản là giảm chi phí truyền thông thông qua: nhóm dữ liệu, sử dụng non-blocking operations, và tối ưu hóa bố cục dữ liệu. Phân tích profiling chương trình giúp xác định nút cổ chai truyền thông và áp dụng các kỹ thuật tối ưu phù hợp.

3.2. Cài đặt và Kiểm chứng

Giải thuật được cài đặt bằng C/C++MPI, sau đó kiểm chứng tính chính xác bằng cách so sánh kết quả với chương trình serialchương trình MPI thông thường. Đánh giá hiệu suất thông qua thời gian chạyspeedup trên các nền tảng tính toán khác nhau.

IV. Kết quả Thử nghiệm và Đánh giá Hiệu suất

Các thử nghiệm được thực hiện trên các nền tảng tính toán song song khác nhau, từ máy tính cá nhân đa nhân đến cluster. Kết quả thời gian chạy của MPI tối ưu so với MPI thông thường cho thấy cải thiện đáng kể. Hiệu suất chương trình được đánh giá thông qua các chỉ số như speedup, efficiency, và thời gian truyền thông. Giải thuật truyền thông tối ưu đạt được tỷ lệ giảm thời gian chạy từ 20% đến 40% tùy thuộc vào kích thước vấn đềsố lượng processor. Kết quả này chứng minh hiệu quả của tối ưu hóa truyền thông trong cải thiện hiệu năng chương trình song song.

4.1. Kiểm tra Tính Chính xác

Tính chính xác của chương trình MPI tối ưu được xác minh bằng cách so sánh kết quả số với chương trình serialMPI thông thường. Sai số số học được kiểm soát dưới một ngưỡng chấp nhận được, đảm bảo độ tin cậy của giải thuật.

4.2. Đánh giá Hiệu suất và Scalability

Speedup được tính bằng tỷ lệ thời gian chương trình serial trên thời gian MPI. Efficiency phản ánh hiệu quả sử dụng processor. Kết quả cho thấy MPI tối ưuspeedup gần tuyến tính trên nhiều processor, chứng tỏ khả năng mở rộng tốt của giải thuật.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

28/12/2025
Luận văn tối ưu hóa truyền thông trong chương trình song song

Trích đoạn nội dung tài liệu

Chương 1: Tim hiểu các mô hỉnh tỉnh toán song song và thư viện lập trinh song song. MPI, tìm hiểu các phương thức truyền thông trong MPI Chương 2: Tìm hiéu bai toán Shallow-Water Equations (Phương trình nước nông), xây dưng phương pháp số giải bải toán Shallow-Water Equations, cải đặt chương trỉnh. Chương 3: Thiết kẻ giải thuật truyền thông tối ưu trong chương trình song, song Chương 4: Chay thử nghiêm chương trình song song trên các hệ thông như cluster, siêu máy tính, phân tích kết quả, đánh giá hiệu quả của thuật toán truyền thông 2 Luận văn thạc sĩ Mở đầu Mở đầu Rat nhiều bài toản trong khoa học cũng như trong kỹ thuật có khối lượng tinh toán rất lớn. Ví dụ như bài toản dự báo thời tiết, bải toán nhận dạng vân tay, bai toán mö phỏng động lực học chất lỏng,.

Trong dự bảo thời tiết, để dự báo cho ngày kế tiếp cân thực hiện khoảng một triệu tỷ (101) phép toán. Khi muốn kéo dài thời gian đự báo hoặc tăng đô chính xác của bản tin dự báo thi khỏi lượng tính toán tăng theo cấp số nhân. Các bải toán có khói lượng tính toán lớn như kẻ trên gọi lả các bài toán tỉnh toán hiệu năng cao. Trước đây các bài toán tính hiệu năng cao chủ yếu được thực hiện song song.

trên các hệ thống siêu máy tính. Trong những năm gần đây, các nên tảng cho phép. thực hiện các chương trình song song trở nén da dang hon. Ngoai cac siêu máy tỉnh còn có các hệ thông khác như Cluster, Grid, Cloud, GPGPU, hay các máy tính cá nhân sử dụng chịp đa lõi Trong rất nhiều bài toản tỉnh toản hiệu năng cao, ví dụ như bai toán dự báo thời tiết vả bài toản phương trình nước nông, đề tính toán tại một điểm lưới yêu cầu thông tin (hay dữ liệu) tại các điểm lưới khác.

Chúng tôi gọi những bải toán như vậy lả bải toán có sự phụ thuộc dữ liệu trong tỉnh toản. 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 chương trình song song SPMD (Single Program Multiple Data) hay con gọi là mỏ hình lập trình song song Domain decomposition (Phan chia mién tính toán), miễn tính toán của bải toản (domain) đượ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êu có sự phụ thuộc 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 1 Luận văn thạc sĩ Mở đầu Mở đầu Rat nhiều bài toản trong khoa học cũng như trong kỹ thuật có khối lượng tinh toán rất lớn. Ví dụ như bài toản dự báo thời tiết, bải toán nhận dạng vân tay, bai toán mö phỏng động lực học chất lỏng,.

Trong dự bảo thời tiết, để dự báo cho ngày kế tiếp cân thực hiện khoảng một triệu tỷ (101) phép toán. Khi muốn kéo dài thời gian đự báo hoặc tăng đô chính xác của bản tin dự báo thi khỏi lượng tính toán tăng theo cấp số nhân. Các bải toán có khói lượng tính toán lớn như kẻ trên gọi lả các bài toán tỉnh toán hiệu năng cao. Trước đây các bài toán tính hiệu năng cao chủ yếu được thực hiện song song.

trên các hệ thống siêu máy tính. Trong những năm gần đây, các nên tảng cho phép. thực hiện các chương trình song song trở nén da dang hon. Ngoai cac siêu máy tỉnh còn có các hệ thông khác như Cluster, Grid, Cloud, GPGPU, hay các máy tính cá nhân sử dụng chịp đa lõi Trong rất nhiều bài toản tỉnh toản hiệu năng cao, ví dụ như bai toán dự báo thời tiết vả bài toản phương trình nước nông, đề tính toán tại một điểm lưới yêu cầu thông tin (hay dữ liệu) tại các điểm lưới khác.

Chúng tôi gọi những bải toán như vậy lả bải toán có sự phụ thuộc dữ liệu trong tỉnh toản. 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 chương trình song song SPMD (Single Program Multiple Data) hay con gọi là mỏ hình lập trình song song Domain decomposition (Phan chia mién tính toán), miễn tính toán của bải toản (domain) đượ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êu có sự phụ thuộc 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 1 Luận văn thạc sĩ DANH MỤC CÁC HÌNH VẼ, STT| Hình Tên hình “Trang 1 | Hinh1 | Mô hình lập trình song song SPMD 5 2 |TIRnh2 | Truyén théng point to point 10 3 | Hinh3 | Broadcast, Scatter, Gather 15 4 |Hini4 | Phương thức truyền thông Bleckrg MPE 16 5 |TnhS | Phương thức truyền thông Unblocking MPL 16 6 |Hình6 | Cách chủa miễn tiitoán lại muội điểm lưới 20 7 | Hinh7a | Điều kiện biển tuân hoàn theo chiều x 2 8 | Linh 7b | Diễn kiện biển tuần hoàn theo chiéu y 22 9 |Hìn§ | Các điểm lân cận 33 10 |Hinh9 | Cách dánh chỉ số 25 1L | Tinh 10 | Cach chia mién tinh toan thanh cdc Subdomain 30 12 | Hinh 11 | Phan chia mién Halozone 32 13 | Hinh12 | Truyền thông 33 14 | nh 13 | Truyền thông Blocking MPI va Unblecking MP1 3 Mở đầu Mở đầu Rat nhiều bài toản trong khoa học cũng như trong kỹ thuật có khối lượng tinh toán rất lớn. Ví dụ như bài toản dự báo thời tiết, bải toán nhận dạng vân tay, bai toán mö phỏng động lực học chất lỏng,.

Trong dự bảo thời tiết, để dự báo cho ngày kế tiếp cân thực hiện khoảng một triệu tỷ (101) phép toán. Khi muốn kéo dài thời gian đự báo hoặc tăng đô chính xác của bản tin dự báo thi khỏi lượng tính toán tăng theo cấp số nhân. Các bải toán có khói lượng tính toán lớn như kẻ trên gọi lả các bài toán tỉnh toán hiệu năng cao. Trước đây các bài toán tính hiệu năng cao chủ yếu được thực hiện song song.

trên các hệ thống siêu máy tính. Trong những năm gần đây, các nên tảng cho phép. thực hiện các chương trình song song trở nén da dang hon. Ngoai cac siêu máy tỉnh còn có các hệ thông khác như Cluster, Grid, Cloud, GPGPU, hay các máy tính cá nhân sử dụng chịp đa lõi Trong rất nhiều bài toản tỉnh toản hiệu năng cao, ví dụ như bai toán dự báo thời tiết vả bài toản phương trình nước nông, đề tính toán tại một điểm lưới yêu cầu thông tin (hay dữ liệu) tại các điểm lưới khác.

Chúng tôi gọi những bải toán như vậy lả bải toán có sự phụ thuộc dữ liệu trong tỉnh toản. 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 chương trình song song SPMD (Single Program Multiple Data) hay con gọi là mỏ hình lập trình song song Domain decomposition (Phan chia mién tính toán), miễn tính toán của bải toản (domain) đượ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êu có sự phụ thuộc 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 1 Luận văn thạc sĩ DANII MỤC CÁC CHỮ VIÉT TẮT STT| Viết tắt Tiếng Anh Tiếng Việt 1L |GPU Center Processor Unit Bộ xử lý trang tâm 3 |SPMD | Single Program Multiple Data | Mô hình lập trình song song SPMD 5 |MPI Message Passing Interface Giao tiếp truyền đữ liên 4 | PDEs Partial Diffirentiat Equations | Hệ phương trinh dạo hàm riêng 5 |sD Spatial discretization Réi rac héa khéng gian 6 | TT Time integration Tích hợp the thời gián STT | Bảng 'Tên bằng Trang 1 | Bang 1 | Phương thức giao tiếp MPT il 2 | Bang 2 | Giao tiép MP1 théng thường 12 3. | Bảng 3 | Phương thức truyền théng trong MPI 17 4 | Bang 4 | Thông số cơ bản của máy tính chạy thử nghiệm 44 5 | Bảng 5 | Kết quả thời gian chạy trong C và MPI thông thường 45 6 | Bảng 6 | Kết quả thời gian chạy trong MPI théng thường.

46 + ÍBăng2 Kết quả thời gian chạy trong MEI thông thường và MPT ‘6 tối ưu Mở đầu bộ nhớ riêng của CPU B, CPU B sẽ gửi và CPU A sẽ nhận dữ liêu này. Quả trình đỏ gọi la truyền thông, Việc cần phải truyền thông lảm tăng thời gian thực hiện của chương trình song, song. Nêu đữ liệu truyền thông lớn hoặc tốc độ của mạng kết nổi giữa các CPU nhỏ, thời gian truyền thông sẽ rất lớn, làm giảm hiệu quả của chương trình song, song. Trong khi đó, trong lúc truyền thông, các bộ vi xử lý hoạt động ở chế độ chờ, làm giảm hiệu suât của việc tân dụng hệ thông.

Vì vây, việc đưa ra một phương pháp truyền thông tôi ưu để giảm thời gian truyền thông trở nên rất quan trong trong tính toản song song. Tuy nhiên, cho đền nay cỏ it nghiên cửu đề cập đến vẫn. dé nay, Luan van nay sẽ nghiên cứu xây dựng thuật toán đề tôi ưu hỏa việc truyền dữ liệu trong chương trình tính toán song song dựa trên ý tưởng chỏng chéo giửa tính toán với truyền thông: trong khi truyền dữ liêu, thực hiện phân tỉnh toán má dữ liệu vào ra không phụ thuộc vảo dữ liêu đang được truyền thông. Sau đỏ chủng tôi sẽ áp dụng thử nghiệm thuật toán này vào bài toán phương trinh nước nông, Luan van bao gồm các chương chỉnh sau: Chương 1: Tim hiểu các mô hỉnh tỉnh toán song song và thư viện lập trinh song song.

MPI, tìm hiểu các phương thức truyền thông trong MPI Chương 2: Tìm hiéu bai toán Shallow-Water Equations (Phương trình nước nông), xây dưng phương pháp số giải bải toán Shallow-Water Equations, cải đặt chương trỉnh. Chương 3: Thiết kẻ giải thuật truyền thông tối ưu trong chương trình song, song Chương 4: Chay thử nghiêm chương trình song song trên các hệ thông như cluster, siêu máy tính, phân tích kết quả, đánh giá hiệu quả của thuật toán truyền thông 2 Luận văn thạc sĩ Mở đầu bộ nhớ riêng của CPU B, CPU B sẽ gửi và CPU A sẽ nhận dữ liêu này. Quả trình đỏ gọi la truyền thông, Việc cần phải truyền thông lảm tăng thời gian thực hiện của chương trình song, song.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ