intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

KIẾN TRÚC CÁC HỆ THỐNG TÍNH TOÁN - CHƯƠNG 6

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:49

127
lượt xem
29
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Với kiến trúc đơn bộ xử lý: Tốc độ của bộ xử lý ngày càng được nâng cao và nhanh hơn so với tốc độ truy cập bộ nhớ . Hiện tượng thắt cổ chai (bottle-neck): trong các chu trình lệnh, CPU sẽ lãng phí một vài chu kỳ đồng hồ để chờ đợi quá trình truy cập bộ nhớ.

Chủ đề:
Lưu

Nội dung Text: KIẾN TRÚC CÁC HỆ THỐNG TÍNH TOÁN - CHƯƠNG 6

  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 1
  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 2
  3. Ôn Tập 1. Ứng dụng của các hệ thống tính toán đa bộ xử lý 2. Phân loại của Flin 3. Phân biệt shared-memory và distributed memory system 4. Phân biệt UMA, SMP,NUMA, Cluster, MPP 5. Myrinet 3
  4. 1.Ứng dụng của các hệ thống tính toán đa bộ xử lý  Với kiến trúc đơn bộ xử lý: Tốc độ của bộ xử lý ngày càng được nâng cao và nhanh hơn  so với tốc độ truy cập bộ nhớ . Hiện tượng thắt cổ chai (bottle-neck): trong các chu trình lệnh,  CPU sẽ lãng phí một vài chu kỳ đồng hồ để chờ đợi quá trình truy cập bộ nhớ.  Kiến trúc song song là một giải pháp hữu hiệu để tăng năng lực cho các hệ thống tính toán.  Hệ thống đa bộ xử lý, song song dùng để thực hiện những bài toán đòi hỏi khối lượng tính toán lớn. 4
  5. 2. Phân loại của Flynn  Theo tài liệu: Flynn, M. “Some Computer Organizations and Their Effectiveness”, IEEE Transactions on Computers, 9/1972.  Flynn classified programs and computers by whether they were operating using a single set or multiple sets of instructions, whether or not those instructions were using a single or multiple sets of data. 5
  6. Phân loại của Flynn (tiếp)  Có 4 loại kiến trúc máy tính: SISD (Single Instruction Single Data stream): kiến trúc đơn  dòng lệnh, đơn dòng dữ liệu. SIMD (Single Instruction Multiple Data stream): kiến trúc đơn  dòng lệnh, đa dòng dữ liệu. MISD (Multiple Instruction Single Data stream): kiến trúc đa  dòng lệnh, đơn dòng dữ liệu. MIMD (Multiple Instruction Multiple Data stream): kiến trúc đa  dòng lệnh, đa dòng dữ liệu. 6
  7. a. Kiến trúc SISD  Đơn dòng lệnh  Một bộ xử lý  Dữ liệu được lưu trữ trong một bộ nhớ  Chính là kiến trúc Von Neumann 7
  8. b. Kiến trúc MISD  Theo Flynn thì không tồn tại máy tính theo kiến trúc này. 8
  9. c. Kiến trúc SIMD DS  Đơn dòng lệnh điều khiển đồng PE1 LM1 thời các phần tử xử lý PE (Processing Element) DS  Mỗi phần tử xử lý có một bộ PE2 LM2 IS nhớ dữ liệu riêng LM (Local CU Memory)  Mỗi lệnh được thực hiện trên DS một tập các dữ liệu khác nhau. PEn LMn 9
  10. d. Kiến trúc MIMD  Tập các bộ xử lý: các bộ xử lý đồng thời thực hiện các dãy lệnh khác nhau trên các dữ liệu khác nhau.  Các mô hình MIMD: Multiprocessor (Shared Memory) – đa bộ xử lý  Multicomputer (Distributed Memory) – đa máy tính  10
  11. 3. Shared-memory và distributed memory system  Có 2 mô hình: a. Mô hình bộ nhớ riêng biệt / bộ nhớ phân tán (Distributed- Memory ) b. Mô hình bộ nhớ chia sẻ (Shared-Memory) 11
  12. a. Mô hình bộ nhớ riêng biệt 12
  13. Mô hình bộ nhớ riêng biệt  Hệ thống được tạo bởi các máy tính riêng biệt kết nối với nhau bằng mạng nội bộ tốc độ cao.  Những hệ thống song song kiểu này được gọi là hệ thống Boewufs hay Beowulf Cluster (hệ thống bó Beowulf). Các máy tính trong Cluster có thể là các máy tính cá nhân, các máy trạm (đơn bộ xử lý hoặc đa bộ xử lý đối xứng - SMP).  Mô hình lập trình cho các ứng dụng trong hệ thống này được gọi là mô hình truyền thông điệp (message passing). 13
  14. Mô hình lập trình truyền thông điệp  Một chương trình thường bao gồm nhiều tiến trình con được thực hiện đồng thời, mỗi tiến trình được thực hiện trên một máy có vùng nhớ và dữ liệu riêng và có sử dụng các gói thông điệp (messages) để truyền thông với nhau.  Phương pháp giao tiếp giữa các nút tính toán trong mô hình này được thực hiện cách đóng gói dữ liệu thành các thông điệp theo một khuôn dạng xác định và truyền đi trong mạng. Việc truyền và nhận được thực hiện bằng cách gọi các hàm của thư viện lập trình song song. 14
  15. Mô hình lập trình truyền thông điệp 15
  16. Thư viện MPI  Thư viện truyền thông điệp được sử dụng nhiều nhất hiện nay là MPI (Message Passing Interface): Bao gồm các hàm bằng C, C++ hoặc Fortran dùng để truyền  thông giữa các tiến trình. Là kết quả của hơn 2 năm thảo luận của MPI Forum - nhóm  gồm khoảng 60 người từ 40 tổ chức khác nhau đại diện cho những nhà phân phối các hệ thống song song, những phòng thí nghiệm quốc gia và những trường đại học danh tiếng. 16
  17. b. Mô hình bộ nhớ chia sẻ 17
  18. Mô hình bộ nhớ chia sẻ  Trong mô hình này, các CPU sử dụng chung một không gian nhớ vật lý.  Mọi CPU đều có khả năng truy cập như nhau tới dữ liệu trong không gian nhớ chung đó.  Các CPU trao đổi thông tin thông qua các đường bus tốc độ cao.  Một trong những vấn đề quan trọng trong mô hình này là cách tổ chức và quản lý việc sử dụng bộ nhớ của các tiến trình do các CPU thực hiện. 18
  19. Quản lý bộ nhớ trong mô hình 19
  20. Mô hình cải tiến có sử dụng Cache  Hầu hết các hệ thống máy tính hiện đại ngày nay đều sử dụng bộ nhớ Cache để giảm độ trễ và tăng băng thông của hệ thống nhớ.  Trên một máy Shared Memory Multiprocessors, dữ liệu chia sẻ được tái tạo trên bộ nhớ Cache của các Processor.  Lập trình: thư viện OpenMP. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2