Đa xử lý và Đa máy tính
Chúng ta sẽ thảo luận về đa xử lý và đa máy tính trong chương này.
Kết nối hệ thống đa xử lý
Xử lý song song cần sử dụng các kết nối hệ thống hiệu quả để giao tiếp nhanh chóng giữa Đầu vào / Đầu ra và các thiết bị ngoại vi, bộ đa xử lý và bộ nhớ dùng chung.
Hệ thống xe buýt phân cấp
Hệ thống bus phân cấp bao gồm một hệ thống bus phân cấp kết nối các hệ thống và hệ thống con / thành phần khác nhau trong máy tính. Mỗi xe buýt được tạo thành từ một số đường dây tín hiệu, điều khiển và nguồn điện. Các xe buýt khác nhau như xe buýt địa phương, xe buýt bảng nối đa năng và xe buýt I / O được sử dụng để thực hiện các chức năng kết nối khác nhau.
Xe buýt địa phương là xe buýt được thực hiện trên bảng mạch in. Bus bảng nối đa năng là một mạch in trên đó có nhiều đầu nối được sử dụng để cắm vào các bảng chức năng. Các xe buýt kết nối thiết bị đầu vào / đầu ra với hệ thống máy tính được gọi là xe buýt I / O.
Công tắc thanh ngang và Bộ nhớ đa cổng
Mạng chuyển mạch cung cấp kết nối động giữa các đầu vào và đầu ra. Các hệ thống cỡ vừa hoặc nhỏ hầu hết sử dụng mạng thanh ngang. Mạng đa tầng có thể được mở rộng cho các hệ thống lớn hơn, nếu vấn đề độ trễ tăng lên có thể được giải quyết.
Cả công tắc thanh ngang và tổ chức bộ nhớ đa cổng đều là mạng một giai đoạn. Mặc dù xây dựng mạng một giai đoạn rẻ hơn, nhưng có thể cần nhiều lần để thiết lập các kết nối nhất định. Một mạng nhiều tầng có nhiều hơn một tầng hộp chuyển mạch. Các mạng này sẽ có thể kết nối mọi đầu vào với bất kỳ đầu ra nào.
Mạng đa tầng và kết hợp
Mạng đa tầng hay mạng liên kết nhiều tầng là một loại mạng máy tính tốc độ cao, chủ yếu bao gồm các phần tử xử lý ở một đầu của mạng và các phần tử bộ nhớ ở đầu kia, được kết nối bằng các phần tử chuyển mạch.
Các mạng này được áp dụng để xây dựng các hệ thống đa xử lý lớn hơn. Điều này bao gồm Mạng Omega, Mạng Bướm và nhiều hơn nữa.
Đa máy tính
Đa máy tính là kiến trúc MIMD bộ nhớ phân tán. Sơ đồ sau đây cho thấy một mô hình khái niệm của một máy tính đa năng:
Đa máy tính là máy truyền thông điệp áp dụng phương pháp chuyển mạch gói để trao đổi dữ liệu. Ở đây, mỗi bộ xử lý có một bộ nhớ riêng, nhưng không có không gian địa chỉ chung vì bộ xử lý chỉ có thể truy cập bộ nhớ cục bộ của chính nó. Vì vậy, giao tiếp không minh bạch: ở đây các lập trình viên phải đưa các nguyên tắc giao tiếp vào mã của họ một cách rõ ràng.
Không có bộ nhớ có thể truy cập toàn cầu là một nhược điểm của đa máy tính. Điều này có thể được giải quyết bằng cách sử dụng hai lược đồ sau:
- Bộ nhớ chia sẻ ảo (VSM)
- Bộ nhớ ảo dùng chung (SVM)
Trong các lược đồ này, người lập trình ứng dụng giả định một bộ nhớ dùng chung lớn có thể định địa chỉ toàn cầu. Nếu được yêu cầu, các tham chiếu bộ nhớ do các ứng dụng tạo ra sẽ được dịch sang mô hình truyền thông báo.
Bộ nhớ chia sẻ ảo (VSM)
VSM là một triển khai phần cứng. Vì vậy, hệ thống bộ nhớ ảo của Hệ điều hành được thực hiện một cách minh bạch trên VSM. Vì vậy, hệ điều hành nghĩ rằng nó đang chạy trên máy có bộ nhớ dùng chung.
Bộ nhớ ảo dùng chung (SVM)
SVM là một triển khai phần mềm ở cấp Hệ điều hành với sự hỗ trợ phần cứng từ Đơn vị quản lý bộ nhớ (MMU) của bộ xử lý. Ở đây, đơn vị chia sẻ là các trang bộ nhớ Hệ điều hành.
Nếu một bộ xử lý giải quyết một vị trí bộ nhớ cụ thể, MMU sẽ xác định xem trang bộ nhớ được liên kết với quyền truy cập bộ nhớ có nằm trong bộ nhớ cục bộ hay không. Nếu trang không có trong bộ nhớ, trong hệ thống máy tính bình thường, nó sẽ được Hệ điều hành hoán đổi từ đĩa. Tuy nhiên, trong SVM, Hệ điều hành tìm nạp trang từ nút từ xa sở hữu trang cụ thể đó.
Ba thế hệ của đa máy tính
Trong phần này, chúng ta sẽ thảo luận về ba thế hệ đa máy tính.
Lựa chọn thiết kế trong quá khứ
Trong khi lựa chọn công nghệ bộ xử lý, một nhà thiết kế đa máy tính chọn bộ xử lý hạt trung bình chi phí thấp làm khối xây dựng. Phần lớn các máy tính song song được xây dựng với bộ vi xử lý tiêu chuẩn hiện có. Bộ nhớ phân tán được chọn cho nhiều máy tính hơn là sử dụng bộ nhớ dùng chung, điều này sẽ hạn chế khả năng mở rộng. Mỗi bộ xử lý có bộ nhớ cục bộ riêng.
Đối với sơ đồ kết nối, đa máy tính có các mạng trực tiếp truyền thông điệp, điểm-điểm thay vì mạng chuyển mạch địa chỉ. Đối với chiến lược điều khiển, nhà thiết kế nhiều máy tính chọn các hoạt động MIMD, MPMD và SMPD không đồng bộ. Khối lập phương vũ trụ của Caltech (Seitz, 1983) là máy tính đa năng thế hệ đầu tiên.
Phát triển hiện tại và tương lai
Các máy tính thế hệ tiếp theo đã phát triển từ các máy tính đa năng hạt trung bình đến mịn sử dụng bộ nhớ ảo được chia sẻ toàn cầu. Hiện tại, nhiều máy tính thế hệ thứ hai vẫn đang được sử dụng. Nhưng sử dụng bộ vi xử lý tốt hơn như i386, i860,… máy tính thế hệ thứ hai đã phát triển rất nhiều.
Máy tính thế hệ thứ ba là máy tính thế hệ tiếp theo, nơi các nút được triển khai VLSI sẽ được sử dụng. Mỗi nút có thể có bộ xử lý 14-MIPS, các kênh định tuyến 20-Mbyte / s và 16 Kbyte RAM được tích hợp trên một chip.
Hệ thống Intel Paragon
Trước đây, các nút đồng nhất được sử dụng để tạo đa máy tính siêu khối, vì tất cả các chức năng được giao cho máy chủ. Vì vậy, điều này đã hạn chế băng thông I / O. Do đó, để giải quyết các vấn đề quy mô lớn một cách hiệu quả hoặc với thông lượng cao, các máy tính này không thể được sử dụng. Hệ thống Intel Paragon được thiết kế để khắc phục khó khăn này. Nó đã biến máy tính đa năng thành một máy chủ ứng dụng với quyền truy cập đa người dùng trong môi trường mạng.
Cơ chế chuyển thông báo
Cơ chế truyền thông điệp trong mạng đa máy tính cần hỗ trợ phần cứng và phần mềm đặc biệt. Trong phần này, chúng ta sẽ thảo luận về một số phương án.
Lược đồ định tuyến tin nhắn
Trong đa máy tính với lược đồ định tuyến lưu trữ và chuyển tiếp, gói tin là đơn vị truyền thông tin nhỏ nhất. Trong mạng định tuyến theo lỗ sâu, các gói được chia nhỏ hơn thành các tệp. Chiều dài gói được xác định bởi sơ đồ định tuyến và việc triển khai mạng, trong khi chiều dài ống bị ảnh hưởng bởi kích thước mạng.
Trong Store and forward routing, gói tin là đơn vị truyền thông tin cơ bản. Trong trường hợp này, mỗi nút sử dụng một bộ đệm gói. Một gói được truyền từ nút nguồn đến nút đích thông qua một chuỗi các nút trung gian. Độ trễ tỷ lệ thuận với khoảng cách giữa nguồn và đích.
Trong wormhole routing, quá trình truyền từ nút nguồn đến nút đích được thực hiện thông qua một chuỗi các bộ định tuyến. Tất cả các phần của cùng một gói được truyền theo một trình tự không thể tách rời theo kiểu pipelined. Trong trường hợp này, chỉ có phần tiêu đề mới biết gói tin đang đi đâu.
Bế tắc và các kênh ảo
Kênh ảo là một liên kết hợp lý giữa hai nút. Nó được hình thành bởi bộ đệm flit trong nút nguồn và nút thu, và một kênh vật lý giữa chúng. Khi một kênh vật lý được cấp phát cho một cặp, một bộ đệm nguồn sẽ được ghép nối với một bộ đệm thu để tạo thành một kênh ảo.
Khi tất cả các kênh bị chiếm bởi tin nhắn và không có kênh nào trong chu kỳ được giải phóng, tình trạng bế tắc sẽ xảy ra. Để tránh điều này, một kế hoạch tránh bế tắc phải được tuân theo.