Kiến trúc máy tính song song - Mô hình
Xử lý song song đã được phát triển như một công nghệ hiệu quả trong máy tính hiện đại nhằm đáp ứng nhu cầu về hiệu suất cao hơn, chi phí thấp hơn và kết quả chính xác trong các ứng dụng thực tế. Các sự kiện đồng thời phổ biến trong các máy tính ngày nay do thực hành đa chương trình, đa xử lý hoặc đa máy tính.
Máy tính hiện đại có các gói phần mềm mạnh mẽ và phong phú. Để phân tích sự phát triển hiệu suất của máy tính, trước hết chúng ta phải hiểu sự phát triển cơ bản của phần cứng và phần mềm.
Computer Development Milestones - Có hai giai đoạn phát triển chính của máy tính - mechanical hoặc là electromechanicalcác bộ phận. Máy tính hiện đại phát triển sau sự ra đời của các linh kiện điện tử. Các electron có tính di động cao trong máy tính điện tử đã thay thế các bộ phận hoạt động trong máy tính cơ khí. Để truyền thông tin, tín hiệu điện truyền gần như bằng tốc độ ánh sáng đã thay thế các bánh răng hoặc đòn bẩy cơ học.
Elements of Modern computers - Hệ thống máy tính hiện đại bao gồm phần cứng máy tính, tập lệnh, chương trình ứng dụng, phần mềm hệ thống và giao diện người dùng.
Các vấn đề tính toán được phân loại là tính toán số, suy luận logic và xử lý giao dịch. Một số vấn đề phức tạp có thể cần sự kết hợp của cả ba chế độ xử lý.
Evolution of Computer Architecture- Trong bốn thập kỷ qua, kiến trúc máy tính đã trải qua những thay đổi mang tính cách mạng. Chúng tôi bắt đầu với kiến trúc Von Neumann và bây giờ chúng tôi có đa máy tính và đa xử lý.
Performance of a computer system- Hiệu suất của một hệ thống máy tính phụ thuộc cả vào khả năng của máy và hành vi của chương trình. Khả năng của máy có thể được cải thiện với công nghệ phần cứng tốt hơn, các tính năng kiến trúc tiên tiến và quản lý tài nguyên hiệu quả. Hành vi của chương trình là không thể đoán trước vì nó phụ thuộc vào ứng dụng và điều kiện thời gian chạy
Đa xử lý và Đa máy tính
Trong phần này, chúng ta sẽ thảo luận về hai loại máy tính song song -
- Multiprocessors
- Multicomputers
Máy tính đa bộ nhớ dùng chung
Ba mô hình đa xử lý bộ nhớ dùng chung phổ biến nhất là:
Truy cập bộ nhớ thống nhất (UMA)
Trong mô hình này, tất cả các bộ xử lý chia sẻ bộ nhớ vật lý một cách đồng nhất. Tất cả các bộ xử lý có thời gian truy cập bằng nhau đến tất cả các từ bộ nhớ. Mỗi bộ xử lý có thể có một bộ nhớ đệm riêng. Quy tắc tương tự cũng được tuân theo đối với các thiết bị ngoại vi.
Khi tất cả các bộ xử lý có quyền truy cập như nhau vào tất cả các thiết bị ngoại vi, hệ thống được gọi là symmetric multiprocessor. Khi chỉ một hoặc một vài bộ xử lý có thể truy cập vào các thiết bị ngoại vi, hệ thống được gọi làasymmetric multiprocessor.
Quyền truy cập bộ nhớ không đồng nhất (NUMA)
Trong mô hình bộ đa xử lý NUMA, thời gian truy cập thay đổi theo vị trí của từ bộ nhớ. Tại đây, bộ nhớ dùng chung được phân phối vật lý giữa tất cả các bộ xử lý, được gọi là bộ nhớ cục bộ. Tập hợp tất cả các bộ nhớ cục bộ tạo thành một không gian địa chỉ chung mà tất cả các bộ xử lý có thể truy cập.
Kiến trúc bộ nhớ chỉ bộ nhớ đệm (COMA)
Mô hình COMA là một trường hợp đặc biệt của mô hình NUMA. Tại đây, tất cả các bộ nhớ chính được phân phối được chuyển đổi thành bộ nhớ đệm.
Distributed - Memory Multicomputers- Một hệ thống đa máy tính bộ nhớ phân tán bao gồm nhiều máy tính, được gọi là các nút, được kết nối với nhau bằng mạng truyền thông điệp. Mỗi nút hoạt động như một máy tính tự trị có bộ xử lý, bộ nhớ cục bộ và đôi khi là các thiết bị I / O. Trong trường hợp này, tất cả các bộ nhớ cục bộ là riêng tư và chỉ bộ xử lý cục bộ mới có thể truy cập được. Đây là lý do tại sao, các máy truyền thống được gọi làno-remote-memory-access (NORMA) máy móc.
Máy tính đa vũ trụ và SIMD
Trong phần này, chúng ta sẽ thảo luận về siêu máy tính và bộ xử lý song song để xử lý vectơ và song song dữ liệu.
Siêu máy tính vector
Trong máy tính vectơ, bộ xử lý vectơ được gắn vào bộ xử lý vô hướng như một tính năng tùy chọn. Đầu tiên máy tính chủ sẽ tải chương trình và dữ liệu vào bộ nhớ chính. Sau đó, đơn vị điều khiển vô hướng giải mã tất cả các hướng dẫn. Nếu các lệnh được giải mã là hoạt động vô hướng hoặc hoạt động chương trình, bộ xử lý vô hướng thực hiện các hoạt động đó bằng cách sử dụng các đường ống chức năng vô hướng.
Mặt khác, nếu các lệnh được giải mã là các phép toán vector thì các lệnh sẽ được gửi đến đơn vị điều khiển vector.
Siêu máy tính SIMD
Trong máy tính SIMD, số 'N' bộ xử lý được kết nối với một bộ điều khiển và tất cả các bộ xử lý đều có bộ nhớ riêng. Tất cả các bộ xử lý được kết nối bởi một mạng kết nối.
Mô hình PRAM và VLSI
Mô hình lý tưởng đưa ra một khuôn khổ phù hợp để phát triển các thuật toán song song mà không cần xem xét các ràng buộc vật lý hoặc chi tiết thực hiện.
Các mô hình có thể được thực thi để đạt được giới hạn hiệu suất lý thuyết trên các máy tính song song hoặc để đánh giá độ phức tạp của VLSI trên diện tích chip và thời gian hoạt động trước khi chip được chế tạo.
Máy truy cập ngẫu nhiên song song
Sheperdson và Sturgis (1963) đã mô hình hóa các máy tính Uniprocessor thông thường như các máy truy cập ngẫu nhiên (RAM). Fortune và Wyllie (1978) đã phát triển mô hình máy truy cập ngẫu nhiên song song (PRAM) để mô hình hóa một máy tính song song lý tưởng với chi phí truy cập bộ nhớ và đồng bộ hóa bằng không.
Một PRAM bộ xử lý N có một bộ nhớ dùng chung. Bộ nhớ dùng chung này có thể được tập trung hoặc phân phối giữa các bộ xử lý. Các bộ xử lý này hoạt động trên một chu kỳ đồng bộ bộ nhớ đọc, bộ nhớ ghi và tính toán. Vì vậy, các mô hình này chỉ định cách xử lý các hoạt động đọc và ghi đồng thời.
Sau đây là các thao tác cập nhật bộ nhớ có thể có:
Exclusive read (ER) - Trong phương pháp này, trong mỗi chu kỳ chỉ có một bộ xử lý được phép đọc từ bất kỳ vị trí bộ nhớ nào.
Exclusive write (EW) - Trong phương pháp này, ít nhất một bộ xử lý được phép ghi vào một vị trí bộ nhớ tại một thời điểm.
Concurrent read (CR) - Nó cho phép nhiều bộ xử lý đọc cùng một thông tin từ cùng một vị trí bộ nhớ trong cùng một chu kỳ.
Concurrent write (CW)- Nó cho phép các thao tác ghi đồng thời vào cùng một vị trí bộ nhớ. Để tránh xung đột ghi, một số chính sách được thiết lập.
Mô hình độ phức tạp VLSI
Máy tính song song sử dụng chip VLSI để chế tạo mảng bộ xử lý, mảng bộ nhớ và mạng chuyển mạch quy mô lớn.
Ngày nay, công nghệ VLSI là 2 chiều. Kích thước của chip VLSI tỷ lệ thuận với dung lượng lưu trữ (bộ nhớ) có sẵn trong chip đó.
Chúng ta có thể tính toán độ phức tạp không gian của một thuật toán bằng diện tích chip (A) của việc thực thi chip VLSI của thuật toán đó. Nếu T là thời gian (độ trễ) cần thiết để thực thi thuật toán, thì AT đưa ra giới hạn trên về tổng số bit được xử lý qua chip (hoặc I / O). Đối với một số máy tính nhất định, tồn tại một giới hạn dưới, f (s), sao cho
AT 2 > = O (f (s))
Trong đó A = diện tích chip và T = thời gian
Theo dõi phát triển kiến trúc
Sự phát triển của máy tính song song tôi đã truyền bá theo các bài sau:
- Nhiều bản nhạc bộ xử lý
- Theo dõi đa xử lý
- Theo dõi đa máy tính
- Nhiều dữ liệu theo dõi
- Theo dõi vector
- Theo dõi SIMD
- Theo dõi nhiều chủ đề
- Bài hát đa luồng
- Theo dõi luồng dữ liệu
Trong multiple processor track, giả định rằng các luồng khác nhau thực thi đồng thời trên các bộ xử lý khác nhau và giao tiếp thông qua bộ nhớ dùng chung (theo dõi đa xử lý) hoặc hệ thống truyền thông báo (theo dõi đa máy tính).
Trong multiple data track, giả định rằng cùng một đoạn mã được thực thi trên một lượng lớn dữ liệu. Nó được thực hiện bằng cách thực hiện các hướng dẫn giống nhau trên một chuỗi các phần tử dữ liệu (theo dõi vectơ) hoặc thông qua thực hiện cùng một chuỗi hướng dẫn trên một tập dữ liệu tương tự (theo dõi SIMD).
Trong multiple threads track, giả định rằng việc thực thi xen kẽ các luồng khác nhau trên cùng một bộ xử lý để ẩn sự chậm trễ đồng bộ hóa giữa các luồng thực thi trên các bộ xử lý khác nhau. Luồng xen kẽ có thể là thô (theo dõi đa luồng) hoặc tốt (theo dõi luồng dữ liệu).