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

Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế

40 402 0

Đ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

Định dạng
Số trang 40
Dung lượng 295,45 KB

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

Nội dung

Chúng ta phải xem xét các chi phí phát sinh tại các giai đoạn khác nhau của chu kỳ phần mềm, bao gồm thiết kế, thực hiện và bảo trì.Các số liệu mà chúng ta phải đo lường rất nhiều như: t

Trang 1

Nhóm:3 Trong lập trình song song, cũng như trong các ngành kỹ thuật khác, mục tiêu của quá trình thiết kế không phải là để tối ưu hóa một thước đo duy nhất như tốc độ Thay vào đó, một thiết kế tốt phải tối ưu hóa thời gian thực hiện, yêu cầu bộ nhớ, chi phí thực hiện, chi phí bảo trì… Tối ưu hóa thiết kế liên quan đến việc cân bằng giữa sự đơn giản, hiệu suất, tính di động, và nhiều yếu tố khác.

Cơ sở định lượng cho thiết kế

Môn:Xử lý song song

Trang 2

Mục lục 3.0.Giới thiệu.

3.3.1.Thực hiện thời gian

3.3.2.Hiệu quả và tăng tốc

3.4.Khả năng mở rộng phân tích

3.4.1Khả năng mở rộng với kích thước vấn đề cố định

3.4.2.Khả năng mở rộng với kích thước vấn đề thay đổi

3.4.3.Thực hiện Profiles

3.5.Thí nghiệm nghiên cứu

3.5.1.Thử nghiệm thiết kế

3.5.2.Lấy và xác nhận dữ liệu thực nghiệm

3.5.3.Lắp dữ liệu tạo mô hình

3.6.Đánh giá triển khai

3.6.1.???

3.6.2.Tăng tốc bất thường

Trang 3

3.7.Một mô hình chi phí truyền thông lý tưởng

3.7.1.Cạnh tranh băng thông

3.7.2.Kết nối mạng

3.8.Vào /Ra

3.9.Nghiên cứu trường hợp điển hình:Các giải thuật tìm đường đi ngắn nhất

3.9.1.Thuật toán Floyd

3.9.2.Thuật toán Dijkstra

3.9.3.Tóm tắt thuật toán Đường đi ngắn nhất

3.10.Tóm tắt

Nội dung 3.0.Giới thiệu

Trong lập trình song song, như trong các ngành kỹ thuật khác, mục tiêu của quá trình thiết kế không phải là để tối ưu hóa một thước đo duy nhất như tốc độ Thay vào đó, một thiết kế tốt phảitối ưu hóa thời gian thực hiện, yêu cầu bộ nhớ, chi phí thực hiện, chi phí bảo trì,… Tối ưu hóa thiết kế liên quan đến việc cân bằng giữa sự đơn giản, hiệu suất, tính di động, và các yếu tố khác

Quyết định thiết kế thông tin cần thông qua các mô hình hiệu suất toán học Những mô hình này

được sử dụng để so sánh hiệu quả của các thuật toán khác nhau, để đánh giá khả năng mở rộng,

và để xác định tắc nghẽn và tính không hiệu quả khác, …trước khi đầu tư cho việc thực hiện

Mô hình hiệu suất cũng có thể được sử dụng để hiển thị tối ưu hóa

Sau khi nghiên cứu chương này, bạn nên biết làm thế nào để phát triển các mô hình hiệu suất chocác thuật toán song song và có thể sử dụng các mô hình này để đánh giá khả năng mở rộng và phải lựa chọn giữa các thuật toán thay thế Bạn cũng nên biết làm thế nào để có được dữ liệu thực nghiệm đáng tin cậy và làm thế nào để sử dụng dữ liệu này để xác nhận các mô hình và triển khai thực hiện Hơn nữa, bạn nên hiểu các topo mạng (kiểu kết nối mạng) có thể ảnh hưởngđến hiệu suất truyền thông…

Trang 4

3.1.Xác định hiệu suất

Nhiệm vụ của các kỹ sư phần mềm là thiết kế và thực hiện các chương trình đáp ứng yêu cầu người sử dụng về tính chính xác và hiệu suất

Tuy nhiên, hiệu suất của một chương trình song song là một vấn đề phức tạp và đa diện Chúng

ta phải xem xét, ngoài thời gian thực hiện và khả năng mở rộng của các hạt nhân có tính toán, các cơ chế mà theo đó dữ liệu được tạo ra, được lưu trữ, truyền qua mạng, di chuyển đến và đi từđĩa, và thông qua giữa các giai đoạn khác nhau của một quá trình tính toán Chúng ta phải xem xét các chi phí phát sinh tại các giai đoạn khác nhau của chu kỳ phần mềm, bao gồm thiết kế, thực hiện và bảo trì.Các số liệu mà chúng ta phải đo lường rất nhiều như: thời gian thực hiện, hiệu quả sử dụng song song, yêu cầu bộ nhớ, băng thông, độ trễ, tỷ lệ đầu vào / đầu ra, thông quamạng, chi phí thiết kế, chi phí thực hiện, chi phí kiểm định, tiềm năng để tái sử dụng, yêu cầu phần cứng , chi phí phần cứng, chi phí bảo trì, tính di động, và khả năng mở rộng.Vì vậy,đo hiệu suất phức tạp

Một đặc điểm kỹ thuật có thể bị gây nhiều khó khăn bởi các số liệu, yêu cầu được tối ưu hóa.Ví

dụ, các đặc điểm kỹ thuật thiết kế cho một hệ thống dự báo thời tiết hoạt động chỉ định thời gian thực hiện tối đa “dự báo phải hoàn thành trong vòng bốn giờ'' như chi phí phần cứng, và chi phí thực hiện, và độ trung thực của mô hình phải được tối ưu ,rất khó khăn Ngoài ra, độ tin cậy là cótầm quan trọng đặc biệt cao, có thể là khả năng mở rộng cho các thế hệ máy tính tương lai

Ngược lại, một nhóm kỹ sư phát triển một chương trình cơ sở dữ liệu tìm kiếm song song với việc sử dụng thường xuyên có thể hài lòng với bất cứ điều gì mà chạy nhanh hơn so với một chương trình tuần tự hiện có, nhưng có thể được hạn chế chặt chẽ để họ có thể chi tiêu cho thực hiện Ở đây, khả năng mở rộng là ít quan trọng, nhưng mã nên thích nghi một cách dễ dàng để thay đổi cả hệ thống và cơ sở dữ liệu công nghệ máy tính

