MỞ ĐẦU Tính cấp thiết việc nghiên cứu Lý thuyết đồ thị lĩnh vực nghiên cứu có từ lâu có nhiều ứng dụng đại Những tư tưởng lý thuyết đồ thị đề xuất vào năm đầu kỷ 18 nhà toán học lỗi lạc người Thụy Sỹ Leonhard Euler Chính ông người sử dụng đồ thị để giải toán tiếng bảy cầu thành phố Konigsberg [35] Đồ thị cấu trúc rời rạc gồm đỉnh cạnh cung nối đỉnh [35] Đây công cụ hữu hiệu để mô hình hoá giải toán nhiều lĩnh vực khoa học, kỹ thuật, kinh tế, xã hội, Mạng dạng đồ thị định hướng có trọng số dùng để mô tả mạng lưới giao thông vận tải, liên lạc, truyền tin, Trọng số cung mạng hiểu khả thông qua (thông lượng) cung [56] Các toán đồ thị mạng toán tìm đường đi, toán luồng cực đại (maxflow problem) có nhiều ứng dụng thực tế Việc tìm phương pháp giải toán để nâng cao hiệu tính toán giảm thời gian tính toán vấn đề nhiều người quan tâm Hơn nữa, để đáp ứng nhu cầu thực tế mạng lưới giao thông đồ thị mạng đồ thị phải cải tiến, mở rộng cho phù hợp (ví dụ mạng đồ thị truyền thống xét đến trọng số cạnh, đỉnh cách độc lập, độ dài đường đơn tổng trọng số cạnh đỉnh đường Tuy nhiên, nhiều toán thực tế, trọng số đỉnh không giống với đường qua đỉnh mà phụ thuộc vào cạnh đến cạnh khỏi đỉnh đó) Vì vậy, việc xây dựng mô hình đồ thị mạng đồ thị mở rộng cần thiết để đáp ứng nhu cầu thực tế Hiện nay, nước giới việc xử lý song song ứng dụng nhiều trung tâm tính toán lớn trường đại học Nhiều nhà khoa học nghiên cứu lý thuyết xử lý song song, mô hình, phương pháp để xử lý song song đưa số thuật toán song song điển hình Mặc dù tốc độ xử lý xử lý tăng nhiều năm qua, giới hạn vật lý nên khả tính toán chúng tăng Điều này, dẫn tới muốn tăng khả tính toán hệ thống tính toán đích cuối phải khai thác khả xử lý song song chúng Khi xây dựng thuật toán cho toán mạng đồ thị, liệu đầu vào lớn thuật toán xử lý lâu có trường hợp thuật toán không thực Điều này, đòi hỏi phải phân tích liệu, tìm phụ thuộc liệu bước thuật toán, phân tích câu lệnh, tìm hiểu mô hình xử lý song song, hệ thống máy tính ngôn ngữ lập trình để song song hóa thuật toán tương ứng Vì thế, việc nghiên cứu thuật toán tìm đường thuật toán tìm luồng cực đại mạng đồ thị truyền thống đồ thị mở rộng cần thiết Các ứng dụng thực tế cho thuật toán đòi hỏi phải xử lý với khối liệu lớn, thời gian giảm so với thuật toán Đặc biệt, với mô hình thực tế liệu ngày lớn Do đó, xây dựng thuật toán theo hướng song song hóa từ thuật toán đòi hỏi cần thiết Xuất phát từ chọn vấn đề “Song song hóa thuật toán mạng đồ thị” làm đề tài nghiên cứu luận án với hy vọng nghiên cứu luận án không đóng góp mặt lý luận thực tiễn thuật toán song song đề xuất mà góp phần làm tảng để tiếp tục xây dựng thuật toán song song khác mạng đồ thị Tổng quan tình hình nghiên cứu Trên giới, vấn đề xử lý song song quan tâm từ lâu John Weley Sons [40] giới thiệu cách xử lý song song đánh giá độ phức tạp tính toán song song Michael J Quinn [41] nghiên cứu lý thuyết tính toán song song thực nghiệm, ông xây dựng mô hình tính toán song song đưa thuật toán song song Tiếp theo đó, Seyed H Roosta [37] xây dựng mô hình cấu trúc máy tính Từ đó, ông đưa kiến trúc để xử lý song song, cách thực chương trình song song, cách thiết kế thuật toán song song xây dựng thuật toán song song đồ thị như: thuật toán tô màu đồ thị, toán người du lịch, thuật toán tìm chu trình thuật toán tìm khung nhỏ đồ thị Năm 2002, Behrooz Parhami [39] nghiên cứu kỹ phải xử lý song song đưa mô hình xử lý song song: PRAM, nhớ phân tán, kiến trúc song song SIMD, MIMD… Đồng thời khẳng định tính khả thi việc sử lý song song Ông nêu động để thúc đẩy việc xử lý song song cần thiết Năm 2000, tác giả M Sasikumar, Dinesh Shikhare, P Ravi Prakash [42] giới thiệu xử lý song song, phân tích kiến trúc xử lý song song xây dựng hệ thống tính toán song song đa xử lý Từ sở lý thuyết trên, luận án xác định vấn đề liên quan đến xử lý song song: cách xây dựng thuật toán song song, song song hóa thuật toán có, chọn ngôn ngữ lập trình song song, mô hình xử lý song song, hệ thống thực nghiệm thuật toán đánh giá độ phức tạp mặt thời gian Các tác giả công trình [45], [47], [48], [49], [50], [51], [52], [58], [59], [60], [61], [62] xây dựng thuật toán song song đồ thị mạng đồ thị Đặc biệt, thuật toán tìm đường ngắn nhất, tìm phủ nhỏ tìm luồng cực đại Đây thuật toán đồ thị Các tác giả phân tích thuật toán tuần tự, chọn hệ thống máy tính để thực song song, xây dựng thuật toán song song, chứng minh tính đắn độ phức tạp thuật toán song song Các tác giả hầu hết phân tích so sánh mức độ tăng tốc (speedup) thuật toán song song so với thuật toán thông qua biểu đồ bảng biểu Bài toán tìm luồng cực đại mạng đồ thị số toán tối ưu đồ thị ứng dụng rộng rãi thực tế ứng dụng thú vị lý thuyết tổ hợp Bài toán đề xuất giải hai nhà toán học Mỹ Ford and Fulkerson [53], tác giả dùng phương pháp đường tăng luồng để tìm luồng cực đại Bài toán sau nhà khoa học quan tâm nghiên cứu Edmonds Karp [54] đưa phương pháp khác Tuy nhiên, A Goldberg R.E Tarjan [55] đề xuất phương pháp đẩ y luồ ng trước Phương pháp đề xuất cách tiếp cận khác để giải toán tìm luồng cực đại Khái niệm mới ở là luồ ng trước Luồng trước tập hợp luồng cung , đó có thể chấ p nhâ ̣n tồ n ta ̣i đỉnh có luồ ng vào lớn luồ ng Trong phương pháp này , tác giả trì các luồ ng trước cực đa ̣i và hiê ̣u chin ̉ h chúng thành luồ ng Mới nhất, phương pháp tìm luồng cực đại nghiên cứu [2] [3], [4], [5], [6], [7], [8] Các thuật toán song song tìm luồng cực đại nghiên cứu Năm 1988, A Goldberg R.E Tarjan [57] đưa ý tưởng để xây dựng thuật toán song song Năm 1992, Anderson R J and Jo A C S [58] xây dựng thuật toán song song tìm luồng cực đại phương pháp đẩy luồng trước Tiếp theo đó, Bader D and Sachdeva V [59] phát triển thuật toán song song phương pháp đẩy luồng trước theo hướng khác nhằm làm giảm thời gian tính toán thuật toán tận dụng cấu trúc đa xử lý Năm 2008, Hong B công bố công trình [60], thuật toán song song cho toán tìm luồng cực đại phương pháp đẩy luồng trước Năm 2010, Zhengyu He, Bo Hong xây dựng thuật toán song song môi trường GPU dùng ngôn ngữ CUDA [61] Từ công trình phân tích trên, luận án tối ưu thuật toán song song đẩy luồng trước tìm luồng cực đại kế thừa từ [61], đề xuất thuật toán song song hỗn hợp đẩy kéo luồng tìm luồng cực đại cho giảm thời gian tính toán so với thuật toán khác Hơn nữa, thực tế cần xây dựng mạng đồ thị mở rộng, từ xây dựng thuật toán tìm luồng cực đại đồng thời chi phí giới hạn mạng giao thông mở rộng để giải toán phân luồng giao thông Tuy nhiên, thực tế mạng lưới giao thông phức tạp nên việc thực tốn nhiều thời gian với liệu đầu vào lớn Do đó, đề xuất thuật toán song song tìm đường ngắn đồ thị mở rộng thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn mạng giao thông mở rộng Tóm lại, xuất phát từ nhu cầu thực tế kế thừa nghiên cứu trước Luận án xác định rõ nội dung cụ thể lý thuyết như: Kiến trúc xử lý song song, mô hình xử lý song song phân tích phụ thuộc liệu Từ đó, đề xuất thuật toán song song, tìm môi trường lập trình song song, hệ thống thực nghiệm, lập trình song song cách đánh giá độ phức tạp thời gian tính toán song song Bên cạnh đó, luận án đề xuất thuật toán song song từ thuật toán tương ứng để làm giảm thời gian tính toán liệu đầu vào lớn Đồng thời, luận án tối ưu thuật toán song song đẩy luồng trước tìm luồng cực đại dựa vào tồn nghiên cứu công bố như: vấn đề chia liệu, môi trường thực nghiệm đưa ví dụ minh họa Các thuật toán luận án song song liệu, phân chia liệu cho xử lý để xử lý đồng thời thực công việc giao Hay nói cách khác, song song liệu song song mà tập trung vào phân phối liệu qua xử lý tính toán khác để xử lý song song Mục tiêu luận án - Phân tích đánh giá mặt lý thuyết thuật toán để tìm hạn chế thuật toán song song mạng đồ thị Từ đó, cải tiến hạn chế thuật toán song song có - Đề xuất, phân tích thuật toán mặt câu lệnh liệu để đề xuất thuật toán song song tương ứng Đối tƣợng phạm vi nghiên cứu Đối tượng nghiên cứu - Luận án nghiên cứu lý thuyết xử lý song song, mô hình tính toán song song - Luận án nghiên cứu lý thuyết đồ thị, chủ yếu toán tìm đường ngắn đồ thị mở rộng, thuật toán tìm luồng cực đại trên mạng đồ thị truyền thống mạng đồ thị mở rộng Phạm vi nghiên cứu - Đề xuất thuật toán song song tìm đường ngắn đồ thị mở rộng - Tối ưu thuật toán song song tìm luồng cực đại phương pháp đẩy luồng trước từ thuật toán song song có - Đề xuất thuật toán song song tìm luồng cực đại phương pháp hỗn hợp đẩy kéo luồng - Đề xuất thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn mạng giao thông mở rộng Phƣơng pháp nghiên cứu - Tổng hợp, phân tích kết nghiên cứu trước từ rút ra, tìm vấn đề cần phải giải đút rút phương pháp giải vấn đề - Tìm phương pháp mở rộng toán, cải tiến, xây dựng thuật toán để giải vấn đề đặt - Từ thực nghiệm đến chứng minh phương pháp toán học để tính vượt trội cấu trúc mới, thuật toán Điểm luận án - Đề xuất thuật toán song song tìm đường ngắn đồ thị mở rộng Chúng đề xuất thuật toán để ứng dụng cho mạng giao thông phù hợp với thực tế Từ đó, phân tích độ phức tạp thời gian đưa ví dụ minh họa rõ ràng - Tối ưu thuật toán song song tìm luồng cực đại phương pháp đẩy luồng trước từ thuật toán song song có Điểm phân tích liệu, chia liệu cụ thể cho xử lý Phần thực nghiệm thực rõ ràng, chương trình xây dựng hệ thống cụm máy tính Các kết bình luận so sánh cụ thể - Đề xuất thuật toán song song tìm luồng cực đại phương pháp hỗn hợp đẩy kéo luồng Chúng kết hợp thuật toán đẩy luồng trước thuật toán kéo luồng sau để xây dựng thuật toán song song Các định lý liên quan đến thuật toán chứng minh ví dụ minh họa xây dựng cụ thể Do tính độc lập thuật toán đẩy kéo luồng nên thời gian thực thuật toán song song giảm so với thời gian thực thuật toán song song khác - Đề xuất thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn mạng giao thông mở rộng Để giảm thời gian tính toán thuật toán, xây dựng thuật toán song song tìm luồng cực đại chi phí giới hạn Các định lý liên quan đến thuật toán chứng minh Thuật toán song song làm giảm nhiều thời gian so với thuật toán Kết nghiên cứu - Luận án đề xuất thuật toán song song sở yêu cầu thực tế đặt ra, chứng minh tính đắn, phân tích độ phức tạp thời gian thuật toán Đồng thời luận án song song hóa thuật toán có, từ ưu điểm so với thuật toán có trước - Luận án xây dựng chương trình thực nghiệm hệ thống song song khác Từ đó, đưa số liệu cụ thể để: đánh giá, so sánh kết đạt thuật toán song song so với thuật toán so sánh với thuật toán song song có trước Bố cục luận án Ngoài phần mở đầu, kết luận, tài liệu tham khảo, luận án trình bày thành ba chương sau: Chương 1: Xử lý song song Nội dung chương chủ yếu trình bày lý thuyết xử lý song song: kiến trúc song song, mô hình xử lý song song, cách xây dựng thuật toán song song cách đánh giá độ phức tạp thời gian thuật toán song song Chương 2: Các thuật toán song song mạng đồ thị truyền thống Nội dung thứ chương chủ yếu tối ưu thuật toán song song đẩy luồng trước tìm luồng cực đại kế thừa từ công trình nghiên cứu Nội dung thứ hai, đề xuất thuật toán hỗn hợp đẩy kéo luồng Từ đó, đề xuất thuật toán song song cho thuật toán hỗn hợp Chương 3: Một số thuật toán song song tìm đường ngắn tìm luồng cực đại mạng đồ thị mở rộng Nội dung chương chủ yếu kế thừa thuật toán để đề xuất thuật toán song song tìm đường ngắn đồ thị mở rộng thuật toán song song tìm luồng cực đại chi phí giới hạn mạng giao thông mở rộng CHƢƠNG XỬ LÝ SONG SONG Trong chương này, trình bày lý thuyết xử lý song song: kiến trúc song song, mô hình xử lý song song, cách xây dựng thuật toán song song cách đánh giá độ phức tạp thời gian thuật toán song song Trên sở đó, đề xuất thuật toán song song chương Nội dung chương chủ yếu kế thừa từ tài liệu [1], [37], [39], [41] 1.1 Giới thiệu xử lý song song Các ứng dụng lý thuyết đồ thị lớn phong phú nhiều lĩnh vực khác như: kinh tế, giao thông, truyền thông, điện tử, y khoa… Vì vậy, toán đồ thị cần phải xử lý với liệu đầu vào lớn để đáp ứng nhu cầu thực tế Do vậy, cần xây dựng toán theo hướng song song để giảm thời gian tính toán Những vấn đề xử lý ngôn ngữ tự nhiên, nhận dạng, xử lý ảnh ba chiều, dự báo thời tiết, mô hình mô hệ thống lớn thực tế đòi hỏi phải xử lý liệu với tốc độ cao khối lượng liệu lớn Do đó, cần phải có hệ thống máy tính thật mạnh thực yêu cầu thực tế cách nhanh chóng hiệu Điều gặp nhiều khó khăn khả giới hạn vật lý Vì vậy, hướng xử lý song song dùng hệ thống máy tính đa xử lý xử lý đa nhân lựa chọn để giải toán đặt Xử lý song song trình xử lý gồm nhiều tiến trình kích hoạt đồng thời tham gia giải vấn đề, nói chung thực tính toán hệ thống đa xử lý [1] Tính toán song song hình thức tính toán nhiều phép tính thực đồng thời, hoạt động nguyên tắc vấn đề lớn chia thành nhiều phần nhỏ để giải đồng thời xử lý Các xử lý kết hợp với để giải vấn đề giảm thời gian xử lý, thời điểm có nhiều phép toán thực đồng thời Phần lớn hệ điều hành ngày hỗ trợ đa xử lý, đa nhiệm cho phép nghiên cứu, khai thác phương pháp lập trình song song Bằng cách tăng số lượng xử lý, ta hy vọng thực nhiều công việc với thời gian so với hệ điều hành đơn xử lý Hệ đa xử lý cho phép chia công việc thành phần nhỏ giao cho xử lý đảm nhận, cho phép tích hợp hệ thống máy tính có để tạo hệ thống với sức mạnh tăng nhiều lần Một mục đích xử lý song song thực tính toán nhanh sở sử dụng nhiều xử lý đồng thời Cùng với tốc độ xử lý nhanh hơn, việc xử lý song song giải toán phức tạp yêu cầu khối lượng tính toán lớn 1.2 Kiến trúc máy tính song song Theo Michael Flynn [79] Seyed H Roosta [37], kiến trúc máy tính phân thành loại: - SISD (Single Instructions Stream, Single Data Stream): Máy tính luồng lệnh, luồng liệu Các máy tính SISD tương ứng với máy xử lý mà nghiên cứu SISD có CPU, thời điểm thực lệnh đọc, ghi mục liệu - SIMD (Single Instructions Stream, Multiple Data Stream): Máy tính luồng lệnh, nhiều luồng liệu Các máy SIMD có số lớn xử lý giống nhau, thực lệnh giống để xử lý nhiều luồng liệu khác Mỗi xử lý có nhớ liệu riêng, có nhớ lệnh đơn vị điều khiển - MISD (Multiple Instructions Stream, Single Data Stream): Máy tính nhiều luồng lệnh, luồng liệu Máy tính loại MISD ngược lại với SIMD Máy tính MISD thực nhiều lệnh mục liệu Đây lớp máy tính yêu cầu đơn vị xử lý khác nhận lệnh khác để thực mục liệu - MIMD (Multiple Instruction Stream, Multiple Data Stream): Máy tính nhiều luồng lệnh, nhiều luồng liệu Các máy MIMD lên xem kiến trúc đương nhiên phải chọn cho máy nhiều xử lý dùng ứng dụng thông thường, tập hợp xử lý thực chuỗi lệnh khác tập hợp liệu khác Máy tính loại MIMD gọi đa xử lý Trong đó, xử lý thực luồng lệnh khác luồng liệu riêng Hầu hết hệ thống MIMD có nhớ riêng 1.2.1 Kiến trúc song song SIMD Phần tử xử lý Tín hiệu điều khiển Phần tử xử lý Phần tử xử lý n Luồng lệnh Kết Luồng liệu Luồng liệu Luồng liệu n Bộ nhớ Hình 1.1 Mô hình kiến trúc song song SIMD Trong máy SIMD, nhiều thành phần xử lý giám sát đơn vị điều khiển Tất thành phần xử lý nhận mệnh lệnh từ đơn vị điều khiển lại thực tập liệu khác đến từ luồng liệu khác Một máy SIMD có đặc điểm sau: xử lý phân tán số lượng lớn phần cứng, thực đồng thời nhiều thành phần liệu khác thực câu lệnh thành phần liệu Mô hình kiến trúc song song SIMD Seyed H Roosta trình bày [37, tr 6] Hình 1.1 1.2.2 Kiến trúc song song MIMD Một máy tính MIMD hệ thống nhiều xử lý nhiều nhớ, xử lý có đơn vị xử lý riêng thực chương trình riêng Các xử lý thực nhiều câu lệnh khác tập liệu khác nhau, chia sẻ tài nguyên chứa hệ thống nhớ Các hệ thống MIMD thực phép toán theo dạng song song không đồng [34], [37] 10 [21] Trần Quốc Chiến, Lê Mạnh Thạnh, Nguyễn Đình Lầu, Thuật toán song song tìm luồng cực đai đồng thời chi phí giới hạn, kỷ yếu hội thảo quốc gia @16, Những vấn đề chọn lọc công nghệ thông tin truyền thông, Đà Nẵng 1415/11/2013, Nhà xuất khoa học tự nhiên kỹ thuật, ISBN: 978-604-670251-1, trang 314-321 [22] Trần Quốc Chiến, Nguyễn Mậu Tuệ, Trần Ngọc Việt, “Thuật toán tìm đường ngắn đồ thị mở rộng” Kỷ yếu Hội nghị Khoa học Quốc gia lần thứ VI FAIR 2013, Huế, ISBN: 978-604-913-165-3, 2013, trang 522-527 [23] Trần Quốc Chiến, Nguyễn Thanh Tuấn Giải thuật tìm đường ngắn hai tập đỉnh, Tạp chí Khoa học Công nghệ, Đại học Đà Nẵng, số 7, 2004, trang 41-46 [24] Nguyễn Đình Lầu, Lê Mạnh Thạnh, Trần Quốc Chiến, Thuật toán song song đẩy luồng trước tìm luồng cực đại, Chuyên san số đặc biệt công trình Điện tử, truyền thông Công nghệ thông tin Viện Hàn Lâm Khoa Học Công Nghệ Việt Nam & Học Viện Bưu Chính Viễn Thông, ISSN: 0866 708X, số 51(4A), 2013, trang 109- 125 [25] Trần Quốc Chiến, Lê Mạnh Thạnh, Nguyễn Đình Lầu, Thuật toán song song tìm luồng cực đại phương pháp hỗn hợp đẩy kéo luồng, Kỷ yếu hội nghị Quốc gia lần thứ VI nghiên cứu ứng dụng Công nghệ thông tin (FAIR): Thừa Thiên - Huế, ngày 20-21/6/2013, ISBN: 978604-913-165-3, Nhà xuất khoa học tự nhiên công nghệ Hà Nội, trang 538-549 [26] Nguyễn Đình Lầu, Trần Ngọc Việt, Song song hóa thuật toán tìm đường ngắn tất các đỉnh hệ thống cụm máy tính, Kỷ yếu hội thảo quốc gia lần thứ XV, số vấn đề chọn lọc công nghệ thông tin truyền thông, chủ đề: tính toán khoa học, nhà xuất khoa học kỹ thuật, Hà Nội 2012, trang 403-409 [27] Trần Quốc Chiến (chủ nhiệm), Nguyễn Đình Lầu, Phan Cao Thọ, Trần Ngọc Việt, Nguyễn Thanh Tuấn, Trương Phước Minh, Đoàn Thùy Trang Đề tài cấp 91 Thành phố: Bài toán mạng giao thông ứng dụng quản lý quy hoạch phân luồng giao thông thành phố Đà Nẵng, QĐ nghiệm thu số 46/QĐ-SKHCN năm 2014 giám đốc sở KH&CN TP Đà Nẵng [28] Nguyễn Đình Lầu, Trần Ngọc việt, Thuật toán song song tìm đường ngắn nhiều cặp đỉnh nguồn đích đồ thị, Tạp chí Khoa học & Công nghệ, Đại học Đà nẵng, 1, số 9, 2012, trang 30-34 [29] Nguyễn Đình Lầu, Trần Ngọc việt, Song song hóa thuật toán dijkstra tìm đường ngắn từ đỉnh đến tất các đỉnh, Chuyên san Khoa học tự nhiên, Tạp chí Khoa học, Đại học Huế, Tập 74B, Số 5, 2012, trang 81-92 [30] Trần Quốc Chiến, Trần Ngọc Việt, Nguyễn Đình Lầu, Thuật toán tìm luồng cực đại mạng mở rộng Tạp chí Khoa học & Công nghệ, Đại học Đà Nẵng, Quyển II, số 1(74), 2014, trang 1-4 [31] Trần Quốc Chiến, Trần Ngọc Việt, Nguyễn Đình Lầu, Thuật toán đường tăng luồng tìm luồng cực đại mạng hỗn hợp mở rộng Tạp chí khoa học công nghệ, Đại học Đà Nẵng, số 9(82), 2014, trang 32-37 [32] Trần Quốc Chiến, Trần Ngọc Việt, Nguyễn Đình Lầu, Thuật toán đẩy luồng trước tìm luồng cực đại mạng hỗn hợp mở rộng, Tạp chí khoa học công nghệ, Đại học Đà Nẵng, số 11(84), 2014, trang 87-91 [33] Trần Quốc Chiến, Trần Ngọc Việt, Nguyễn Đình Lầu, Thuật toán hoán chuyển nguồn đích tìm luồng cực đại mạng giao thông, Tạp chí khoa học công nghệ, Đại học Đà Nẵng, số (80), 2014, trang 94-97 [34] Nguyễn Mậu Hân, Phạm Xuân Thiện, Phương pháp xử lý logic vị từ thuật toán song song, Tạp chí Khoa học, Chuyên san Khoa học Tự nhiên, Đại học Huế, số 27, 2005, trang 8-16 [35] Nguyễn Đức Nghĩa, Nguyễn Tô Thành, Toán rời rạc, Nhà xuất Đại học Quốc gia Hà Nội, 2006 [36] Chien Tran Quoc, Lau Nguyen Dinh, Trinh Nguyen Thi Tu, Sequential and Parallel Algorithm by Postflow-Pull Methods to Find Maximum Flow, Proceedings 2013 13th International Conference on Computational Science 92 and Its Applications, published by CPS, ISBN:978-0-7695-5045-9/13, DOI 10.1109/ICCSA.2013.36, pp 178-181 [37] Seyed H Roosta, Parallel Processing and Parallel Algorithms, Theory and Computation,USA, Springer 1999 [38] Ananth Gramma, Anshul Gupta, George Karypis, Vipin Kumar : Introduction to Parallel Computing 2nd, Addison Wesley, USA, 2003 [39] Behrooz Parhami, Introduction to Parallel Processing (Algorithms and Architectures), University of California at Santa Barbara Santa Barbara, California, 2002 [40] John Weley & Sons, Parallel Complexity Theory, Pennsylvania State University, USA, 1987 [41] Michael J Quinn, Parallel Computing Theory and Practice, MaGraw-Hill, 1994 [42] M Sasikumar, Dinesh Shikhare, P Ravi Prakash, Introduction to Parallel Processing, Prentice - Hall, 2000 [43] Zilong Ye, An Implementation of Parallelizing Dijkstra‟s Algorithm, CSE633 Course Project, ID: 3715-8138, 2012 [44] Ned Nedialkov, Parallel Distributed Shortest Paths, SE 3F03, McMaster University Canada, March 2013 [45] Alistair K Phipps, Parallel algorithms for geometric shortest path problems, Master of Science Computer Science School of Informatics, University of Edinburgh, 2004 [46] John Mellor-Crummey, Graph Algorithms, Department of Computer Science Rice University, COMP 422 Lecture 24, 16 April 2013 [47] A Grama, A Gupta, G Karypis, and V Kumar, Introduction to Parallel Computing, 2nd ed, Harlow England: Addison-Wesley, 2003 [48] Michael Creel, An Introduction to Parallel Computing in Econometrics, Master en Economia de la Empresa y Metodos Cuantitativos, UC3M, April 2008 93 [49] G Stefano, A Petricola, C Zaroliagis, “On the implementation of parallel shortest path algorithms on a supercomputer”, in Proc of ISPA‟06, 2006, pp 406-417 [50] Y Tang, Y Zhang, H Chen, “A Parallel Shortest Path Algorithm Based on Graph-Partitioning and Iterative Correcting”, in Proc of IEEE HPCC‟08, 2008, pp 155-161 [51] Hua Wang, Ling Tian, and Chun-Hua Jiang, Practical Parallel Algorithm for All-Pair Shortest Path Based on Pipelining, journal of electronic science and technology of China, vol 6, no 3, september 2008, pp 329-333 [52] V Kumar and V Singh, “Scalability of parallel algorithm for the all pairs shortest path problem,” J Parallel and Distributed Computing, vol 13, no 2, 1991, pp 124-138 [53] Ford L R and Fulkerson D R Flows in Networks Princeton University Press, 1962 [54] Edmonds J and Karp R M Theoretical improvements in algorithmic efficiency for network flow problems, J ACM, (19), 1972, pp 248–264 [55] Goldberg A V and Tarjan R E A new approach to the maximum flow problem, Journal of the ACM (JACM), ACM New York, NY, USA, Volume 35 Issue 4, Oct 1988, doi: 10.1145/48014.61051, pp 921-940 [56] Robert Sedgewick, Algorithms in C, Part 5: Graph Algorithms AddisonWesley, 2001 [57] Andrew V Goldberg, Robert E Tarjan, A parallel algorithm for finding a blocking flow in an acyclic network, CS-TR-186-88, 1988 [58] Anderson R J and Jo A C S On the parallel implementation of goldberg‟s maximum flow algorithm, in SPAA: Proceedings of the fourth annual ACM symposium on Parallel algorithms and architectures New York, USA: ACM, 1992, pp 168-177 [59] Bader D and Sachdeva V A cache-aware parallel implementation of the pushrelabel network flow algorithm and experimental evaluation of the gap 94 relabeling heuristic, in PDCS ‟05: Proceedings of the 18th ISCA International Conference on Parallel and Distributed Computing Systems, 2005, pp 41-48 [60] Hong B A lock-free multi-threaded algorithm for the maximum flow problem, in IEEE International Parallel and Distributed Processing Symposium, 2008, pp 1-8 [61] Zhengyu He, Bo Hong, Dynamically Tuned Push-Relabel Algorithm for the Maximum Flow Problem on CPU-GPU-Hybrid Platforms, IEEE International Parallel and Distributed Processing Symposium , 2010, pp 1-10 [62] Agnieszka Łupińska, Parallel implementation of flow and matching algorithms, 2011 (http://arxiv.org/pdf/1110.6231.pdf) [63] Adam N Letchford, Juan-Jose Salazar-Gonzalez, Stronger Multi-Commodity Flow Formulations of the Capacitated Vehicle Routing Problem, European Journal of Operational Research, Volume 244, Issue 3, August 2015, pp 730– 738 [64] Naveen Garg, Jochen Könemann: Faster and Simpler Algorithms for Multicommodity Flow and Other Fractional Packing Problems, SIAM J Comput, Canada, 37(2), 2007, pp 630-652 [65] G Karakostas, Faster approximation schemes for fractional multicommodity flow problems In Proceedings, ACM-SIAM Symposium on Discrete Algorithms, 2002, pp 166–173 [66] Marc Pfetsch, Zuse Institute Berlin, Multicommodity Flows and Column Generation, Technische Universität Berlin Fakultät II, Institut für Mathematik WS 2006/07 [67] Clifford Stein, Approximation algorithms for multicommodity flow and shop scheduling problems, aboratory for computer science, MIT/LCS/TR-550, 1992 [68] T Radzik Fast deterministic approximation for the multicommodity flow problem In Proceedings, ACM-SIAM Symposium on Discrete Algorithms, 1995, pp 486–492 95 [69] F Shahrokhi and D Matula The maximum concurrent flow problem J ACM, 37(2), 1990, pp 318–334 [70] Clifford Stein, Approximation algorithms for multicommodity flow and scheduling problems PhD thesis, 1992 [71] Tamás Király and Júlia Pap, Stable Multicommodity Flows, journal MDPI, ISSN 1999-4893, Algorithms 2013, pp 161-168 [72] Guy Even, Moti Medina, Online Multi-Commodity Flow with High Demands, 10th International Workshop, WAOA 2012, Ljubljana, Slovenia, September 13-14, 2012 Volume 7846 of the series Lecture Notes in Computer Science , pp 16-29 [73] Maxim A Babenko, Alexander V Karzanov, On Weighted Multicommodity Flows in Directed Networks arXiv:1212.0224v1 [math.CO], Dec 2012 [74] Stephan Winter, Route Specifications with a Linear Dual Graph, Proceedings International Society for Photogrammery and Remote Sensing 2002, part 4, paper 096 (http://www.isprs.org/proceedings/XXXIV/part4/pdfpapers/096.pdf) [75] Delling, D Sanders, P.Schultes, D.Wagner, Engineering Route Planning Algorithm Volume 5515 of Lecture Notes in Computer Science Springer 2009, pp 117–139 [76] Lars Volker, Route Planning in Road Networks with Turn Costs, Student Research Project, 2008 (http://algo2.iti.uni-karlsruhe.de/documents/ routeplanning/volker_sa.pdf) [77] Robert Geisberger and Christian Vetter, Effcient Routing in Road Networks with Turn Costs, Proceedings 10th International Symposium, SEA 2011, Kolimpari, Chania, Crete, Greece, May 5-7, 2011, Volume 6630 of the series Lecture Notes in Computer Science, pp 100-111 [78] Lau Nguyen Dinh, Chien Tran Quoc, Thanh Le Manh, Improved Computing Performance for Algorithm Finding the Shortest Path in Extended Graph, proceedings of the 2014 international conference on foundations of computer science (FCS‟14), July 21-24, 2014, USA, ISBN: 1-60132-270-4, pp 14-20 96 [79] M J Flynn Very high-speed computing systems, Proceedings of the IEEE, Vol 54, No 12, December 1966, pp 1901-1909 [80] Steve Fortune and James Wyllie, Parallelism in random access machines, STOC '78 Proceedings of the tenth annual ACM symposium on Theory of computing, 1978, pp 114-118 [81] Jun-Sik Kim, Myung Hwangbo and Takeo Kanade, Parallel algorithms to a parallel hardware: Designing vision algorithms for a GPU, 12th International Conference on Computer Vision Workshops, ICCV Workshops ISBN 978-14244-4441-0/09/$25.00 ©2009 IEEE, 2009, pp 862-869 [82] Lau Nguyen Dinh, Tran Quoc Chien, Traveling Salesman Problem in Distributed Environment, Fourth International Conference on Advanced Information Technologies and Applications (ICAITA 2015), ISSN: 2231– 5403, ISBN: 978-1-921987-43-4, DOI: 10.5121.2015.51501, 2015, pp 19-28 [83] Lau Nguyen Dinh, Tran Quoc Chien, Sequential and parallel Algorithm to find maximum flow on extended mixed networks by revised postflow-pull methods, Fourth International Conference on Advanced Information Technologies and Applications (ICAITA 2015), ISSN: 2231–5403, ISBN: 978-1-921987-43-4, DOI: 10.5121/csit.2015.51501, 2015, pp 19-28 [84] Lau Nguyen Dinh, Tran Quoc Chien, Solving Traveling Salesman Problem on Multicomputer Cluster, International Conference on Computational Intelligence &Networks (CINE 2016), 11th January, 2016 KIIT University, published by CPS IEEE, http://www.kiit.ac.in/cine2016/, (Accepted) [85] Lau Nguyen Dinh, Tran Quoc Chien, Sequential and parallel algorithm to find maximum flow in extended mixed network, Journal of Computers (JCP), ISSN: 1796-203X, http://www.jcomputers.us/, (Accepted) 97 MỤC LỤC MỤC LỤC DANH MỤC CÁC HÌNH DANH MỤC CÁC CHỮ VIẾT TẮT MỞ ĐẦU 1 Tính cấp thiết việc nghiên cứu Tổng quan tình hình nghiên cứu .2 Mục tiêu luận án .5 Đối tượng phạm vi nghiên cứu 5 Phương pháp nghiên cứu .6 Điểm luận án .6 Kết nghiên cứu Bố cục luận án CHƢƠNG XỬ LÝ SONG SONG 1.1 Giới thiệu xử lý song song 1.2 Kiến trúc máy tính song song 1.2.1 Kiến trúc song song SIMD .10 1.2.2 Kiến trúc song song MIMD 10 1.2.3 Mô hình máy tính PRAM .12 1.3 Thuật toán song song 14 1.3.1 Quy trình thiết kế thuật toán song song 14 1.3.2 Nguyên lý thiết kế thuật toán song song 16 1.3.3 Các cách tiếp cận thiết kế 16 1.3.4 Phân tích, đánh giá thuật toán song song .17 1.4 Kết luận chương 18 CHƢƠNG CÁC THUẬT TOÁN TUẦN TỰ VÀ SONG SONG TRÊN MẠNG ĐỒ THỊ TRUYỀN THỐNG 19 2.1 Mạng luồng 19 98 2.2 Bài toán luồng cực đại 20 2.3 Thuật toán đẩy luồng trước tìm luồng cực đại 21 2.3.1 Thuật toán 21 2.3.1.1 Giới thiệu 21 2.3.1.2 Các khái niệm 21 2.3.1.3 Phương pháp đẩy luồng trước tổng quát 23 2.3.1.4 Thuâ ̣t toán đẩ y luồ ng trước 24 2.3.1.5 Ví dụ minh họa 27 2.3.2 Thuật toán song song 30 2.3.2.1 Giới thiệu 30 2.3.2.2 Ý tưởng thuật toán song song 31 2.3.2.3 Xây dựng thuật toán song song 31 2.3.2.4 Ví dụ minh họa 33 2.3.2.5 Phân tích độ phức tạp thời gian 36 2.3.2.6 Kết thực nghiệm 37 2.3.2.7 Kết luận .40 2.4 Thuật toán hỗn hợp đẩy kéo luồng .40 2.4.1 Thuật toán kéo luồng sau 40 2.4.1.1 Giới thiệu 40 2.4.1.2 Các khái niệm 40 2.4.1.3 Phương pháp kéo luồ ng sau tổ ng quát 41 2.4.1.4 Thuâ ̣t toán kéo luồ ng sau 42 2.4.1.5 Ví dụ minh họa 43 2.4.2 Thuật toán hỗn hợp đẩy kéo luồng tìm luồng cực đại 46 2.4.2.1 Phương pháp hỗn hợp đẩy kéo luồng tổ ng quát 46 2.4.2.2 Thuâ ̣t toán hỗn hợp đẩy kéo luồ ng .47 2.4.2.3 Ví dụ minh họa 49 2.4.3 Thuật toán song song hỗn hợp đẩy kéo luồng tìm luồng cực đại 51 2.4.3.1 Giới thiệu 51 99 2.4.3.2 Ý tưởng thuật toán song song 52 2.4.3.3 Xây dựng thuật toán song song 52 2.4.3.4 Ví dụ minh họa 54 2.4.3.5 Kết thực nghiệm 57 2.4.3.6 Kết luận .59 2.5 Kết luận chương 59 CHƢƠNG MỘT SỐ THUẬT TOÁN SONG SONG TÌM ĐƢỜNG ĐI NGẮN NHẤT VÀ TÌM LUỒNG CỰC ĐẠI TRÊN MẠNG ĐỒ THỊ MỞ RỘNG 60 3.1 Đồ thị mở rộng 60 3.2 Thuật toán tìm đường ngắn đồ thị mở rộng 60 3.2.1 Thuật toán 60 3.2.1.1 Giới thiệu 61 3.2.1.2 Xây dựng thuật toán 61 3.2.2 Thuật toán song song 62 3.2.2.1 Giới thiệu 62 3.2.2.2.Ý tưởng thuật toán song song .63 3.2.2.3 Xây dựng thuật toán song song 63 3.2.2.4 Kết thực nghiệm 67 3.2.2.5 Kết luận .70 3.3 Thuật toán tìm luồng cực đại đồng thời chi phí giới hạn 70 3.3.1 Thuật toán 70 3.3.1.1 Giới thiệu 70 3.3.1.2 Mạng giao thông mở rộng 70 3.3.1.3 Phát biểu toán luồng cực đại đồng thời chi phí giới hạn 71 3.3.1.4 Thuật toán tìm luồng cực đại đồng thời chi phí giới hạn 73 3.3.1.5 Trình bày thuật toán theo giả mã 76 3.3.2 Thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn 78 3.3.2.1 Giới thiệu 78 100 3.3.2.2 Ý tưởng thuật toán song song .79 3.3.2.3 Xây dựng thuật toán song song 79 3.3.2.4 Ví dụ minh họa 83 3.3.2.5 Phân tích độ phức tạp thời gian 84 3.3.2.6 Kết thực nghiệm 84 3.3.2.7 Kết luận .86 3.4 Kết luận chương 86 KẾT LUẬN 87 DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ ĐÃ CÔNG BỐ LIÊN QUAN ĐẾN LUẬN ÁN 88 TÀI LIỆU THAM KHẢO 89 101 DANH MỤC CÁC HÌNH Hình 1.1 Mô hình kiến trúc song song SIMD 10 Hình 1.2 Mô hình MIMD chia sẻ nhớ 11 Hình 1.3 Mô hình MIMD truyền thông điệp 11 Hình 1.4 Mô hình PRAM 13 Hình 1.5 Quy trình thiết kế thuật toán song song 15 Hình 2.1 Mạng đồ thị với nguồn a đích z 19 Hình 2.2 Mạng đồ thị biểu diễn luồng .20 Hình 2.3 Mạng đồ thị G 27 Hình 2.4 Mạng đồ thị khởi tạo 27 Hình 2.5 Mạng đồ thị cân b, d 29 Hình 2.6 Mạng đồ thị cân c, b 29 Hình 2.7 Mạng đồ thị cân e, d 30 Hình 2.8 Mạng đồ thị biểu diễn kết thực xử lý phụ 34 Hình 2.9 Mạng đồ thị biểu diễn kết thực xử lý 35 Hình 2.10 Mạng đồ thị biểu diễn kết thực xử lý phụ 36 Hình 2.11 Giao diện tạo mạng đồ thị ngẫu nhiên 38 Hình 2.12 Biểu diễn kết ví dụ 38 Hình 2.13 Biểu diễn mức độ tăng tốc xử lý đồ thị 7000 đỉnh (nét liền) 5000 đỉnh (nét đứt) .39 Hình 2.14 Mạng đồ thị G 43 Hình 2.15 Khởi tạo mạng đồ thị .44 Hình 2.16 Mạng đồ thị cân h, i 44 Hình 2.17 Mạng đồ thị cân f, g 44 Hình 2.18 Mạng đồ thị cân i, c 45 Hình 2.19 Mạng đồ thị cân e, g .45 Hình 2.20 Mạng đồ thị cân b, d .45 Hình 2.21 Mạng đồ thị cân h 46 Hình 2.22 Mạng đồ thị cân h 46 102 Hình 2.23 Mạng đồ thị G 49 Hình 2.24 Mạng đồ thị khởi tạo .49 Hình 2.25 Mạng đồ thị cân b, h .49 Hình 2.26 Mạng đồ thị cân d, i 50 Hình 2.27 Mạng đồ thị cân c, f 50 Hình 2.28 Mạng đồ thị cân b, g .50 Hình 2.29 Mạng đồ thị cân e, i 50 Hình 2.30 Mạng đồ thị cân c, g .51 Hình 2.31 Mạng đồ thị cân e, h .51 Hình 2.32 Mạng đồ thị cân d, h .51 Hình 2.33 Mạng đồ thị cân b xử lý P1, cân h xử lý P2 55 Hình 2.34 Mạng đồ thị cân d xử lý P1 cân i xử lý P2 56 Hình 2.35 Mạng đồ thị cân c xử lý P1, cân f xử lý P2 .56 Hình 2.36 Giao diện Client 57 Hình 2.37 Giao diện Server 58 Hình 3.1 Ma trận trọng số cạnh xử lý .66 Hình 3.2 Đồ thị mở rộng G 67 Hình 3.3 Giao diện tạo đồ thị mở rộng ngẫu nhiên 68 Hình 3.4 Giao diện Server 69 Hình 3.5 Mức độ tăng tốc xử lý đồ thị 7000 nút (nét liền) 5000 nút (nét đứt) 69 Hình 3.5 Mạng giao thông mở rộng 83 Hình 3.6 Giao diện đăng nhập để chọn liệu thực nghiệm 85 Hình 3.7 Mức độ tăng tốc xử lý với liệu thành phố Đà Nẵng 85 Hình 3.8 Giao diện Server 86 103 DANH MỤC CÁC CHỮ VIẾT TẮT BXL Bộ xử lý CPU Central Processing Unit Đơn vị xử lý trung tâm CU Control Unit Đơn vị điều khiển MISD Multiple Instruction Stream, Single Data Stream Đa luồng lệnh, đơn luồng liệu MIMD Multiple Instruction Stream , Multiple Data Stream Đa luồng lệnh, đa luồng liệu MPI Message Passing Interface Trao đổi thông điệp PRAM Parallel Random Access Machine Máy truy cập ngẫu nhiên song song SIMD Single Instruction Stream, Multiple Data Stream Đơn luồng lệnh, đa luồng liệu SISD Single Instruction Stream, Single Data Stream Đơn luồng lệnh, đơn luồng liệu 104 LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng tôi, có kế thừa công trình nghiên cứu trước có liên quan đến đề tài Các số liệu, kết nghiên cứu luận án trung thực chưa công bố bất kỳ công trình khác Tác giả luận án Nguyễn Đình Lầu 105 [...]... hình này, chúng ta có thể đánh giá độ phức tạp về mặt thời gian của thuật toán Đây là mô hình tổng quát cho máy tính song song kiểu MIMD 1.3 Thuật toán song song 1.3.1 Quy trình thiết kế thuật toán song song Song song hóa thuật toán là chuyển một thuật toán tuần tự đã có thành một thuật toán song song Quy trình thiết kế thuật toán song song thực hiện qua bốn công đoạn: phân rã (Partition), truyền thông... thiết kế Có ba cách tiếp cận để thiết kế thuật toán song song: 1 Thực hiện song song hoá những thuật toán tuần tự, biến đổi những cấu trúc 16 tuần tự để tận dụng được những khả năng song song tự nhiên của tất cả các thành phần trong hệ thống xử lý 2 Thiết kế những thuật toán song song mới phù hợp với kiến trúc song song 3 Xây dựng những thuật toán song song từ những thuật toán song song đã được xây... đoạn trên được Seyed H Roosta [ 37, tr 223] biểu diễn như trong Hình 1.5 Bài toán Phân rã Truyền thông Tích tụ Ánh xạ BXL1 BXL2 BXL3 Hình 1.5 Quy trình thiết kế thuật toán song song 15 1.3.2 Nguyên lý thiết kế thuật toán song song Những thuật toán, trong đó có một số thao tác có thể thực hiện đồng thời được gọi là thuật toán song song Tổng quát hơn, thuật toán song song là một tập các tiến trình hoặc các. .. này, chúng tôi sẽ tối ưu thuật toán song song trong [61] bằng cách trình bày từng bước cụ thể hơn, chia dữ liệu cho các bộ xử lý thực hiện, có ví dụ để minh họa cho các bước của thuật toán Đồng thời, thuật toán sẽ xây dựng tổng quát cho tất cả các hệ thống tính toán song song khác 30 nhau và phân tích thời gian tính toán của thuật toán song song Vì vậy, sự cải tiến của thuật toán được đề xuất so với... 2.3.2 Thuật toán song song 2.3.2.1 Giới thiệu Các công trình nghiên cứu về thuật toán song song bằng thuật toán đẩy luồng trước được công bố trong [58], [59], [60] Năm 2010, Zhengyu He, Bo Hong [61] đã xây dựng thuật toán song song đẩy luồng trước trên môi trường CUDA Tuy nhiên, các công trình trên còn hạn chế là: dữ liệu của bài được chia cho các bộ xử lý như thế nào, các bước thực hiện song song rất... lý nêu trên, khi thiết kế thuật toán song song còn một số điểm cần quan tâm: 1 Hiệu quả thực hiện của thuật toán song song có thể rất khác nhau, mà yếu tố quan trọng nhất ảnh hưởng tới độ phức tạp tính toán là cấu hình tô pô liên kết mạng 2 Thuật toán song song phải được thiết kế dựa trên những kiến thức về kiến trúc máy tính, ngôn ngữ lập trình song song và các phương pháp tính toán 1.3.3 Các cách tiếp... luồng của các đỉnh trên mạng đồ thị G, h: độ cao của các đỉnh trên mạng đồ thị G, f: luồng trên các cung của mạng đồ thị G, c: khả năng thông qua trong mạng G, cf: khả năng thông qua trong mạng thặng 31 dư Gf, Q: tập các đỉnh hoạt động (không kể đỉnh a và z) là các đỉnh có độ lệch luồng dương Việc khởi tạo giống như khởi tạo ở thuật toán tuần tự (1.2) Chia tập đỉnh V thành m-1 tập con Vi cho các bộ xử... kiến trúc máy tính song song và số lượng các bộ xử lý được phép sử dụng trong hệ thống 18 CHƢƠNG 2 CÁC THUẬT TOÁN TUẦN TỰ VÀ SONG SONG TRÊN MẠNG ĐỒ THỊ TRUYỀN THỐNG Nội dung chính trong chương này gồm hai phần: Phần thứ nhất là kế thừa thuật toán tuần tự và song song đẩy luồng trước tìm luồng cực đại đã được nghiên cứu trong [55], [56] [61] Từ đó, chúng tôi tối ưu thuật toán song song đẩy luồng trước... là thời gian thực hiện tính toán trên một bộ xử lý Tp là thời gian thực hiện tính toán trên p bộ xử lý Để sử dụng hiệu quả các thuật toán song song, chúng ta cần phải biết cách đánh giá nó Để đánh giá được độ phức tạp tính toán của các thuật toán song song, ngoài số bước tính toán chúng ta còn cần đánh giá thời gian truyền thông của các tiến trình Thời gian thực hiện song song, ký hiệu là tp gồm hai... song Độ phức tạp thời gian của thuật toán song song được xác định bởi số các phép toán cơ sở và số các bước truyền tải dữ liệu giữa các bộ xử lý với nhau Từ đó suy ra, độ phức tạp thời gian của thuật toán song song không chỉ phụ thuộc vào mô hình tính toán song song mà còn phụ thuộc vào số bộ xử lý được sử dụng Mức độ tăng tốc (Speedup) [37, tr 228-231] của thuật toán song song sử dụng p bộ xử lý được ... để xử lý song song, cách thực chương trình song song, cách thiết kế thuật toán song song xây dựng thuật toán song song đồ thị như: thuật toán tô màu đồ thị, toán người du lịch, thuật toán tìm... lý song song: kiến trúc song song, mô hình xử lý song song, cách xây dựng thuật toán song song cách đánh giá độ phức tạp thời gian thuật toán song song Trên sở đó, đề xuất thuật toán song song... gian thuật toán Đây mô hình tổng quát cho máy tính song song kiểu MIMD 1.3 Thuật toán song song 1.3.1 Quy trình thiết kế thuật toán song song Song song hóa thuật toán chuyển thuật toán có thành thuật