In trúc ế

Một phần của tài liệu slide bài giảng kiến trúc máy tính và hệ điều hành chương 4 một số kiến trúc hiện đại (Trang 25 - 41)

song song Năm s n ả

xu tấ

Lo i ạ

máy tính S BXL và c u hình tôpôố

ILLIAC IV 1972 SIMD 64, tuy n tínhế DAP 1974 SIMD 4096, theo dàn MPP 1980 SIMD 16384, siêu kh iố Cyber 1983 MIMD 16, hình vòng xuy nế IPSC/1 1985 MIMD 128, siêu kh iố

IPSC/2 1987 MIMD 128, siêu kh iố Cray 1 1976 Vector 1

Cray 2 1985 Vector 4 Intel Wrap 1990 Vector 50

4.3. Đa b x lý và đa máy tínhộ ử

4.3.1. Đa b x lýộ ử

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

+ Các BXL chia sẻ bộ nhớ và các thiết bị vào ra

+ Các tác vụ ghi/đọc của các BXL vào cùng một vùng nhớ được giải quyết bới bộ nhớ đệm

4.3. Đa b x lý và đa máy tínhộ ử

4.3.2. Đa máy tính

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

+ Tất cả bộ nhớ và thiết bị vào ra là độc lập + Di chuyển dữ liệu trong mạng liên kết chậm + Kiểu lập trình là sự mở rộng của kiểu đơn BXL

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

+ Thuật ngữ tiến trình:

- Mô tả dãy câu lệnh của CT có thể thực hiện một cách tuần tự hoặc song song với những câu lệnh khác của CT + Thuật ngữ chương trình:

- Là một tập các tiến trình có thể thực hiện tuần tự hoặc đồng thời có tương tranh

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

+ Trong môi trường lập trình tuần tự:

- Một CT thực hiện trên cùng một tập dữ liệu cho ra cùng một kết quả

- CT thực hiện sẽ tạo ra 1 tiến trình bên trong hệ thống mà người sử dụng không quan sát được

- Mỗi câu lệnh thực hiện không gây trở ngại cho các câu lệnh khác trong CT

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

+ Trong môi trường đa chương trình, đa bộ xử lý:

- Các câu lệnh của các CT có thể được thực hiện đan xen - Ở cùng 1 thời điểm có thể có nhiều hơn 1 CT được thực hiện

- Các CT tự chủ thực hiện các tiến trình của mình

- Các CT phải tương tác với nhau, việc thực hiện các CT ảnh hưởng tới nhịp độ thực hiện của nhau

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

+ Trong môi trường lập trình song song:

- Người lập trình phải cung cấp các công cụ để đồng bộ hóa và điều khiển sự tương tác giữa các tiến trình

- Tạo và lập lịch cho các tiến trình

- Người lập trình có thể “nhìn thấy” quá trình thực hiện CT Tận dụng khả năng tính toán của các BXL:

- Phát triển các ngôn ngữ lập trình

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Một số ngôn ngữ lập trình (NNLT) song song:

+ Fortran 90:

- Là NNLT song song theo dữ liệu - Nâng cấp từ Fortran 77:

- Hỗ trợ mở rộng khả năng tính toán mảng

 Bổ sung thêm đặc tính con trỏ

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Một số ngôn ngữ lập trình (NNLT) song song:

+ OCCAM (Inmos Company phát triển năm 1988):

- Lập trình cho các hệ thống nhiều máy tính kết nối với nhau hoặc các hệ phân tán

- Thiếu một số đặc tính:

 Hỗ trợ cơ chế đệ quy

 Định nghĩa kiểu dữ liệu hay con trỏ

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Sự phụ thuộc dữ liệu và đồ thị ưu tiên:

+ Quyền ưu tiên: mức độ phụ thuộc tính toán của câu lệnh + Quan hệ ưu tiên tính toán trong xử lý song song rất quan trọng  đảm bảo quá trình tính toán là chính xác

+ Ví dụ:

S1: A := B + C S2: B := A + E S3: A := A + B

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Sự phụ thuộc dữ liệu và đồ thị ưu tiên:

+ Phân tích các phụ thuộc:

- S1 tính giá trị biến A và biến này được S2 và S3 sử dụng

⇒ Có sự phụ thuộc S2, S3 vào S1 (ký hiệu là d1, d2)

S1 S2 S3

d1

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Sự phụ thuộc dữ liệu và đồ thị ưu tiên:

+ Phân tích các phụ thuộc:

- S2 tính giá trị biến B và biến này được S3 sử dụng

⇒ Có sự phụ thuộc S3 vào S2 (ký hiệu là d3)

S1 S2 S3

d1

d2

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Sự phụ thuộc dữ liệu và đồ thị ưu tiên:

+ Phân tích các phụ thuộc:

- Giá trị trước đó của biến B được sử dụng ở S1

⇒ Có sự phụ thuộc của S2 vào S1 (ký hiệu là d4)

S1 S2 S3

d1

d2

d3 d4

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Sự phụ thuộc dữ liệu và đồ thị ưu tiên:

+ Phân tích các phụ thuộc:

- Cả 2 lệnh S1 và S3 cùng tính giá trị của biến A

⇒ Có sự phụ thuộc d5 S1 S2 S3 d1 d2 d3 d4 d5

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Sự phụ thuộc dữ liệu và đồ thị ưu tiên:

+ Phân tích các phụ thuộc:

- S3 tính giá trị biến A và biến này được S2 và S3 sử dụng

⇒ Có sự phụ thuộc S2, S3 vào S3 (ký hiệu là d6, d7)

S1 S2 S3 d1 d2 d3 d4 d5 d6 d7

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Sự phụ thuộc dữ liệu và đồ thị ưu tiên:

+ Đồ thị phụ thuộc dữ liệu: S1 S2 S3 d1 d2 d3 d4 d5 d6 d7 + Đồ thị định hướng: G = (V, E) V: tập lệnh E: các phụ thuộc dữ liệu

4.4. L p trình song song và các thu t toán song songậ ậ

4.4.1. L p trình song songậ

CHƯƠNG 4: M T S KI N TRÚC HI N Đ I

* Sự phụ thuộc dữ liệu và đồ thị ưu tiên:

+ Các ký hiệu:

- DEF(S): tập các biến có giá trị bị thay đổi khi thực hiện S - USE(S): tập các biến được truy cập khi thực hiện S

+ Ví dụ: S: B := A + C - 2.0 - DEF(S) = {B}

Một phần của tài liệu slide bài giảng kiến trúc máy tính và hệ điều hành chương 4 một số kiến trúc hiện đại (Trang 25 - 41)

Tải bản đầy đủ (PPT)

(69 trang)