Ví dụ 3: Hãy xem xét một đường ống dẫn xử lý hình ảnh bao gồm nhiều giai đoạn đồng thời, thực hiện một chuyển đổi khác nhau trên một “dòng” hình ảnh Ở đây, người ta có thể không quan tâm đến tổng thời gian cần thiết để xử lý một số lượng nhất định của hình ảnh mà là số

lượng hình ảnh có thể được xử lý mỗi giây hoặc thời gian để một hình ảnh duy nhất đi qua đường ống dẫn (độ trễ) Số lượng hình ảnh xử lý/giây quan trọng trong ứng dụng nén video,

trong khi độ trễ sẽ là quan trọng nếu chương trình là một phần của hệ thống cảm biến phải phản ứng trong thời gian thực với các sự kiện tạo bởi “dòng” hình ảnh

Trong những tình huống khác, tỷ lệ thời gian thực hiện chi phí hệ thống có thể quan trọng Ví dụ,hãy xem xét một ngân hàng dành hai giờ mỗi đêm trên máy tính lớn, máy tính bị quá tải khi chạymột chương trình phân tích để tìm kiếm cho các giao dịch gian lận Một phiên bản chạy trong sáu tiếng đồng hồ trên một máy tính song song với chi phí 1:20 là hiệu quả chi phí nhiều hơn đáng kể mặc dù thời gian thực hiện tổng số là lớn hơn

Phần còn lại của chương là các mô hình và đo lường chỉ có hai khía cạnh thực hiện thuật toán: thực hiện thời gian và khả năng mở rộng song song Chúng tôi tập trung vào những vấn đề này bởi vì chúng thường xuyên nằm trong các khía cạnh vấn đề thiết kế chương trình song song và chúng là những cách dễ dàng nhất chính thức hóa trong các mô hình toán học

Trang 5

3.2 Phương pháp tiếp cận để mô hình hóa sự thực hiện

Chúng tôi giới thiệu các chủ đề của mô hình hoạt động bằng cách mô tả ba kỹ thuật đôi khi được

sử dụng để mô tả việc thực hiện các thuật toán song song Chúng tôi giải thích tại sao mỗi kĩ thuật là không đủ cho các mục đích của chúng tôi

3.2.1 Luật Amdahl

Quan sát chung về xử lý song song là mỗi thuật toán đều có một thành phần liên tục cuối cùng sẽhạn chế hệ số tăng tốc có thể đạt được trên một máy tính song song (hệ số tăng tốc, chúng ta có thể định nghĩa chính thức, là các tỷ lệ giữa thời gian thực hiện trên một bộ vi xử lý duy nhất và thời gian thực hiện trên nhiều bộ xử lý)

Sự quan sát này là thường được hệ thống hóa thành luật Amdahl, mà có thể được quy định như sau: nếu các thành phần tuần tự của một thuật toán cho 1/s thời gian thực hiện chương trình, thì

hệ số tăng tốc tối đa mà có thể được đạt được trên một máy tính song song là s Ví dụ, nếu các thành phần tuần tự là 5%, sau đó tăng tốc tối đa có thể đạt được là 20

Trong những ngày đầu của tính toán song song, nhiều người tin rằng hiệu ứng này sẽ hạn chế cáclợi ích của tính toán song song đối với một số lượng nhỏ các ứng dụng chuyên ngành Tuy nhiên,kinh nghiệm thực tế cho thấy rằng cách suy nghĩ tuần tự cố hữu này là ít liên quan đến vấn đề thực sự Để hiểu tại sao, chúng ta hãy xem xét một vấn đề không tính toán Giả sử một dự án xâydựng đường cao tốc mà có 999/1000 công nhân đang nhàn rỗi trong khi một nhân viên duy nhất hoàn thành một “thành phần tuần tự” của dự án Chúng tôi sẽ không xem điều này như là một thuộc tính vốn có của vấn đề cần phải giải quyết, nhưng đó là một sự thất bại trong quản lý Ví

dụ, nếu thời gian cần thiết cho một chiếc xe tải để đổ bê tông tại một điểm duy nhất là một nút cổchai, chúng tôi có thể lập luận rằng con đường được xây dựng đồng thời tại nhiều điểm Việc làm này chắn chắn làm nảy sinh sự không hiệu quả Ví dụ, một số xe tải phải đi xa hơn để có thể đến được điểm làm việc của họ, nhưng sẽ cho phép cả nhiệm vụ được hoàn thành nhanh hơn Tương tự như vậy, nó xuất hiện gần như tất cả các vấn đề tính toán thừa nhận các giải pháp song song Khả năng mở rộng của một số giải pháp có thể được hạn chế, nhưng điều này là do chi phí truyền thông, thời gian nhàn rỗi, hoặc tính toán nhân rộng hơn là sự tồn tại của “các thành phần tuần tự”

Luật Amdahl có thể có liên quan khi các chương trình tuần tự song song từng bước Trong phương pháp để phát triển phần mềm song song, một chương trình tuần tự là lần đầu tiên được

đề cập để xác định thành phần tính toán Các thành phần này sau đó được điều chỉnh để thực hiện song song, từng thành phần một, cho đến khi đạt được hiệu suất chấp nhận được Luật Amdahl rõ ràng được áp dụng trong tình huống này, bởi vì các chi phí tính toán của các thành phần không phải là song song hóa cung cấp thấp hơn ràng buộc về thời gian thực hiện của chương trình song song Vì vậy, điều này “một phần”, hoặc “gia tăng”, song song chiến lược thường chỉ có hiệu lực trên các máy tính song song nhỏ Luật Amdahl cũng có thể hữu ích khi

Trang 6

phân tích hiệu suất của các dữ liệu song song chương trình, trong đó một số thành phần có thể không tuân theo một công thức dữ liệu song song (xem Chương 7).

3.2.2 Phép ngoại suy từ những sự quan sát

Mô tả các thuật toán song song thường mô tả đặc điểm hiệu suất bằng cách nói một cái gì đó nhưsau

