Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
2,25 MB
Nội dung
1 KIẾN TRÚC CÁC HỆ THỐNG TÍNH TOÁN Nguyễn Phú Bình Trần Trung Kiên Bộ môn KTMT - Khoa CNTT Trường ĐH Bách Khoa Hà Nội 2 Lưu ý của tác giả Không được tự ý sao chép hay quảng bá bài giảng này khi chưa được sự đồng ý của các tác giả. Địa chỉ liên hệ của các tác giả: Nguyễn Phú Bình Email: ngphubinh@yahoo.com Mobile: 0983533925 Website: http://phubinh.vicosoft.com/ktmt Trần Trung Kiên Email: trankien_bk@yahoo.com Mobile: 0914919392 Bộ môn Kỹ thuật Máy tính Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội C1- P322, Tel: 8696125 Website: http://ktmt.shorturl.com 3 Kiến trúc các hệ thống tính toán Chương 5 Thuật toán song song Nguyễn Phú Bình – Trần Trung Kiên Bộ môn Kỹ thuật Máy tính, Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội Tài liệu tham khảo: Bài giảng tính toán song song (PGS,TS Nguyễn Đức Nghĩa) 4 Thuật toán tuần tự là cơ sở cho các thao tác để giải quyết các vấn đề trong các máy tính tuần tự. Thuật toán song song là cơ sở, cho biết cách thức để giải quyết các vấn đề bằng cách sử dụng tính toán song song. 5 Một thuật toán song song bao gồm toàn bộ (hoặc một trong số) các bước sau: Xác định được những phần công việc nào được thực hiện đồng thời Ánh xạ các phần công việc tới các tiến trình để thực hiện đồng thời Tổ chức dữ liệu vào, ra, và các dữ liệu trung gian Quản lý việc truy cập dữ liệu dùng chung bởi nhiều bộ xử lý Đồng bộ các bộ xử lý 6 Những khái niệm cơ bản: Phân rã bài toán (Decomposition): là quá trình chia nhỏ một vấn đề lớn thành các phần nhỏ gọi là các nhiệm vụ/công việc nhỏ (task / subjob) Các nhiệm nhỏ (task / subjob) có độ lớn tùy ý 7 Ví dụ 1 :Phân rã bài toán nhân ma trận với véc tơ Ma trận A kích thước n,n Véc tơ b Kết quả được ma trận y với: y[i]= ∑ n k=1 A[i.k] . b[k] 8 Chia công việc thành n task Mỗi task thực hiện tính y[i] (i từ 1 tới n) Các task này hoàn toàn độc lập với nhau và có thể thực hiện đồng thời 9 Độ thị về sự phụ thuộc lẫn nhau giữa các nhiệm công việc (task-dependency graph): 10 VD2: Thực hiện truy vấn cơ sở dữ liệu [...]... Phân rã theo các khả năng có thể xảy ra: Đối với những bài toán cần duyệt và tìm ra phương án giải quyết (vd: tìm nước cờ, tìm đường đi ngắn nhất,…), không gian tìm kiếm sẽ được chia nhỏ và thực hiện trên từng tiến trình VD: 25 Phân rã theo các khả năng có thể xảy ra 26 Phân rã theo các khả năng có thể xảy ra 27 Một số thuật toán song song Ngôn ngữ mô tả thuật toán Các thuật toán song song... Mapping: Cơ chế để ánh xạ các task tới các process 13 Các kỹ thuật phân rã (decomposition) bài toán: Phân rã đệ qui (Recursive decomposition) Phân rã theo dữ liệu (Data decomposition) Phân rã theo các khả năng có thể xảy ra (exploratory decomposition) 14 Phân rã đệ qui Phân rã đệ qui: Bài toán được chia thành các task nhỏ hơn, mỗi task nhỏ đó lại được áp dụng cách chia tương tự như vậy ... ngữ mô tả thuật toán Toán tử gán: Biến= biểu_thức Câu lệnh điều kiện: If đieukien then r1 r2 r3… Else s1 s2… End if 29 Ngôn ngữ mô tả thuật toán Vòng lặp For For biến=s to e Step h S1 S2 … End for Vòng lặp While While đieukiên Do S2 S2 … End While 30 Ngôn ngữ mô tả thuật toán Cấu trúc thể hiện song song Cấu trúc 1: For biến=1 to n do in parallel S1 S2 … End parallel Cấu trúc 2: For x €... áp dụng cách chia tương tự như vậy Ví dụ : Sắp xếp nhanh (quick sort): -Giả sử cần sắp xếp 1 dãy A -Chọn một phần tử x trong A làm mốc (chốt) và chia A thành 2 phần A0 và A1: A0 gồm các phần từ nhỏ hơn x, A1 gồm các phần tử không nhỏ hơn x A0 và A1 lại tiếp tục áp dụng cách thức như trên cho đến khi mỗi phần chỉ gồm 1 phần tử 15 Phân rã đệ qui 16 Phân rã theo dữ liệu Phân rã theo dữ liệu: ... liệu đầu ra: Các phần tử dữ liệu đầu ra có thể được tính độc lập nhau VD1: Nhận 2 ma trận:Chia theo dữ liệu đầu ra 18 Phân rã theo dữ liệu VD2: 19 Phân rã theo dữ liệu 20 Phân rã theo dữ liệu Phân rã theo dữ liệu đầu vào: 21 Phân rã theo dữ liệu Phân rã theo dữ liệu đầu vào và đầu ra 22 Phân rã theo dữ liệu Phân rã theo dữ liệu trung gian: 23 Phân rã theo dữ liệu 24 Phân rã theo các khả năng... While 30 Ngôn ngữ mô tả thuật toán Cấu trúc thể hiện song song Cấu trúc 1: For biến=1 to n do in parallel S1 S2 … End parallel Cấu trúc 2: For x € S do in parallel S1 S2 … End parallel 31 Các thuật toán song song: 32 . Kỹ thuật Máy tính Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội C 1- P322, Tel: 86961 25 Website: http://ktmt.shorturl.com 3 Kiến trúc các hệ thống tính toán Chương 5 Thuật toán song song Nguyễn. giải quyết các vấn đề trong các máy tính tuần tự. Thuật toán song song là cơ sở, cho biết cách thức để giải quyết các vấn đề bằng cách sử dụng tính toán song song. 5 Một thuật toán song song. 1 KIẾN TRÚC CÁC HỆ THỐNG TÍNH TOÁN Nguyễn Phú Bình Trần Trung Kiên Bộ môn KTMT - Khoa CNTT Trường ĐH Bách Khoa Hà Nội 2 Lưu ý của tác giả