6. Ý nghĩa khoa học và thực ti ễn ca đề tài
3.3.4. Đánh giá thuật toán
Trong thuật toán song song ngư i ta sử dụng tốc độ (Speedup) để đánh giá th i gian thực hiện c a thuật toán song song so với thuật toán tuần tự.
Dữ liệu đầu vào là đồ thị được tạo ngẫu nhiên có đuôi .txt
Hình 3.14. File đầu vào bài toán Dijkstra với 50 đỉnh
Trong đó Speedup (tốc độ)= Ts/ Tp
Ts: Sequential time (Th i gian chạy tuần tự) Tp: Parallel time (Th i gian chạy song song) Bảng đánh giá trên được biểu diễn bằng đồ thị sau:
Bài toán Dijkstra
Chúng tôi tạo đồ thị gồm 1200 đỉnh và cho thực hiện trên 1 bộ xử lý (tuần tự), 2, 4, 6, 8 bộ xử lý thì kết quảđược cho bảng sau:
Bảng 3.1. Bảng đánh giá thời gian thực hiện thuật toán song song so với thuật toán tuần tựbài toán Dijkstra 1200 đỉnh
S b x lý 2 4 6 8
T căđ
Hình 3.15. Đồ thị biểu diễn sựđánh giá thuật toán song song so với tuần tự bài toán
Dijkstra 1200 đỉnh
Chúng tôi tiếp tục tạo thêm đồ thị gồm 2500 đỉnh và cho thực hiện trên 1 bộ xử lý (tuần tự), 2, 4, 6, 8 bộ xử lý thì kết quảđược cho bảng sau:
Bảng 3.2. Bảng đánh giá thời gian thực hiện thuật toán song song so với thuật toán tuần tựbài toán Dijkstra 2500 đỉnh
S b x lý 2 4 6 8
T căđ (Speedup) 1.5 1.78 1.99 2.09
Hình 3.16. Đồ thị biểu diễn sựđánh giá thuật toán song song so với tuần tự bài toán
Dijkstra 2500 đỉnh 1.42 1.68 1.8 2.01 0 0.5 1 1.5 2 2.5 2 4 6 8 Sp ee du p tố đ ộ Dijkstra
Num er of pro essors số ộ xử lý
Num er of pro essors số ộ xử lý
1.5 1.78 1.99 2.09 0 0.5 1 1.5 2 2.5 2 4 6 8 Sp ee du p tố đ ộ Dijkstra
Num er of pro essors số ộ xử lý
Bài toán Prim
Chúng tôi tiếp tục tạo thêm đồ thị gồm 2100 đỉnh và cho thực hiện trên 1 bộ xử lý (tuần tự), 2, 4, 6, 8 bộ xử lý thì kết quảđược cho bảng sau:
Bảng 3.3. Bảng đánh thời gian thực hiện thuật toán song song so với thuật toán tuần tựbài toán Prim 2100 đỉnh
S b x lý 2 4 6 8
T căđ
(Speedup) 1.45 1.73 1.91 2.05
Hình 3.17. Đồ thị biểu diễn sựđánh giá thuật toán song song so với tuần tự bài toán
Prim 2100 đỉnh
Nh n xét: từ đồ thị và bảng kết quả trên, chúng ta nhận thấy rằng tốc độ xử lý được tăng lên đáng kể khi xử lý trên 2 bộ xử lý thì th i gian giảm hơn 1,6 lần so với xử lý tuần tự. 1.45 1.73 1.91 2.05 0 0.5 1 1.5 2 2.5 2 4 6 8 Sp ee du p tố đ ộ Prim
Num er of pro essors số ộ xử lý
K T LU N VĨăH NG PHÁT TRI N
K T LU N
Luận văn đã nghiên c u tổng quát về thuật toán song song và áp dụng cho một số bài toán về đồ thị. Luận văn cũng đã khái quát các khái niệm về thuật toán song song và các vấn đề liên quan đến thuật toán song song, các mô hình song song, môi trư ng lập trình song song, lý thuyết đồ thị, cách biểu diễn đồ thị trên máy tính, các vấn đề vềđư ng đi, cây bao trùm trên bảng đồ.
Từ các hiểu biết trên luận văn đã nghiên c u để song song hóa các thuật toán tìm đư ng đi ngắn nhất (Dijkstra) và cây khung nhỏ nhất (Prim) từ các thuật toán tuần tự truyền thống.
Ngoài ra do còn thiếu kinh nghiệm trong việc phân tích, thiết kế nên kết quảđạt được còn hạn chế.
Qua nghiên c u đềtài này cũng đã nắm được các kiến th c về xử lý song song, lập trình song song, lý thuyết đồ thị. Tìm hiểu được cách ng dụng thuật toán song song và đã áp dụng vào một số bài toán cụ thể.
H NG PHÁT TRI N
Sau khi hoàn thành đề tài tôi sẽ tiếp tục nghiên c u thêm để phát triển đề tài này, cải tiến thêm các thuật toán và áp dụng vào các lĩnh vực như:
⁻ Áp dụng song song hóa các thuật toán Dijkstra, Prim theo mô hình máy tính phân cụm.
⁻ Nghiên c u mô hình lập trình song song và áp dụng chuyển các thuật toán tuần tự khác vềđồ thị sang thuật toán song song.
DANH M C TÀI LI U THAM KH O
Tài li u Ti ng Vi t
[1] PGS.TS Đoàn Văn Ban, TS. Nguyễn Mậu Hân, Xử lý song song & phân tán, Viện Công nghệ Thông tin, 2006.
[2] PGS.TSKH Trần Quốc Chiến, Hồ Xuân Bình, Thuật toán song song tìm luồng cực
đại, Tạp chí Khoa học & Công nghệ, Đại học Đà Nẵng, 5(22)/2007, 37-42
[3] PGS.TSKH Trần Quốc Chiến, Giáo trình Lý thuyết đồ thị, Đại học Đà Nẵng 2007.
[4] PGS.TSKH Trần Quốc Chiến, Trần Thị Mỹ Dung, “ ng dụng thuật toán tìm
đường đi ngắn nhất Đa nguồn đích tìm luồng cực đại đa hàng hóa đồng thời”, kỷ yếu hội thảo khoa học Công nghệThông tin, Đại học Sư Phạm Đà Nẳng, 11-2011.
[5] Nguyễn Đ c Nghĩa, Nguyễn Tô Thành, “ Toán rời rạc “, Nhà Xuất Bản Đại học quốc gia Hà Nội, 2006
[6] PGS.TS Lê Huy Thập, “ Cơ sở lý thuyết song Song “, Nhà Xuất Bản Thông Tin và Truyền Thông, 2011
[7] Nguyễn Đ c Nghĩa, “ Cấu trúc dữ liệu và giải thuật “, Nhà Xuất Bản KHKT Hà Nội, 2013
Tài li u Ti ng Anh
[1] Tom Wilson, Nicholas Hofbauer, Dijkstra’s Algorithm in Parallel, team report 2008.
[2] A. Grama, A.Gupta, G.Karypis, V.Kumar, “Introduction to Parallel Computing”, 2003
[3] Seyed H. Roosta, Parallel Processing and Parallel Algorithms, Theory and Computation, Springer 1999.
[4] Joseph JáJá, An Introduction to Parallel Algrithms, Addison - Wesley, 1992
[5] Thomas Rauber, Gudula Runger (2013), Parallel Programming: for Multicore and Cluster Systems, Springer.
[6] JimKeogh(2004),Java Dymistyfied, Chapter 12 Multithreading.
[7] William Gropp et al, MPICH2 User’s Guide Version 1.0.6, Mathematics and ComputerScience Division, Argonne National Laboratory, 2007