Chúng tôi thực hiện các thuật toán trên X máy tính song song và đạt được hệ số tăng tốc là 10,8 trên 12 bộ vi xử lý với kích thước vấn đề N = 100

Có lẽ, điểm dữ liệu đơn này trên một số lượng nhỏ các bộ vi xử lý được dự định như là một thước đo chất lượng thuật toán Hệ số tăng tốc 10,8 trên 12 bộ vi xử lý có thể có hoặc không được coi là “tốt” Tuy nhiên, một thước đo hiệu suất duy nhất (hoặc thậm chí một số thước đo) chỉ nhằm xác định hiệu suất trong một khu vực hẹp của một không gian đa chiều lớn là những gì,

và thường là một chỉ số thấp về hiệu suất trong các tình huống khác Điều gì xảy ra trên 1.000 bộ

vi xử lý? Điều gì sẽ xảy ra nếu N = 10 hoặc N = 1000? Điều gì sẽ xảy ra nếu chi phí truyền thôngcao hơn gấp mười lần? Trả lời những câu hỏi này đòi hỏi một sự hiểu biết sâu sắc hơn về các thuật toán song song

Ba phương trình sau đây nhấn mạnh những hạn chế của các quan sát như một công cụ cho sự hiểu biết thực hiện song song Mỗi phương trình là mô hình trình diễn đơn giản thời gian thực hiện T như là một chức năng của bộ xử lý đếm P và kích thước vấn đề N Trong mỗi trường hợp,chúng tôi giả định rằng việc tính toán thực hiện bởi một quy mô tối ưu thuật toán tuần tự như N + N2

1. T = N + N2/P Thuật toán này phân chia các tính toán thành O(N2) thành phần nhưng sao chép O (N) thành phần trên mỗi bộ vi xử lý Không có các nguồn khác trên không

2. T = (N + N2)/P +100 Thuật toán này phân chia tất cả các tính toán nhưng thêm một chi phí bổ sung là 100

3. T = (N + N2)/P + 0,6P2 Thuật toán này cũng phân chia tất cả các tính toán nhưng thêm một chi phí là 0,6P2

Các thuật toán này đều có hệ số tăng tốc khoảng 10,8 khi P = 12 và N = 100 Tuy nhiên, chúng

xử lí khác nhau trong các tình huống khác nhau, như được minh họa trong hình 3.1 Với N =

100, cả 3 thuật toán hoạt động kém với P lớn, mặc dù thuật toán (3) tồi tệ hơn hai thuật toán kia Khi N = 1000, thuật toán (2) là tốt hơn đáng kể hơn so với thuật toán (1) với P lớn hơn

Trang 7

Hình 3.1: Hiệu quả của P cho ba thuật toán khác nhau (được mô tả trong văn bản) Hình trên là

dành cho N = 100, và hình dưới là cho N = 1000 Chú ý việc sử dụng thang logarit Khi N = 100,thuật toán (1) và (2) không thể phân biệt

Trang 8

3.2.3 Phân tích tiệm cận

Sách giáo khoa thường xuyên mô tả việc thực hiện các thuật toán song song bằng cách nói một cái gì đó như sau:

Phân tích tiệm cận cho thấy rằng thuật toán yêu cầu O(N logN) thời gian trên O(N) bộ xử lý

Đó là, có tồn tại a hằng c và kích thước tối thiểu của vấn đề là N0, N>N0, chi phí (N) ≤ c N logN trên N bộ xử lý Mối quan hệ này cho biết chi phí thay đổi như thế nào so với N khi N và P đều lớn

Trong khi thông tin này là thú vị, nó thường không trực tiếp liên quan đến nhiệm vụ phát triển một chương trình song song hiệu quả Bởi vì giao dịch với lượng lớn N và P, nó bỏ qua các mệnh lệnh cấp thấp hơn mà có thể là đáng kể cho vấn đề kích cỡ và số lượng bộ xử lý quan tâm thực tế Ví dụ, chi phí thực tế của một thuật toán có độ phức tạp tiệm cận với (NlogN) có thể là 10

N + NlogN 10N thành phần lớn hơn cho N <1024 và phải được kết hợp trong một mô hình hiệu suất nếu các vấn đề quan tâm là trong chế độ này Sự thiếu hụt thứ hai của phân tích tiệm cận là

nó không nói gì về chi phí tuyệt đối Phân tích tiệm cận sẽ đề nghị một thuật toán với chi phí

1000 NlogN là vượt trội so với một thuật toán có chi phí 10N2 Tuy nhiên, sau này là nhanh hơn cho N <996, mà lại có thể là chế độ quan tâm thiết thực Thiếu hụt thứ ba là phân tích như vậy thường xuyên giả định mô hình máy tính lý tưởng hóa rất khác nhau từ các máy tính vật lý mà chúng tôi phát triển các chương trình Ví dụ, họ có thể giả định mô hình PRAM, trong đó chi phí truyền thông được giả định là con số không

Phân tích tiệm cận có một vai trò để chạy trong thiết kế chương trình song song Tuy nhiên, khi đánh giá kết quả tiệm cận, chúng ta phải cẩn thận để xác định mô hình máy tính mà kết quả thu được, các hệ số có khả năng áp dụng, và chế độ N và P trong phân tích tổ chức

3.3 Phát triển mô hình

Trong phần còn lại của chương này chúng tôi giới thiệu về kĩ thuật mô hình hiệu xuất ở mức đọ trung bình Những kĩ thuật này chắc chắn ko thích hợp cho tất cả các mục đích: chúng là kiến truvs đa máy tính nhưng ko đưa vào tài khoản, ví dụ như hoạt động của cache Tuy nhiên nó đã chứng minh là hữu ích trong một loạt các vấn đề thiết kế thuật toán song song Các ghi chú của chúng cung cấp tài liệu tham khảo để tiếp cận các mô hình thực hiện xem xét ở đây chỉ định một

số thời gian thực hiện T như là một hàm có kích thước vấn đề N, số tiến trình P, số nhiệm vụ U, các thuật toán và những đặc điểm phần cứng khác…

T=f(N1P1U1………… )

Chúng ta xác định thời gian thực hiện của một chương trình song song là thời gian tính từ khi bộ

