Tải bản đầy đủ (.docx) (40 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (421.82 KB, 40 trang )

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 ê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, ;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
Mục lục
3.0.Giới thiệu.
3.1.Xác định hiệu suất
3.2.Phương pháp tiếp cận để mô hình hóa hiệu suất
3.2.1.Luật Amdahl
3.2.2.Phép ngoại suy từ quan sát
3.2.3.Tiệm cận phân tích
3.3.Phát triển mô hình
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
2
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ả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à 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 cho
cá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…

3
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 qua
mạ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ạy
mộ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.
4
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ác
lợ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ây
dự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
5
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ông
cao 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
+ N
2
.
1. T = N + N
2
/P. Thuật toán này phân chia các tính toán thành O(N
2
) 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 + N
2
)/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 + N
2
)/P + 0,6P
2
. 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,6P
2
.
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.
6
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.
7
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à N
0
, N>N
0
, 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 (N
logN
) có thể là 10
N + N
logN
. 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 N
logN
là vượt trội so với một thuật toán có chi phí 10N
2
. 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(N
1
P
1
U
1………… )
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(T
comp
+T
comm
+T
idle
)
= 1/p(∑ T
i
comp+∑ T
i

comm.
+∑ T
i

idle
)
8

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(T
comp
) 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(T
comp
) gửi và nhận thông tin.
Có 2 loại truyền thông là tryền thông interprocessor và intaprocessor
Trong giao tiếp interprocessor, hai nhiệm vụ giao tiếp được đặt trên bộ xử lý khác
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
một nhiệm vụ cho mỗi bộ vi xử lý. Trong giao tiếp intraprocessor, hai nhiệm vụ giao
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
phí truyền thông interprocessor và intraprocessor có thể so sánh. Có lẽ đáng ngạc
nhiên, giả định nàykhông phải là bất hợp lý trong multicomputers nhiều, trừ khi thông
tin 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.
9
- 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
diện bởi hai thông số: khởi động thông báo thời gian T
s
, đó là thời gian cần thiết để
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ừ
T
w
, được xác định bởi băng thông vật lý của các kênhtruyền thông kết nối giữa bộ vi
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.
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
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
rỗi (T
idle
) có thể được khó khăn hơn để xác định, tuy nhiên, vì nó thường phụ thuộc vào thứ tự
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.
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
đứ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
T
comp
= t
c
N
2
Z
t
T
c
là thời gian tính toán trung bình tại một điểm lưới duy nhất.
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:
T
1d finite diff
= T
comp
+T
comm
3.3.2 Hiệu quả và tốc độ
12

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ư
E
relative
=T

