Khác biệt giữa bản sửa đổi của “Tính toán song song”

Nội dung được xóa Nội dung được thêm vào
Không có tóm lược sửa đổi
Dòng 164:
Ngoài mô hình song song cấp câu lệnh từ đường liên kết, một số bộ xử lý cũng có thể tạo ra nhiều hơn một câu lệnh tại một thời điểm. Chúng được gọi là bộ xử lý [[siêu vô hướng]]. Các câu lệnh chỉ được nhóm lại với nhau khi giữa chúng không có [[phụ thuộc dữ liệu]]. [[Scoreboarding]] và [[thuật toán Tomasulo]] (tương tự như scoreboarding nhưng sử dụng [[đổi tên thanh ghi]]) là hai trong số những kỹ thuật phổ biến nhất cho việc thực thi sai thứ tự và song song cấp câu lệnh.
 
===Dữ liệuSong song songdữ liệu===
{{main|Dữ liệuSong song songdữ liệu}}
 
Dữ liệuSong song songdữ liệu là song song vốn có trong [[ControlVòng flow#Loops|vònglặp chương trình]], trong đó tập trung vào phân phối dữ liệu qua các nút tính toán khác nhau để được xử lý song song. "Vòng song song thường dẫn đến những chuỗi hoạt động tương tự (không nhất thiết phải giống nhau) hoặc các chức năng được thực hiện trên các yếu tố của một cấu trúc dữ liệu lớn."<ref name=Culler124>Culler et al. p.&nbsp;124.</ref> Nhiều ứng dụng khoa học và kỹ thuật áp dụng song song dữ liệu.
 
Một phụ thuộc loop-carried là sự phụ thuộc của một vòng lặp đi lặp lại trên đầu ra của một hoặc nhiều lần lặp lại trước. Phụ thuộc loop-carried ngăn chặn sự song song hóa của các vòng. Ví dụ, xem xét [[giả mã]] sau khi tính một vài [[số Fibonacci]] đầu tiên:
Dòng 181:
Vòng này không thể song song vì CUR phụ thuộc vào chính nó (PREV2) và PREV1, được tính toán trong mỗi lần lặp vòng. Vì mỗi lần lặp phụ thuộc vào kết quả của lần lặp trước đó, nên chúng không thể song song. Khi vấn đề trở nên lớn hơn, khối lượng của dữ liệu song song luôn luôn tăng theo.<ref name=Culler125>Culler et al. p.&nbsp;125.</ref>
 
===Tác vụSong song songtác vụ===
{{main|Tác vụSong song songtác vụ}}
Tác vụSong song songtác vụ là thuộc tính của một chương trình song song mà "các phép tính hoàn toàn khác nhau có thể được thực hiện trên các bộ dữ liệu giống hoặc khác nhau".<ref name=Culler124/> This contrasts with data parallelism, where the same calculation is performed on the same or different sets of data. Task parallelism does not usually scale with the size of a problem.<ref name=Culler125/>
 
==Phần cứng==