xử lí đầu tiên bắt đầu thực hiện đén khi bộ xử lí cuối cùng thực hiện xong Trong quá trình thực

hiện mỗi bộ xử lí tính toán, truyền thông chạy như được minh họa trong hình 3.2 T i comp ,T i comm , T i

idle là những khoảng thời gian tính toán, giao tiếp,nhàn rỗi.

T = 1/p(Tcomp +Tcomm +Tidle)

= 1/p(∑ T i comp+∑ T i

comm +∑ T i

idle )

Trang 9

Hình 3.2: Hoạt động trong quá trình thực hiện một chương trình song song trên tám bộ xử lý

Mỗi bộ vi xử lý dành thời gian tính toán, giao tiếp, hoặc chạy không tải T là tổng thời gian thực hiện

3.3.1.Thời gian thực hiện

 Thời gian tính toán

-Thời gian tính toán của một thuật toán(Tcomp) là thời gian thực hiện nhiều hơn so vói thời gian truyền thông và nhàn rỗi Nếu chúng ta có một chương trình tuần tự thực hiện việc tính toán tương tự như thuật toán song song thì ta có thể xác định được thời gian thực hiện của một chương trình nếu không chúng ta phải thực hiện các kernel quan trọng thời gian tính toán thông thường sẽ phụ thuộc vào kích thước của chương trình Nếu thuật toán song song sao chép tính toán , sau đó thời gian tính toán sẽ phụ thuộc vào số lượng nhiệm vụ hoặc số lượng bộ vi xử lí

- Thời gian tính toán cũng sẽ phụ thuộc vào đặc điểm của bộ VXL và hệ thống bộ nhớ của chúng

 Thời gian truyền thông

- Thời gian truyền thông của một thuật toán là thời gian(Tcomp) gửi và nhận thông tin

Có 2 loại truyền thông là tryền thông interprocessor và intaprocessor

nhau Điều này sẽ luôn luôn là trường hợp nếu một thuật toán tạo ra

tiếp được đặt trêncùng một bộ vi xử lý Để đơn giản, chúng tôi giả định rằng chi

nhiên, giả định nàykhông phải là bất hợp lý trong multicomputers nhiều, trừ khi thôngtin liên lạcintraprocessor là tối ưu hóa cao Điều này là do chi phí của các bản sao bộ nhớ bộ nhớvà thiết bị chuyển mạch bối cảnh thực hiện trong thực hiện điển hình của truyền thông intraprocessor thường được so sánh với chi phí của

một truyền thông interprocessor.Trong các môi trường khác, chẳng hạn như các máy trạm kết nối Ethernet,intraprocessor giao tiếp là nhanh hơn nhiều

Trang 10

- Trong kiến trúc multicomputer lý tưởng hóa, chi

phí gửi một tin nhắn giữa hai nhiệm vụ nằm trên bộ xử lý khác nhau có thể được đại

bắt đầu các thông tin liên lạc, và thời gian chuyển giao cho mỗi (thường bốn-byte) từ

xử lý nguồn và điểm đến Như minh họa trong hình 3.3,thời gian cần thiết để gửi một tin nhắn từ L kích thước sau đó

T mgs = T s + T w L

Hình 3.3: chi phí mô hình truyền thông đơn giản : Trong cốt truyện của thời gian so với chiều dài tin nhắn, độ dốc của dòng tương ứng với chi phí cho mỗi

từ chuyển giao và y đánh chặn để chi phí khởi động tin nhắn

Bảng 3.1: các thông số máy xấp xỉ đối với một số máy tính song song, trong micro ( giây) Một số những dữ liệu này được cung cấp bởi T Dunigan

Trang 11

Hình 3.4: Vòng đi thời gian cho một tin nhắn duy nhất giữa hai bộ xử lý như là một chức

năng có độ dài tin nhắn trên máy trạm kết nối Ethernet, kết nối máy trạm FDDI, Intel Paragon, và IBM SP1 Dữ liệu được cung cấp bởi W Gropp

 Thời gian nhàn rỗi

Cả hai tính toán và thông tin liên lạc được quy định rõ ràng trong một thuật toánsong song, do

đó, nó nói chung là đơn giản để xác định đóng góp của họ thời gian thực hiện Thời gian nhàn

mà hoạt động được thực hiện

Một bộ xử lý có thể được nhàn rỗi do thiếu tính toán hoặc thiếu dữ liệu Trong trường hợp đầu tiên, thời gian nhàn rỗi có thể tránh được bằng cách sử dụng các kỹ thuật cân bằng tải như được giới thiệu trong mục 2.5.1 Trong trường hợp thứ hai,bộ vi xử lý là nhàn rỗi trong khi việc tính toán và thông tin liên lạc cần thiết để tạo ra dữ liệu từ xa được thực hiện Thời gian nhàn rỗi này đôi khi có thể tránh được bằng cách cấu trúc một chương trình để các bộ vi xử lý thực hiện các tính toán khác hoặc các thông tin liên lạc trong khi chờ đợi dữ liệu từ xa Kỹ thuật này được gọi là chồng chéo tính toán và thông tin liên lạc, kể từ khi tính toán địa phương được thực hiện đồng thời với truyền thông từ xa và tính toán (Hình 3.5) Như vậy chồng lên nhau có thể đạtđượctheo hai cách Một cách tiếp cận đơn giản là tạo ra nhiều nhiệm vụ trên mỗi bộ xử

lý.Khi một khối công việc chờ đợi cho các dữ liệu từ xa, thực hiện có thể có thể chuyển

sang công việc khác mà dữ liệu đã có sẵn Cách tiếp cận này có lợi thế của sự đơn

giản nhưng hiệu quả chỉ khi chi phí lập kế hoạch một nhiệm vụ mới là ít hơn so với chi phí thời gian nhàn rỗi đó là tránh được Ngoài ra, một nhiệm vụ duy nhất có thể được cấu trúc để yêu cầu dữ liệu từ xa được xen kẽ một cách rõ ràng với tính toán khác

Trang 12

Hình 3.5: tính toán trùng với thông tin liên lạc Dòng rắn đại diện cho tính toán và các đường