1
/PT
p
(3.5)
T
1
là thời gian thực hiện trên một bộ xử lý và T
p
thời gian trên bộ vi xử lý P. Số lượng có liên
quan tăng tốc tương đối
S
relative
=PE
1
(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 đối
bở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ây
trê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=T
c
N
2
Z/( T

c
N
2
Z+T
s
2P+T
w
4NZP) (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.
13
+ 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áy
tí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.
14
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.
15
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ằng
khi N = 128, chỉ có 64 bộ xử lý có thể được sử dụng .

16
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.
17
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.
18
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án
hoặ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:
19

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ọa
cá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
20
mạng kết nối.
Mạng chuyển mạch xà ngang.
Một chuyển xà ngang tránh cạnh tranh cho băng thông bằng cách sử dụng O() thiết bị chuyển
mạch để kết nối N đầu vào ,N kết quả đầu ra (Hình 3.11). Trong trường hợp này, S = 1.Thiết bị
chuyển mạch thanh ngang là một cơ chế phổ biến để kết nối một số lượng nhỏ các máy trạm,
thông thường là 20 hoặc ít hơn. Ví dụ, GIGAswitch tháng mười hai có thể kết nối lên đến 22
máy trạm. Trong khi crossbars lớn hơn có thể được xây dựng (ví dụ, Fujitsu VPP 500 sử dụng
một 224 224 xà ngang để kết nối 224 bộ vi xử lý).
Hình 3,11: Chú ý rằng mỗi bộ xử lý được mô tả hai lần.
Mạng dựa trên xe buýt.
Trong một mạng lưới xe buýt, các bộ vi xử lý chia sẻ một nguồn tài nguyên thông tin liên lạc
duy nhất (xe buýt). Bởi vì chỉ có một bộ xử lý có thể giao tiếp trên xe buýt tại một thời điểm. S
yếu tố cạnh tranh bằng số lượng bộ vi xử lý cố gắng để giao tiếp đồng thời.
21
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ớ. Mỗi bộ vi xử lý (P) được kết nối với xe buýt, lần lượt được kết nối với bộ nhớ
toàn cầu.
Xe buýt thường được sử dụng trong bộ nhớ chia sẻ máy tính song song để giao tiếp đọc và viết,
yêu cầu một bộ nhớ chia sẻ toàn cầu.
Hình 3,13: Một mạng LAN Ethernet. Nhiều máy tính được kết nối với một cáp Ethernet duy
nhất, đóng vai trò như một chiếc xe buýt thông tin liên lạc, mang theo một tín hiệu duy nhất tại
một thời điểm.
Ethernet.

Mạng Ethernet thường được sử dụng trong mạng LAN để kết nối các máy trạm hoặc máy tính
cá nhân . Như đã nêu trong Bảng 3.1, tiêu chuẩn Ethernet có thể cung cấp băng thông mạng lên
tới khoảng 1 MB mỗi giây. Tất cả các máy tính kết nối thông qua một chia sẻ Ethernet một kênh
thông tin liên lạc duy nhất (Hình 3.13). Một máy tính cần gửi phải đợi cho đến khi kênh nhàn rỗi,
sau đó gửi thông điệp của mình, nếu phát hiện một vụ va chạm thì phải chờ đợi một thời gian,
sau đó truyền lại.
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.
Lưới Networks.
Một mạng lưới có thể được dùng như một bộ chuyển mạch thanh ngang (hình 3.11), trong đó
bộ vi xử lý có liên quan với các yếu tố chuyển đổi hơn là được đặt trên các cạnh của lưới. Kết
nối thường bao gồm hai dây. Mắt lưới hai và ba chiều thường được sử dụng trong tính toán song
song. Họ có lợi thế hơn một số mạng lưới phức tạp ,có thể được xây dựng trong không gian ba
chiều mà không cần dây dài. Trong một lưới 2-D, một tin nhắn được truyền từ bộ vi xử lý (i, j)
để xử lý (k, l) |i-k|+|j-l bước.Một, hai và ba chiều lưới khối bộ vi xử lý P có đường kính của P-
1,2(-1),và 3(-1) và chứa 2 (P-1),4(P-() và 6(P-) dây, tương ứng. Như minh họa trong Hình 3.14,
đường kính có thể được giảm đi một nửa bằng cách mở rộng một mạng lưới với các kết nối hình
xuyến để bộ vi xử lý biên giới cũng được kết nối với các nước láng giềng. Tuy nhiên, hình xuyến
có hai nhược điểm. Thứ nhất, dây còn cần thiết cho các kết nối xung quanh trong trường hợp 3-
D. (Cần cho dây dài hơn có thể tránh được trong một hình xuyến 2-D bằng cách gấp lưới.) Thứ
hai, một tập hợp con của một hình xuyến không phải là một hình xuyến, vì vậy những lợi ích của
các kết nối hình xuyến bị mất nếu một máy tính kết nối xuyến được phân chia.
23
Hình 3.15: Cạnh tranh về băng thông trong một lưới 1-D.
Cạnh tranh cho băng thông trong mạng lưới xảy ra khi hai hoặc nhiều bộ vi xử lý cố gắng để gửi
qua cùng một dây cùng một lúc (Hình 3.15). Các phân tích được sử dụng để xác định S cho một
thuật toán cụ thể được minh họa trong các ví dụ tiếp theo.
Hình 3,16: Các bộ vi xử lý trong các hình khối kích thước 1, 2, và 3 được dán nhãn với số
nguyên, ở đây biểu diễn như là các số nhị phân. Chú ý rằng hai bộ xử lý là các nước láng giềng

trong kích thước d nếu và chỉ nếu nhãn nhị phân của họ có sự khác nhau chỉ ở vị trí thứ d.
Hypercube mạng.
24
Các mạng hypercube được giới thiệu tại mục 2.4.1.Bộ vi xử lý trong một mạng lưới hypercube
có liên quan với các yếu tố chuyển đổi. Hypercube có thể được định nghĩa đệ quy như sau (Hình
3.16). Một hypercube zero-chiều là một bộ xử lý duy nhất và một hypercube một chiều kết nối
hai chiều hypercubes không. Nói chung, một hypercube kích thước d 1 được xây dựng bằng cách
kết nối bộ vi xử lý tương ứng trong hai hypercubes d kích thước.
Lưu ý rằng khi được dán nhãn như thể hiện trong hình 3,16, hai bộ xử lý được kết nối khi và chỉ
khi các đại diện nhị phân của các nhãn hiệu khác nhau ở một vị trí duy nhất. Chúng tôi khai thác
tài sản khi xác định các thuật toán sử dụng cấu trúc truyền thông hypercube. Một tính năng quan
trọng của hypercube là nó có chứa một lưới: nó có thể được coi là một lưới bổ sung, kết nối
đường dài. Các kết nối bổ sung làm giảm đường kính d và làm tăng số lượng dây có sẵn, đặc biệt
là đối với các thông tin liên lạc nonlocal. Một bất lợi của các kết nối hypercube từ một điểm kỹ
thuật là nó phức tạp hơn so với lưới.
Hình 3,17: Ví dụ đa tầng mạng kết nối.
Mạng kết nối đa tầng.
Trong một mạng kết nối đa tầng (MIN), như trong một xà ngang, chuyển đổi các yếu tố khác biệt
với bộ vi xử lý. Tuy nhiên, ít hơn O() thiết bị chuyển mạch được sử dụng để kết nối các bộ vi xử
lý P. Thay vào đó, các thông điệp đi qua một loạt các giai đoạn chuyển đổi. Hình 3,17 là đại
diện của một lớp học chung của các mạng được đặc trưng bởi các thông số n và k.
25

×