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

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

Đ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

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 [...]... đ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. .. 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,... đá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... 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... 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 đố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... các bộ xử lý (Tuy nhiên, chi phí khởi động thường lớn hơn nhiều).Trong 30 truyền thông giữa các bộ xử lý, các khóa thực hiện tốt tối đa hóa sử dụng các đường dẫn có sẵn và tối thiểu hóa phần khởi động Bộ vi xử lý P 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 I / O đĩa D Nếu máy tính chỉ có một đĩa đơn hoặc nếu nhiều đĩa được kết nối với một bộ xử lý duy... 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ộ... 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... máy tính song song cung cấp nhiều đường dẫn từ các bộ vi xử lý vào đĩa, cho dù bằng cách cung cấp riêng biệt "các node I / O " hoặc bằng cách kết nối ổ đĩa trực tiếp với bộ vi xử lý (Hình 3.22).Trên kiến trúc của loại này, chúng tôi tìm cách tổ chức hoạt động I/O để nhiều bộ xử lý đọc và viết đồng thời, sử dụng nhiều đường.Vì vậy, tập trung chiến lược I / O gây ra dữ liệu đi qua một bộ xử lý duy nhất... để 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 . 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. 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. 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ể

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

Từ khóa liên quan

Mục lục

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

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

    • 3.2.1 Luật Amdahl

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

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

    • 3.8. Vào / Ra

    • Một yếu tố quyết định quan trọng của hoạt động trong nhiều chương trình song song là thời gian cần thiết để di chuyển dữ liệu giữa bộ nhớ và bộ nhớ lưu trữ thứ cấp, hay thời gian cần thiết cho đầu vào / ra (I / O). Các ứng dụng với yêu cầu đáng kể I / O bao gồm:

    • 3.9. Nghiên cứu điển hình: Các thuật toán toán tìm đường đi ngắn nhất.

      • 3.9.1.Thuật toán Floyd.

        • Song song Floyd 1.

        • Song song Floyd 2.

        • 3.9.2 .Thuật toán Dijkstra

          • Song song Dijkstra 1.

          • Song song Dijkstra 2.

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

          • 3.10.Tóm tắt thông tin

Tài liệu cùng người dùng

Tài liệu liên quan