đứt nét đại diện cho các hoạt động truyền thông (A) và (b), bộ xử lý P1 tạo ra một yêu cầu để P2 xử lý tại thời điểm t 2 và nhận được trả lời tại thời điểm t 8 Trong cả hai trường hợp, chi phí gửi tin nhắn được giả định là 1 đơn vị thời gian In (a), P1 không có làm việc hữu ích khác để làm trong khi chờ đợi trả lời và do đó là nhàn rỗi trong năm đơn vị thời gian sau khi gửi tin nhắn (B), P1 chuyển sang công việc khác trong thời gian sớm yêu cầu được tạo ra Khi nhiệm

vụ này đòi hỏi đơn vị thời gian để hoàn thành, P1 là không bao giờ nhàn rỗi

Trong suốt chương này, chúng tôi sử dụng một thuật toán hữu hạn song song sự khác biệt tương

tự như mô hình khí quyển xem xét tại mục 2.6 để minh họa các mô hìnhđược phát triển và sử dụng Để đơn giản, chúng tôi giả định một mạng lưới các điểm kích

thước(N*N*Z), trong đó Z là số điểm trong chiều thẳng đứng Ban đầu, chúng tôi giả địnhrằng lưới điện này bị phân hủy trong một chiều ngang và phân chia các nhiệm vụ P, với

mỗi nhiệm vụ chịu trách nhiệm cho một điểm lưới con kích thước N*(N/P)*Z Mỗi tác vụ

sẽ thực hiện cáctính toán trên mỗi điểm lưới và ở mỗi bước thời gian Bởi vì các thuật toán song songkhông nhân bản tính toán, chúng ta có thể mô hình thời gian tính toán trong một bước thời gian duy nhất

Tcomp= tcN2Zt

Tại mục 2.6, chúng ta hãy xem xét một khuôn tô chín điểm, có nghĩa là mỗi nhiệm vụ trao đổi dữ liệu 2N*Z điểm với hai nhiệm vụ láng giềng, với tổng số của hai thông điệp và dữ

liệu 4NZ (Chúng tôi giả định rằng mỗi bộ xử lý được phân bổ ít nhất N/2 điểm lưới con, nếu không, thông tin liên lạc sẽ được yêu cầu với hơn hai nước láng giềng Do đó, các mô hình trình diễn mà chúng ta phát triển không áp dụng trên hơn N / 2 bộ vi xử lý) Tổng số chi phí truyền thông, tổng kết trên xử lý P là:

T comm =2p(t s+ t w 2NZ)

Nếu P chia hết N và số lượng tính toán cho mỗi điểm lưới, thời gian nhàn rỗi liên tục có thể được

dự kiến sẽ là không đáng kể trong ví dụ này Trong những trường hợp này, chúng ta có

thể kết hợp các phương trình 3.2 và 3.3 để có được những mô hình trình diễn sau đây:

T1d finite diff = Tcomp +Tcomm

3.3.2 Hiệu quả và tốc độ

Trang 13

Thời gian thực hiện là không phải lúc nào các số liệu cũng thuận tiện nhất để đánh giá hiệu suất thuật toán song song Khi thực hiện, thời gian có xu hướng thay đổi theo kích thước vấn đề, thời gian thực hiện phải được bình thường hóa khi so sánh hiệu suất của thuật toán với kích thước vấn đề khác nhau Hiệu quả - phần nhỏ của thời gian mà bộ vi xử lý dành làm công việc hữu ích - là một số liệu liên quan đến đôi khi có thể cung cấp một biện pháp thuận tiện hơn về chất lượng thuật toán song song Nó đặc trưng cho hiệu quả với một thuật toán sử dụng các nguồn tài nguyên tính toán của một máy tính song song theo một cách độc lập có kích thước vấn

đề Chúng tôi xác định hiệu quả tương đối như

Erelative=T1/PTp (3.5)

T1 là thời gian thực hiện trên một bộ xử lý và Tp thời gian trên bộ vi xử lý P Số lượng có liên quan tăng tốc tương đối

Srelative =PE1 (3.6)

là yếu tố thời gian thực hiện giảm trên bộ vi xử lý P:

Đại lượng được xác định bởi phương trình 3,5 và 3,6 được gọi là hiệu quả và tăng tốc tương đốibởi vì chúng được định nghĩa đối với các thuật toán song song thực hiện trên một bộ xử lý duy nhất Chúng có ích khi khám phá khả năng mở rộng của một thuật toán nhưng không phải là một con số tuyệt đối Ví dụ, giả sử rằng chúng ta có một thuật toán song song mà có 10.000 giây trên

1 bộ xử lý và 20 giây trên 1000 bộ vi xử lý Một thuật toán có 1000 giây trên 1 bộ xử lý và 5 giâytrên 1.000 bộ vi xử lý Rõ ràng, thuật toán thứ hai là cấp cho P trong khoảng 1 đến 1000 Tuy nhiên, nó đạt được sự tăng tốc tương đối của chỉ có 200, so với 500 cho các thuật toán đầu tiên

Trong các thuật toán khác biệt hữu hạn, vì thế từ phương trình 3.4, chúng ta có mô hình sau đây cho hiệu quả trong trường hợp không có sự mất cân bằng tải và khi P chia hêt cho N:

E=TcN2Z/( TcN2Z+Ts2P+Tw4NZP) (3.7)

Bởi vì các thuật toán uniprocessor là giống với các thuật toán song song khi P = 1, phương trình này đại diện cho hiệu quả tuyệt đối

3.4 Khả năng phân tích mở rộng

Mô hình hiệu suất của các loại được phát triển trong các phần trước là những công cụ mà chúng

ta có thể sử dụng để khám phá và hoàn thiện việc thiết kế 1 thuật toán song song Ví dụ, từ công thức 3.4 và 3,7 sau đây có thể thực hiện được các thuật toán khác biệt hữu hạn:

+ Hiệu quả giảm khi tăng P, ts, và tw

+ Hiệu quả tăng lên khi tăng N, Z, và tc

+ Thời gian thực hiện giảm khi P ngày càng tăng

Trang 14

+ Thời gian thực hiện tăng lên cùng khi tăng N, Z, TC, ts, và tw.

