Bài giảng Kiến trúc máy tính - Chương 7: Đa lõi, Đa xử lý & Máy tính cụm

Mục tiêu: Nhiều máy tính nối lại  hiệu năng
cao
 Đa xử lý (multiprocessors)
 Dễ mở rộng, sẵn sàng cao, tiết kiệm năng lượng
 Song song ở mức công việc (quá trình)
 Hiệu xuất đầu ra cao khi các công việc độc lập
 Chương trình xử lý song song có nghĩa
 Chương trình chạy trên nhiều bộ xử lý
 Xử lý đa lõi (Multicores)
 Nhiều bộ xử lý trên cùng 1 Chip 
pdf 31 trang xuanthi 28/12/2022 2640
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 7: Đa lõi, Đa xử lý & Máy tính cụm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_7_da_loi_da_xu_ly_may_ti.pdf

Nội dung text: Bài giảng Kiến trúc máy tính - Chương 7: Đa lõi, Đa xử lý & Máy tính cụm

  1. Dẫn nhập  Mục tiêu: Nhiều máy tính nối lại hiệu năng cao  Đa xử lý (multiprocessors)  Dễ mở rộng, sẵn sàng cao, tiết kiệm năng lượng  Song song ở mức công việc (quá trình)  Hiệu xuất đầu ra cao khi các công việc độc lập  Chương trình xử lý song song có nghĩa  Chương trình chạy trên nhiều bộ xử lý  Xử lý đa lõi (Multicores)  Nhiều bộ xử lý trên cùng 1 Chip BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 2
  2. Lập trình song song  Phần mềm song song: vấn đề lớn  Phải tạo ra được sự cải thiện hiệu suất tốt  Vì nếu không thì dùng đơn xử lý nhanh, không phức tạp!  Khó khăn  Phân rã vấn đề (Partitioning)  Điều phối  Phí tổn giao tiếp BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 4
  3. Khả năng phát triển (Scaling)  Bài toán: Tổng của 10 số, và Tổng ma trận [10 × 10]  Tăng tốc độ từ 10 đến 100 bộ xử lý  Đơn xử lý (1 CPU): Time = (10 + 100) × tadd  10 bộ xử lý  Time = 10 × tadd + 100/10 × tadd = 20 × tadd  Speedup = 110/20 = 5.5 (55% of potential)  100 bộ xử lý  Time = 10 × tadd + 100/100 × tadd = 11 × tadd  Speedup = 110/11 = 10 (10% of potential)  Với điều kiện tải được phân đều cho các bộ xử lý BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 6
  4. Strong vs Weak Scaling  Strong scaling: ứng dụng & hệ thống tăng dẫn đến speedup cũng tăng  Như trong ví dụ  Weak scaling: speedup không đổi  10 bộ xử lý, ma trận [10 × 10]  Time = 20 × tadd  100 bộ xử lý, ma trận [32 × 32]  Time = 10 × tadd + 1000/100 × tadd = 20 × tadd  Hiệu suất không đổi BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 8
  5. Ví dụ: Cộng dồn (Sum reduction)  Tính tổng 100,000 số trên 100 bộ xử lý UMA  Bộ xử lý đánh chỉ số Pn: 0 ≤ Pn ≤ 99  Giao 1000 số cho mỗi bộ xử lý để tính  Phần code trên mỗi bộ xử lý sẽ là sum[Pn] = 0; for (i = 1000*Pn; i < 1000*(Pn+1); i = i + 1) sum[Pn] = sum[Pn] + A[i];  Tính tổng của 100 tổng đơn lẻ trên mỗi CPU  Nguyên tắc giải thuật: divide and conquer  ½ số CPU cộng từng cặp, ¼ , 1/8  Cần sự đồng bộ tại mỗi bước BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 10
  6. Trao đổi thông điệp  Mỗi bộ xử lý có không gian địa chỉ riêng  Phần cứng sẽ gửi/nhận thông điệp giữa các bộ xử lý BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 12
  7. Tính tổng  Tổng của 100,000 số với 100 bộ xử lý  Trước tiên chia đều số cho mỗi CPU  Tổng từng phần trên mỗi CPU sẽ là sum = 0; for (i = 0; i<1000; i = i + 1) sum = sum + AN[i];  Gom tổng  ½ gửi, ½ nhận & cộng  ¼ gửi và ¼ nhận & Cộng , BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 14
  8. Tính toán lưới  Các máy tính riêng biệt kết nối qua mạng rộng  Ví dụ: kết nối qua internet  Công việc được phát tán, được tính toán và gom kết quả lại, ví dụ tính thời tiết  Tận dụng thời gian rảnh của các máy PC  Ví dụ: SETI@home, World Community Grid BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 16
  9. Tương lai “đa luồng”  Tồn tại? Dạng nào?  Năng lương tiêu thụ Kiến trúc đơn giản & Hiệu suất cao  Sử dụng các dạng đơn giản đa luồng  Giảm thiểu thời gian cache-miss  Chuyển luồng hiệu quả hơn  Đa lõi có thể chia sẻ chung tài nguyên hiệu quả hơn (Floating Point Unit or L3 BK Cache) TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 18
  10. SIMD  Hoạt động trên phần tử vector dữ liệu  Ví dụ: MMX and SSE instructions in x86  Các thành phần dữ liệu chứa trong các thanh ghi 128 bit  Tất cả các bộ xử lý thực hiện cùng một lệnh nhưng trên dữ liệu khác nhau  Dữ liệu lưu trữ ở các địa chỉ khác nhau.  Cơ chế đồng bộ đơn giản  Giảm được phí tổn điều khiển  Phù hợp với các ứng dụng song song dữ BK TP.HCM liệu 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 20
  11. Kiến trúc GPUs  Trước đây dùng cho video cards  Frame buffer memory with address generation for video output  Xử lý hình 3D  Originally high-end computers (e.g., SGI)  Moore’s Law lower cost, higher density  3D graphics cards for PCs and game consoles  Graphics Processing Units  Processors oriented to 3D graphics tasks  Vertex/pixel processing, shading, texture mapping, BK rasterization TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 22
  12. Kiến trúc GPU  Xử lý ở dạng song song dữ liệu  GPUs are highly multithreaded  Use thread switching to hide memory latency  Less reliance on multi-level caches  Graphics memory is wide and high-bandwidth  Hướng tới GPU đa năng  Heterogeneous CPU/GPU systems  CPU for sequential code, GPU for parallel code  Ngôn ngữ lập trình/APIs  DirectX, OpenGL  C for Graphics (Cg), High Level Shader Language (HLSL) BK  Compute Unified Device Architecture (CUDA) TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 24
  13. Mạng đa lớp (Multistage) BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 26
  14. Đánh giá Benchmarks  Linpack: matrix linear algebra  SPECrate: parallel run of SPEC CPU programs  Job-level parallelism  SPLASH: Stanford Parallel Applications for Shared Memory  Mix of kernels and applications, strong scaling  NAS (NASA Advanced Supercomputing) suite  computational fluid dynamics kernels  PARSEC (Princeton Application Repository for Shared Memory Computers) suite  Multithreaded applications using Pthreads and BK OpenMP TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 28
  15. Các hệ thống hiện hành (tt.) 2 × oct-core Sun UltraSPARC T2 5140 (Niagara 2) 2 × oct-core IBM Cell QS20 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 30