Các quan điểm về các kiến trúc song song

Một phần của tài liệu Các hệ vi xử lý tiên tiến (Trang 39 - 41)

Ở phần này, chúng ta giới thiệu một số định đề đã được giới thiệu bởi các kỹ sư máy tính nổi tiếng, các định đề này bày tỏ thái độ hồi nghi về tính hữu ích của các kiến trúc song song. Chúng ta cũng sẽ đưa ra lý do bác bỏ những quan điểm này (mối quan ngại này).

3.2.1 Định luật grosch

Vào những năm đầu cuối thập niên 40 của thế kỷ 20, H. Grosch đã nghiên cứu mối quan hệ giữa công suất của một hệ thống máy tính, P, và giá thành của nó, C. Ơng mặc nhiên công nhận rằng P = K x Cs, trong đó s và K là các hằng số dương. Grosch cũng cho rằng giá trị của s ≈ 2 . Đơn giản mà nói, định luật Grosch cho rằng cơng suất của một hệ thống máy tính tăng tỉ lệ với bình phương giá thành của nó. Ngồi ra, có thể biểu diễn cơng thức giá thành của một hệ thống là C = P/K giả sử rằng s = 2. Mối quan hệ giữa cơng suất tính tốn và giá thành theo quy luật Grosch được biểu diễn trong hình 3.2.

Hình 3.2 Mối quan hệ cơng suất và giá thành theo định luật Grosch.

Theo định luật Grosch, để bán một máy tính với giá cao gấp đơi, thì cơng suất của nó phải nhanh gấp 4 lần. Ngồi ra, để làm một phép tính rẻ gấp 2 lần, người ta phải làm cho cơng suất của máy tính đó chậm hơn bốn lần. Với những tiến bộ về máy tính, thì dễ dàng thấy rằng định luật Grosch dễ bị loại bỏ, và theo thời gian chúng ta có thể phát triển những máy tính với cơng suất nhanh hơn và rẻ hơn.

3.2.2 Định luật Amdahl

Như chúng ta đã biết trong mục 3.1.2, hệ số tăng tốc của một hệ thống song song là tỷ lệ giữa thời gian thực hiện bởi một bộ đơn xử lý nhằm giải quyết một phép toán với thời gian thực hiện bởi một hệ thống song song bao gồm n bộ vi xử lý để giải quyết bài toán tương tự.

Tương tự như định luật Grosch, Định luật Amdahl cũng chứa đựng những quan điểm hồi nghi về việc xây dựng hệ thống máy tính song song do giới hạn nội tại về sự cải thiện hiệu suất (tốc độ) bất kể số lượng các bộ vi xử lý được sử dụng. Một điều thú vị ở đây là theo định luật Amdahl, giá trị f là cố định và khơng tỷ lệ với kích thước, n. Tuy nhiên, thực tế cho thấy một số thuật tốn song song thực có một phần là một hàm của n. Chúng ta hãy giả sử f là một hàm của n sao cho:

Rõ ràng, điều này mâu thuẫn với định luật Amdahl. Do đó có thể đạt được một hệ số tốc độ tuyến tính đối với các bài tốn quy mơ lớn, khi , đây là một điều kiện được quan sát từ thực tế. Ví dụ, các nhà nghiên cứu tại phịng thí nghiệm quốc gia Sandia đã chỉ ra rằng sử dụng một hệ thống đa xử lý siêu lập phương 1024 bộ xử lý cho một số bài tốn kỹ thuật, có thể thu được hệ số tăng tốc tuyến tính.

Chẳng hạn, chúng ta hãy xét bài tốn kỹ thuật điển hình là phép nhân một ma trận vuông lớn A(m x m) với một vector X(m) để được một véc tơ, có nghĩa là, C(m) = A (m x m) x X(m). Giả sử thêm rằng việc giải một bài toán như vậy được thực hiện dựa trên một kiến trúc cây nhị phân bao gồm n nút (các bộ xử lý). Ban đầu, nút gốc lưu trữ vector X (m) và ma trận A (mxm) được phân tán theo hàng trong n bộ vi xử lý sao cho số hàng tối đa trong bất kỳ bộ vi xử lý nào là +1

n m

. Một thuật tốn đơn giản để thực hiện tính tốn như vậy bao gồm ba bước sau đây:

1. Nút gốc sẽ gửi vector X(m) tới tất cả các bộ vi xử lý O(m log n) 2. Tất cả các bộ VXL thực hiện sản phẩm

Phần khơng chia được của phép tốn (bước 1 và 3) là O (m) + O (m log n). Do đó, phần tính tốn khơng chia được là (m) = (O (m) + O (m log n)) / O (m2) = O ((1 + log n) / m). Lưu ý Limm →∞ f (m) = 0. Do đó, trái với định luật Amdahl, một phép tốn cỡ lớn như

vậy có thể đạt được tốc độ tăng tuyến tính.

Cần lưu ý rằng trong việc trình bày các trường hợp ở trên để giải một bài toán phép nhân vector ma trận, chúng tơi đã giả sử rằng kích thước bộ nhớ của mỗi bộ xử lý đủ lớn để lưu trữ số lượng tối đa hàng dự kiến. Với giả thuyết này thì có thể nói rằng với n bộ xử lý, thì bộ nhớ lớn hơn n lần. Đương nhiên, lập luận này có thể áp dụng tốt hơn cho các kiến trúc truyền tin song song so với những kiến trúc bộ nhớ dùng chung (Các kiến trúc truyền tin song song và các kiến trúc bộ nhớ dùng chung lần lượt được giới thiệu trong Chương 4 và 5). Định luật Gustafson-Barsis sử dụng các lập luận này và được trình bày bên dưới.

3.2.3 Định Luật Gustafson-Barsis

Năm 1988, Ở các phịng thí nghiệm quốc gia Sandia, Gustafson và Barsis đã nghiên cứu sự nghịch lý của định luật Amdahl và thực tế là (việc) các kiến trúc song song bao gồm hàng trăm bộ vi xử lý được phát triển cùng với sự cải tiến đáng kể về hiệu suất. Trong quá trình rút ra định luật của mình, Gustafson thừa nhận rằng một phần tác vụ khơng chia được trong một thuật tốn nhất định có thể không được biết trước. Họ cho rằng trong thực tế, kích thước bài tốn tỉ lệ với số bộ vi xử lý n. Điều này mâu thuẫn với các nội dung cơ bản của định luật Amdahl. Như chúng ta đã biết định luật Amdahl giả sử rằng lượng thời gian dành cho các phần của chương trình có thể được thực hiện song song, (1 - f), không phụ thuộc vào số bộ vi xử lý, n. Gustafson và Brasis mặc nhiên công nhận rằng khi sử dụng một bộ xử lý mạnh hơn, phép tốn có xu hướng sử dụng nhiều tài nguyên hơn. Họ nhận thấy rằng trong gần đúng bậc nhất, phần song song của chương trình, khơng phải phần nối tiếp, tỷ lệ với kích thước bài tốn. Họ cho rằng nếu s và p là các đại lượng tương ứng biểu diễn thời gian nối tiếp và song song trên một hệ thống song song, thế thì s + p × n là thời gian cần thiết để một bộ xử lý nối tiếp thực hiện tính tốn. Do đó họ đưa vào một hệ số mới, được gọi là hệ số tăng tốc tỷ lệ, SS (n), có thể được tính như sau:

Phương trình này cho thấy hàm cuối cùng là một đường thẳng với hệ số góc = (1 - n). Rõ ràng, điều này cho thấy rằng có thể, thậm chí cịn dễ dàng hơn, để đạt được hiệu suất song song hiệu quả hơn là áp dụng theo công thức tăng tốc của Amdahl. Sự tăng tốc nên được tính bằng cách lấy tỷ lệ bài toán theo số lượng các bộ vi xử lý, chứ khơng phải bằng cách cố định kích thước bài tốn.

Sau khi xem xét các mơ hình tính tốn và bác bỏ một số quan điểm chỉ trích của một số kiến trúc sư máy tính về việc sử dụng các kiến trúc song song, bây giờ chúng ta chuyển sang xem xét một số vấn đề hiệu suất trong mạng liên thông động và tĩnh. Chúng ta sẽ tập trung vào hiệu suất của các mạng liên thơng chứ khơng phải các khía cạnh tính tốn của các bộ xử lý (sẽ được xét trong mục 3.1).

Một phần của tài liệu Các hệ vi xử lý tiên tiến (Trang 39 - 41)