Những quan sát này giúp ta hiểu về đặc điểm thuật toán Tuy nhiên, đây không phải là một cơ sởđầy đủ cho sự cân bằng thiết kế Chúng ta cần tìm kiếm để có được các giá trị số từ các nghiên cứu thực nghiệm, sẽ được thảo luận trong Phần 3.5 Sau khi có được các dữ liệu thực nghiệm, các mô hình có thể được sử dụng để trả lời các câu hỏi như sau

+ Thuật toán đáp ứng yêu cầu thiết kế (đối với thời gian thực hiện, yêu cầu bộ nhớ, vv) trên máy tính song song mục tiêu?

+ Là thuật toán thích nghi như thế nào? Đó là, không thích ứng như thế nào khi tăng kích thước và số lượng bộ vi xử lý?

+ Làm thế nào để các thuật toán khi so sánh với các thuật toán khác cho cùng một vấn đề? Sự khác biệt trong thời gian thực hiện có thể được dự kiến từ các thuật toán khác nhau?

Điều quan trọng là hãy nhớ rằng mô hình hiệu suất là các hiện tượng phức tạp.Khi một thuật toán

đã được thực hiện, chúng ta có thể xác nhận các mô hình và do đó làm tăng sự tự tin của chúng

ta về chất lượng của chúng Tuy nhiên, trong giai đoạn đầu của thiết kế, nhất thiết phải thận trọng, đặc biệt là nếu chúng ta đang làm cho dự đoán về số lượng hoặc nếu có một kiến trúc rất khác nhau từ các multicomputer lý tưởng hóa

3.4.1 Khả năng mở rộng với kích thước vấn đề cố định

Một khía cạnh quan trọng của phân tích hiệu suất là nghiên cứu cách thực hiện các thuật toán khác nhau với các thông số như kích thước , tính xử lý, và chi phí khởi động nhắn tin Đặc biệt, có thể đánh giá khả năng mở rộng của một thuật toán song song, đó là, làm thế nào có thể

sử dụng một số lượng bộ vi xử lý ngày càng tăng Một cách tiếp cận để định lượng khả năng mở rộng , xác định cách thực hiện thời gian T và E hiệu quả khác nhau khi tăng số lượng bộ vi xử lý

P cho một vấn đề có kích thước cố định và các thông số máy Phân tích vấn đề cố định cho phép chúng tôi trả lời những câu hỏi 1 cách hiệu quả, nhanh nhất là tôi có thể giải quyết vấn đề về máytính X? và số lượng lớn nhất của bộ vi xử lý có thể sử dụng nếu tôi muốn duy trì một hiệu quả của 50% là gì? Câu hỏi này có thể được quan tâm nếu một máy tính được chia sẻ và có một khoản phí cho mỗi bộ xử lý được sử dụng

Điều quan trọng là xem xét E và T khi đánh giá khả năng mở rộng Trong khi E giảm đơn điệu

so với P, T có thể tăng lên nếu các mô hình trình diễn bao gồm một thuật ngữ tỷ lệ thuận với một sức mạnh tích cực của P

Trang 15

Ví dụ 3.3 Khả năng mở rộng của sự khác biệt hữu hạn:

Hình 3.6 minh họa vấn đề cố định áp dụng cho các thuật toán khác biệt hữu hạn (công thức 3.4

và 3,7).T và E như là một chức năng của P và N, sử dụng các thông số máy đặc trưng của một multicomputer hạt mịn Chi phí tính toán tc = 2 μsec thu được bằng thực nghiệm, sẽ được mô tả trong Ví dụ 3.5 Thuật toán yêu cầu mỗi công việc có ít nhất hai cột lưới, nhiều nhất là 64 bộ vi

xử lý có thể được sử dụng hiệu khi N = 128 và 256 bộ vi xử lý khi N = 512.Trong chương này, chúng ta sẽ thấy những dự đoán như thế nào so với hiệu suất quan sát được

Trang 16

Hình 3.6: Khả năng mở rộng của các thuật toán phân hủy 1-D khác biệt hữu hạn, như dự đoán bởi những phương trình 3,4 và 3,7 tc = 1μsec, ts = 100μsec, tw = 0,4 μsec, và Z = 10 Lưu ý rằngkhi N = 128, chỉ có 64 bộ xử lý có thể được sử dụng

Trang 17

3.4.2 Khả năng mở rộng với kích thước vấn đề thay đổi

Máy tính song song thường xuyên sử dụng không chỉ để giải quyết vấn đề kích thước cố định,

mà còn để giải quyết các vấn đề lớn hơn Quan sát này khuyến khích một cách tiếp cận để phân tích các thuật toán được gọi là vấn đề phân tích quy mô, nhờ đó mà chúng ta thấy được E với P khác nhau như thế nào, lượng tính toán phải thế nào để giữ E không đổi

Nhớ lại rằng E được định nghĩa là tỷ lệ giữa thời gian thực hiện trên một bộ xử lý duy nhất và tổng thời gian thực hiện tổng kết trên bộ vi xử lý P:

Do đó, để duy trì E liên tục, mối quan hệ sau đây phải giữ cho tăng P:

Phân tích vấn đề quy mô không có ý nghĩa cho tất cả các vấn đề Hạn chế thời gian thực, ví dụ như trong dự báo thời tiết, có thể yêu cầu tính toán được hoàn thành trong một khoảng thời gian

cố định Trong các ứng dụng khác, nhân rộng là không thể vì hạn chế về vấn đề kích thước vấn

đề Ví dụ, trong mô hình phân tử, số lượng của các nguyên tử trong phân tử là cố định, như là số lượng điểm ảnh trong các ứng dụng xử lý hình ảnh

Ví dụ 3.4.Isoefficiency của thuật toán Sự khác biệt hữu hạn:

Chúng tôi sử dụng phân tích isoefficiency để kiểm tra khả năng mở rộng của hai thuật toán song song hữu hạn khác nhau Nhớ lại rằng hiệu quả của một thuật toán dựa trên một phân hủy 1-D của một N x N x Z lưới được cho bởi phương trình 3,7 Để hiệu quả liên tục, P khi thay thế cho

N phải đáp ứng các mối quan hệ sau đây sao cho P và E không đổi:

Bởi vì việc tính toán sự khác biệt hữu hạn hoạt động trên một mạng lưới hình vuông, rộng N với

