Câu hỏi ôn tập và đáp án chương 3, 4
MỤC LỤC 1 2 CHƯƠNG 3 CÂU 1: Trình bày về Định luật grosch TRẢ LỜI: 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ó, Ông mặc nhiên công nhận rằng P = K x C s , 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ó. Ngoài ra, có thể biểu diễn công thức giá thành của một hệ thống là C = KP / giả sử rằng s = 2. Mối quan hệ giữa công suất tính toá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. Ngoà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 4 Câu 2: Trình bày Định luật Amdahl Như chúng ta đã biết 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 hoà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 toá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: lim n →∞ f(n)=0. Do đó, 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 toá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 toá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 toá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 5 đượ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 toán đơn giản để thực hiện tính toá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 toán (bước 1 và 3) là O (m) + O (m log n). Do đó, phần tính toán không chia được là (m) = (O (m) + O (m log n)) / O (m2) = O ((1 + log n) / m). Lưu ý Lim m →∞ f (m) = 0. Do đó, trái với định luật Amdahl, một phép toán cỡ lớn như vậy có thể đạt được tốc độ tăng tuyến tính. 6 Câu 3: Trình bày Định Luật Gustafson-Barsis Trả lời: 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 toá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 toá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 toá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 toá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 toá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 toán. 7 CHƯƠNG 4 Câu 1: Trình bày các cách phân loại hệ thống bộ nhớ dùng chung Hệ thống bộ nhớ dùng chung đơn giản bao gồm một mô-đun bộ nhớ (M) có thể do hai bộ vi xử lý truy cập (P1 và P2). Yêu cầu đến các mô-đun bộ nhớ thông qua hai cổng của nó. Một khối phân xử trong các mô-đun bộ nhớ cho các yêu cầu đến bộ điều khiển bộ nhớ. Nếu các mô-đun bộ nhớ không bận và một yêu cầu đến, thì khối phân xử cho yêu cầu đó vào bộ điều khiển bộ nhớ và các yêu cần được đáp ứng. Các mô-đun được đặt ở trạng thái bận trong khi một yêu cầu đang được xử lý. Nếu một yêu cầu mới đến trong khi bộ nhớ đang bận phục vụ (xử lý) một yêu cầu trước đó, các mô-đun bộ nhớ sẽ gửi một tín hiệu chờ, qua bộ điều khiển bộ nhớ, đến bộ xử lý thực hiện một yêu cầu mới. Đáp lại, bộ xử lý yêu cầu có thể giữ yêu cầu của nó trên hàng cho đến khi bộ nhớ rỗi hoặc nó có thể lặp lại yêu cầu một thời gian sau đó. Nếu khối phân xử nhận hai yêu cầu, thì, nó chọn một trong hai yêu cầu đó và cho vào bộ điều khiển bộ nhớ. Một lần nữa, yêu cầu bị từ chối có thể được giữ lại để xử lý sau hoặc nó có thể được lặp lại vào một thời điểm sau đó. Dựa trên mạng liên thông được sử dụng, hệ thống bộ nhớ dùng chung có thể được phân loại như sau: - Truy cập bộ nhớ đồng đều (UMA) - Bộ nhớ truy cập không đồng đều(NUMA) - Kiến thức bộ nhớ chỉ dùng Cache (COMA). 8 Câu 2: Trình bày cấu trúc và đặc điểm hệ thống truy cập bộ nhớ đồng đều (UMA) Trong hệ thống UMA, một bộ nhớ dùng chung có thể được tất cả các bộ xử lý truy cập qua một mạng liên thông tương tự như một bộ xử lý truy cập bộ nhớ của nó. Tất cả các bộ vi xử lý có thời gian truy cập như nhau vào bất kỳ vị trí nhớ nào. Mạng liên thông được sử dụng trong UMA có thể là bus đơn, đa bus, hay một chuyển mạch điểm chéo. Vì truy cập vào bộ nhớ dùng chung được cân bằng, các hệ thống này còn được gọi là SMP(hệ đa xử lý đối xứng). Mỗi bộ xử lý có cơ hội bình đẳng để đọc / ghi vào bộ nhớ, kể cả tốc độ truy cập cũng bằng nhau. Các ví dụ thương mại của SMPS là các server đa xử lý Sun Microsystems và Silicon Graphics Inc Một máy tính SMP cấu trúc bus điển hình, như biểu diễn trong hình 4.3, có nhiệm vụ giảm tranh chấp cho bus bằng cách lấy (truy cập, truy xuất) lệnh và dữ liệu trực tiếp từ mỗi cache riêng biệt, càng nhiều càng tốt. Trong những trường hợp đặc biệt, sự tranh chấp bus có thể giảm đến không sau khi các bộ nhớ cache được tải từ bộ nhớ toàn cục, bởi vì có thể tất cả các lệnh và dữ liệu hoàn toàn được chứa trong bộ nhớ cache. Tổ chức bộ nhớ này phổ biến nhất trong số các hệ thống bộ nhớ dùng chung. Ví dụ về kiến trúc này là các server Sun Starfire , seri HP V, và Compaq AlphaServer GS. Hình 4.2 Bộ nhớ dùng chung qua hai cổng. 9 Hình 4.3 Hệ thống bộ nhớ dùng chung UMA dựa trên bus (SMP). 10 [...]... của một bộ vi xử lý con ta là thời gian xử lý của toàn bộ vi xử lý n là số bộ vi xử lý con chú ý: đối với trường hợp không có phí tổn truyền thông thì tc = 0 2 hệ số tăng tốc: 3 hiệu suất của hệ vi xử lý: bài toán xử lý từng phần nối tiếp (chính là bài toán xử lý tuyến tính có 1 phần xử lý song song) 1 thời gian xử lý của một bộ vi xử lý con: Trong đó: • • f là xử lý tuyến tính (1-f) là xử lý song song... rate, số bộ vi xử lý, tốc độ xử lý, tốc độ bus, và tốc độ chu trình làm vi c của bộ vi xử lý như sau: • N = số bộ xử lý; • h = hit rate của mỗi cache, được giả sử là giống nhau đối với tất cả các cache; • (1 - h)= miss rate của tất cả các cache; • B = băng thông của bus, được đo theo chu kỳ / giây; • I = chu trình làm vi c của bộ xử lý, được giả sử là giống nhau đối với tất cả các bộ vi xử lý, tính theo... thường, mỗi bộ vi xử lý thực hiện dưới một lệnh trên mỗi chu kỳ, do đó làm giảm số lần truy cập bộ nhớ Các bộ vi xử lý vô hướng thực thi ít hơn một lệnh trên mỗi chu kỳ, và các bộ vi xử lý siêu vô hướng thực hiện nhiều hơn một lệnh trên mỗi chu kỳ Trong mọi trường hợp, chúng tôi muốn giảm thiểu số lần mỗi bộ xử lý cục bộ sử dụng bus trung tâm Nếu không, băng thông bus sẽ giới hạn tốc độ của bộ xử lý 13 Chúng... phải được vi t trở lại bộ nhớ chính nếu khối được thay thế Nếu bản sao ở các trạng thái Valid, Reserved, hoặc Invalid, thao tác vi t lại không cần thiết khi khối được thay thế Mô tả trạng thái sử dụng bản sao cục bộ từ bộ nhớ cache Trạng thái không thay đổi 20 BÀI TẬP CHƯƠNG 3 Các công thức: Bài toán xử lý song song: 1 Thời gian xử lý của một bộ vi xử lý con: Trong đó: • • • tm là thời gian xử lý của... vi xử lý cực đại, tính theo số lần truy cập / giây Băng thông hiệu dụng của BUS là BI lần truy cập / giây Nếu mỗi bộ xử lý đang chạy với tốc độ V, thì một số lượt bỏ lỡ được tạo ra ở tốc độ V (1 - h) Đối với một hệ N-bộ xử lý, số lượt bỏ lỡ được tạo ra đồng thời với tốc độ N (1 - h) V Điều này dẫn đến sự bão hòa của bus khi N bộ xử lý cùng truy cập vào bus Có nghĩa là, N (1 - h) V