P gây ra số lượng các điểm lưới điện và do đó số tiền tính toán quy mô như P ^ 2.Do đó, chúng

ta nói rằng các chức năng isoefficiency cho các thuật toán này là O (P ^ 2), có nghĩa rằng số lượng tính toán phải tăng là bình phương của số lượng các bộ vi xử lý để cho hiệu quả liên tục được duy trì Hình 3.7 minh họa rõ điều này

Trang 18

3.4.3 Thực hiện Profiles

Khả năng phân tích mở rộng cho thấy hiệu suất về vấn đề kích thước là nghèo, chúng ta có thể

sử dụng các mô hình để xác định các nguồn có khả năng không hiệu quả và do đó các khu vực trong một thuật toán có thể được cải thiện

Hiệu suất kém có thể là do tính toán sao chép quá nhiều, thời gian nhàn rỗi, khởi động thông báo,chi phí truyền dữ liệu, hoặc kết hợp một số các yếu tố này Khi cố gắng để cải thiện một thuật toán , chúng ta phải xác định những yếu tố này là những yếu tố quan trọng Chúng tôi có thể làm điều này bằng cách tính toán một cấu hình dự kiến thực hiện cho các thuật toán, cho thấy sự đóng góp của các yếu tố Cách tiếp cận này được minh họa trong Hình 3.8 cho các thuật toán khác biệt hữu hạn 1-D Mô hình dự đoán rằng khi thuật toán này được thực thi trên một

multicomputer với một lớp duy nhất theo chiều dọc (Z = 1), chi phí chuyển dữ liệu chiếm phần lớn thời gian thực hiện khi P lớn, tin nhắn chi phí khởi động được cũng đáng kể Nếu số lượng các cấp theo chiều dọc là tăng chi phí khởi động, thông điệp trở nên không đáng kể, và tổng thể hiệu quả cải thiện

Trang 19

Hình 3.8: Đóng góp của các tin nhắn, khởi động tính toán và chi phí tin nhắn đến tổng thời gian thực hiện trong thuật toán khác biệt hữu hạn 1-D, cho N = 512, Z = 1, ts = 200μsec, tw =

0.8μsec, tc = 1μsec, và P khác nhau Có tính toán nhân rộng, thời gian nhàn rỗi trong ví dụ này không?

Chi phí thông tin loại này có thể được sử dụng để hướng dẫn thiết kế một thuật toán Thông thường, nó có thể thúc đẩy chúng ta phải xem xét lại quyết định thực hiện trước đó trong quá trình thiết kế.Ngoài ra, nếu dữ liệu chi phí chuyển nhượng cao, có thể tìm cách sao chép tính toánhoặc gửi tin nhắn nhiều hơn, nhỏ hơn nếu làm như vậy có thể làm giảm tổng khối lượng dữ liệu được chuyển

3.7 Một mô hình chi phí truyền thông lý tưởng

Tiếp theo chúng ta kiểm tra các thông tin liên lạc ,lý tưởng hóa chi phí mô hình Chúng tôi xem xét một loạt các kiến trúc mạng và phát triển một mô hình chi tiết hơn về hiệu suất truyền thông

sẽ đưa vào tài khoản tác động của cạnh tranh cho băng thông trên chi phí truyền thông Mô hình này chi tiết hơn là vẫn còn lý tưởng hóa nhưng có thể chính xác hơn trong một số trường hợp

3.7.1 Cạnh tranh cho băng thông

Trong kiến trúc multicomputer lý tưởng hóa được giới thiệu trong chương 1, thời gian cần thiết

để gửi một tin nhắn từ một bộ xử lý khác là độc lập với bộ vi xử lý ,vị trí và số lượng các bộ vi

xử lý khác có thể được giao tiếp cùng một lúc Những giả thiết này được phản ánh trong các mô hình chi phí truyền thông, công thức 3.1:

Trang 20

Hầu hết các mạng kết nối sử dụng ít hơn

dây để kết nối N bộ vi xử lý Do đó, phải bao gồm các nút định tuyến, hoặc thiết bị chuyển mạch, tuyến đường tin nhắn từ một bộ xử lý nguồn đến đích Một nút chuyển đổi có thể chặn hoặc định tuyến lại tin nhắn khi nhiều thông điệp yêu cầu truy cập cùng một dây tại 1 thời điểm

Số lượng dây phải đi qua để có được từ một bộ xử lý khác được gọi là khoảng cách giữa hai bộ

xử lý (Khoảng cách bằng với số lượng các thiết bị chuyển mạch cộng với một.) Khoảng cách tối

đa từ bất kỳ bộ vi xử lý đến bất kỳ bộ vi xử lý khác được gọi là đường kính của mạng Khoảng cách giữa hai bộ xử lý và độ dài của các dây kết nối không phải là yếu tố đáng kể trong việc xác định hiệu suất, mặc dù mạng lưới với dây dài có thể đắt tiền hơn để xây dựng.(Chiều dài dây trong các mạng có thể kéo dài hàng chục đến hàng ngàn cây số.)

Do đó, phải bao gồm các nút định tuyến, hoặc thiết bị chuyển mạch, tuyến đường tin nhắn từ một bộ xử lý nguồn đến đích Một nút chuyển đổi có thể chặn hoặc định tuyến lại tin nhắn khi nhiều thông điệp yêu cầu truy cập cùng một dây tại 1 thời điểm Số lượng dây mà phải đi qua để

có được từ một bộ xử lý khác được gọi là khoảng cách giữa hai bộ xử lý (Khoảng cách bằng với

số lượng các thiết bị chuyển mạch cộng với một.) Khoảng cách tối đa từ bất kỳ bộ vi xử lý cho bất kỳ bộ vi xử lý khác được gọi là đường kính của mạng Khoảng cách giữa hai bộ xử lý và độ dài của các dây kết nối chúng không phải là yếu tố bình thường đáng kể trong việc xác định hiệu suất, mặc dù mạng lưới với dây dài có thể đắt tiền hơn để xây dựng.(Chiều dài dây có thể được quan trọng trong các mạng kéo dài hơn hàng chục đến hàng ngàn cây số.)

Một yếu tố có thể có tác động đáng kể đến hiệu suất truyền thông Hai bộ xử lý có thể cần phải gửi dữ liệu trên cùng một dây cùng một lúc Thông thường, chỉ có một, do đó, các tin nhắn khác

sẽ bị trì hoãn Tuy nhiên, có nhiều mục đích thực tế mà hai bộ xử lý chia sẻ băng thông có sẵn

Do đó, chúng tôi quy mô hạn khối lượng dữ liệu của công thức 3.1 S, số lượng các bộ vi xử lý cần phải gửi đồng thời trên cùng một dây:

Phương trình 3,10 không chỉ có tài khoản cho các chi phí bổ sung mà có thể phát sinh nếu thông báo va chạm và phải được truyền lại (Các nhà nghiên cứu mạng đã phát triển các kỹ thuật

mô phỏng phức tạp vào tài khoản cho các hiệu ứng như vậy.) Tuy nhiên, kinh nghiệm cho thấy rằng phương trình 3,10 là đủ chính xác cho nhiều mục đích thiết thực

3.7.2 Kết nối mạng

Giá trị S trong phương trình 3,10 có thể phụ thuộc vào tính chất của thuật toán song song và kết nối các mạng cơ bản Trong các cuộc thảo luận sau đây, chúng tôi sử dụng hai ví dụ để minh họacác mô hình thông tin liên lạc của một thuật toán cụ thể có thể được phân tích để xác định một giá trị gần đúng cho S trên các mạng khác nhau Đầu tiên,chúng tôi xem xét tài sản của các

Ngày đăng: 07/04/2015, 01:10

HÌNH ẢNH LIÊN QUAN

Hình 3.1: Hiệu quả của P cho ba thuật toán khác nhau (được mô tả trong văn bản). Hình trên là - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.1 Hiệu quả của P cho ba thuật toán khác nhau (được mô tả trong văn bản). Hình trên là (Trang 7)
Hình 3.2: Hoạt động  trong quá trình thực hiện một chương trình song song trên tám bộ xử lý - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.2 Hoạt động trong quá trình thực hiện một chương trình song song trên tám bộ xử lý (Trang 9)
Hình 3.3: chi phí mô hình truyền thông đơn giản :  . Trong cốt truyện  của thời gian so với chiều dài tin nhắn, độ dốc của dòng tương ứng với chi phí cho mỗi - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.3 chi phí mô hình truyền thông đơn giản : . Trong cốt truyện của thời gian so với chiều dài tin nhắn, độ dốc của dòng tương ứng với chi phí cho mỗi (Trang 10)
Hình 3.4: Vòng đi thời gian cho một tin nhắn duy nhất giữa hai bộ xử lý như là một chức - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.4 Vòng đi thời gian cho một tin nhắn duy nhất giữa hai bộ xử lý như là một chức (Trang 11)
Hình 3.5: tính toán trùng với thông tin liên lạc. Dòng rắn đại diện cho tính toán và các đường - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.5 tính toán trùng với thông tin liên lạc. Dòng rắn đại diện cho tính toán và các đường (Trang 12)
Hình 3.6: Khả năng mở rộng của các thuật toán phân hủy 1-D khác biệt hữu hạn, như dự đoán  bởi những phương trình 3,4 và 3,7 tc = 1μsec, ts = 100μsec, tw = 0,4 μsec, và Z = 10 - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.6 Khả năng mở rộng của các thuật toán phân hủy 1-D khác biệt hữu hạn, như dự đoán bởi những phương trình 3,4 và 3,7 tc = 1μsec, ts = 100μsec, tw = 0,4 μsec, và Z = 10 (Trang 16)
Hình 3.8: Đóng góp của các tin nhắn, khởi động tính toán và chi phí tin nhắn đến tổng thời gian  thực hiện trong thuật toán khác biệt hữu hạn 1-D, cho N = 512, Z = 1, ts = 200μsec, tw = - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.8 Đóng góp của các tin nhắn, khởi động tính toán và chi phí tin nhắn đến tổng thời gian thực hiện trong thuật toán khác biệt hữu hạn 1-D, cho N = 512, Z = 1, ts = 200μsec, tw = (Trang 19)
Hình 3.12: Một chiếc xe buýt kết nối mạng được sử dụng để thực hiện một máy tính song song  chia sẻ bộ nhớ - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.12 Một chiếc xe buýt kết nối mạng được sử dụng để thực hiện một máy tính song song chia sẻ bộ nhớ (Trang 22)
Hình 3.14: Một kết nối mạng hai chiều xuyến. Đây là một lưới 2-D cuối cùng xung quanh kết nối sao cho mỗi bộ xử lý được kết nối với bốn người hàng xóm. - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.14 Một kết nối mạng hai chiều xuyến. Đây là một lưới 2-D cuối cùng xung quanh kết nối sao cho mỗi bộ xử lý được kết nối với bốn người hàng xóm (Trang 23)
Hình 3.15: Cạnh tranh về băng thông trong một lưới 1-D. - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.15 Cạnh tranh về băng thông trong một lưới 1-D (Trang 24)
Hình 3.22: Kiến trúc I/O của một máy tính lý tưởng hóa song song được kết nối bởi nhiều kênh - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.22 Kiến trúc I/O của một máy tính lý tưởng hóa song song được kết nối bởi nhiều kênh (Trang 31)
Hình 3.23: Một đạo diễn đồ thị đơn giản G, và ma trận kề của nó A. - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.23 Một đạo diễn đồ thị đơn giản G, và ma trận kề của nó A (Trang 32)
Hình 3.24: Các hoạt động cơ bản trong thuật toán Floyd ngắn nhất-con đường tuần tự: Xác định - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.24 Các hoạt động cơ bản trong thuật toán Floyd ngắn nhất-con đường tuần tự: Xác định (Trang 33)
Hình 3.25: Phiên bản song song của thuật toán Floyd dựa trên một phân hủy một chiều của ma - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Hình 3.25 Phiên bản song song của thuật toán Floyd dựa trên một phân hủy một chiều của ma (Trang 34)
Bảng 3.7: Thực hiện bốn thuật toán song song con đường ngắn nhất. - Tiểu luận môn Xử lý song song Cơ sở định lượng cho thiết kế
Bảng 3.7 Thực hiện bốn thuật toán song song con đường ngắn nhất (Trang 38)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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