Đánh đổi phần cứng phần cứng
Có nhiều phương pháp để giảm chi phí phần cứng. Một phương pháp là tích hợp hệ thống hỗ trợ giao tiếp và mạng ít chặt chẽ hơn vào nút xử lý, đồng thời tăng độ trễ và chiếm dụng giao tiếp.
Một phương pháp khác là cung cấp tính năng sao chép tự động và tính liên kết trong phần mềm hơn là phần cứng. Phương pháp thứ hai cung cấp sự sao chép và tính liên kết trong bộ nhớ chính, và có thể thực thi ở nhiều mức độ chi tiết khác nhau. Nó cho phép sử dụng các bộ phận hàng hóa có sẵn cho các nút và kết nối với nhau, giảm thiểu chi phí phần cứng. Điều này tạo áp lực cho lập trình viên để đạt được hiệu suất tốt.
Các mô hình nhất quán về trí nhớ được thư giãn
Mô hình nhất quán bộ nhớ cho không gian địa chỉ dùng chung xác định các ràng buộc theo thứ tự mà các hoạt động bộ nhớ ở cùng một vị trí hoặc các vị trí khác nhau dường như đang thực thi đối với nhau. Trên thực tế, bất kỳ lớp hệ thống nào hỗ trợ mô hình đặt tên không gian địa chỉ dùng chung phải có mô hình nhất quán bộ nhớ bao gồm giao diện lập trình viên, giao diện hệ thống người dùng và giao diện phần cứng-phần mềm. Phần mềm tương tác với lớp đó phải nhận thức được mô hình nhất quán bộ nhớ của chính nó.
Thông số kỹ thuật
Đặc tả hệ thống của một kiến trúc xác định thứ tự và sắp xếp lại các hoạt động của bộ nhớ và hiệu suất thực sự có thể đạt được từ nó.
Sau đây là một số mô hình đặc điểm kỹ thuật sử dụng các thư giãn theo thứ tự chương trình -
Relaxing the Write-to-Read Program Order- Loại mô hình này cho phép phần cứng loại bỏ độ trễ của các hoạt động ghi đã bị bỏ lỡ trong bộ nhớ đệm cấp một. Khi lỗi ghi nằm trong bộ đệm ghi và không hiển thị với các bộ xử lý khác, bộ xử lý có thể hoàn thành các lần đọc được nhấn trong bộ nhớ đệm của nó hoặc thậm chí một lần đọc bị bỏ lỡ trong bộ nhớ đệm của nó.
Relaxing the Write-to-Read and Write-to-Write Program Orders- Cho phép ghi để bỏ qua các lần ghi chưa xuất sắc trước đó đến các vị trí khác nhau cho phép nhiều lần ghi được hợp nhất trong bộ đệm ghi trước khi cập nhật bộ nhớ chính. Do đó, nhiều lần ghi nhầm sẽ bị chồng lên nhau và có thể nhìn thấy không theo thứ tự. Động lực là để giảm thiểu hơn nữa tác động của độ trễ ghi lên thời gian nghỉ của bộ xử lý và nâng cao hiệu quả giao tiếp giữa các bộ xử lý bằng cách hiển thị các giá trị dữ liệu mới cho các bộ xử lý khác.
Relaxing All Program Orders- Không có lệnh chương trình nào được đảm bảo theo mặc định ngoại trừ dữ liệu và sự phụ thuộc điều khiển trong một quy trình. Vì vậy, lợi ích là nhiều yêu cầu đọc có thể được thực hiện cùng một lúc và theo thứ tự chương trình có thể được bỏ qua bằng cách ghi sau và bản thân chúng có thể hoàn thành không theo thứ tự, cho phép chúng tôi ẩn độ trễ đọc. Loại mô hình này đặc biệt hữu ích cho các bộ xử lý được lập lịch động, có thể tiếp tục các lần đọc trước đây đến các tham chiếu bộ nhớ khác. Chúng cho phép nhiều lần lặp lại, thậm chí loại bỏ các truy cập được thực hiện bởi tối ưu hóa trình biên dịch.
Giao diện lập trình
Các giao diện lập trình giả định rằng các lệnh chương trình không cần phải được duy trì giữa các hoạt động đồng bộ hóa. Nó được đảm bảo rằng tất cả các hoạt động đồng bộ hóa được dán nhãn rõ ràng hoặc được xác định như vậy. Thư viện thời gian chạy hoặc trình biên dịch chuyển các hoạt động đồng bộ hóa này thành các hoạt động bảo toàn thứ tự phù hợp được yêu cầu bởi đặc tả hệ thống.
Sau đó, hệ thống đảm bảo các thực thi nhất quán tuần tự mặc dù nó có thể sắp xếp lại các hoạt động giữa các hoạt động đồng bộ hóa theo bất kỳ cách nào nó mong muốn mà không làm gián đoạn các phụ thuộc vào một vị trí trong một quy trình. Điều này cho phép trình biên dịch đủ linh hoạt giữa các điểm đồng bộ hóa để sắp xếp lại thứ tự mà nó mong muốn, đồng thời cho phép bộ xử lý thực hiện nhiều sắp xếp lại theo mô hình bộ nhớ của nó cho phép. Ở giao diện của người lập trình, mô hình nhất quán ít nhất phải yếu như mô hình của giao diện phần cứng, nhưng không cần giống nhau.
Cơ chế dịch
Trong hầu hết các bộ vi xử lý, việc dịch nhãn theo thứ tự các cơ chế duy trì tương đương với việc chèn một lệnh rào cản bộ nhớ phù hợp trước và / hoặc sau mỗi thao tác được gắn nhãn là đồng bộ hóa. Nó sẽ lưu các hướng dẫn với các tải / cửa hàng riêng lẻ cho biết những gì cần phải thực thi và tránh các hướng dẫn bổ sung. Tuy nhiên, vì các hoạt động thường không thường xuyên, đây không phải là cách mà hầu hết các bộ vi xử lý thực hiện cho đến nay.
Khắc phục giới hạn năng lực
Chúng tôi đã ngụy biện các hệ thống cung cấp tính năng sao chép tự động và tính liên kết trong phần cứng chỉ trong bộ nhớ đệm của bộ xử lý. Bộ nhớ đệm của bộ xử lý, không cần sao chép trước trong bộ nhớ chính cục bộ, sẽ sao chép dữ liệu được cấp phát từ xa trực tiếp khi tham chiếu.
Một vấn đề với các hệ thống này là phạm vi sao chép cục bộ bị giới hạn trong bộ nhớ cache phần cứng. Nếu một khối được thay thế từ bộ nhớ đệm, khối đó phải được tìm nạp từ bộ nhớ từ xa khi cần lại. Mục đích chính của các hệ thống được thảo luận trong phần này là giải quyết vấn đề dung lượng sao chép nhưng vẫn cung cấp tính nhất quán trong phần cứng và mức độ chi tiết tốt của các khối bộ nhớ cache để đạt hiệu quả.
Bộ nhớ đệm cấp ba
Để giải quyết vấn đề dung lượng sao chép, một phương pháp là sử dụng bộ nhớ đệm truy cập từ xa lớn nhưng chậm hơn. Điều này là cần thiết cho chức năng, khi bản thân các nút của máy là các bộ đa xử lý quy mô nhỏ và có thể đơn giản là lớn hơn để đạt hiệu suất. Nó cũng sẽ giữ các khối từ xa được sao chép đã được thay thế từ bộ nhớ đệm bộ xử lý cục bộ.
Kiến trúc bộ nhớ chỉ sử dụng bộ nhớ đệm (COMA)
Trong các máy COMA, mọi khối bộ nhớ trong toàn bộ bộ nhớ chính đều có một thẻ phần cứng được liên kết với nó. Không có nút cố định nào luôn đảm bảo được cấp phát không gian cho khối bộ nhớ. Dữ liệu tự động di chuyển đến hoặc được sao chép trong bộ nhớ chính của các nút truy cập / thu hút chúng. Khi một khối từ xa được truy cập, nó sẽ được sao chép trong bộ nhớ thu hút và được đưa vào bộ nhớ đệm, và được phần cứng giữ nhất quán ở cả hai nơi. Một khối dữ liệu có thể nằm trong bất kỳ bộ nhớ thu hút nào và có thể di chuyển dễ dàng từ khối này sang khối khác.
Giảm chi phí phần cứng
Giảm chi phí có nghĩa là chuyển một số chức năng của phần cứng chuyên dụng sang phần mềm chạy trên phần cứng hiện có. Phần mềm quản lý sao chép và gắn kết trong bộ nhớ chính dễ dàng hơn nhiều so với bộ nhớ đệm phần cứng. Các phương pháp chi phí thấp có xu hướng cung cấp tính sao chép và tính liên kết trong bộ nhớ chính. Để sự gắn kết được kiểm soát một cách hiệu quả, mỗi thành phần chức năng khác của trợ giúp có thể được hưởng lợi từ việc chuyên môn hóa và tích hợp phần cứng.
Các nỗ lực nghiên cứu nhằm giảm chi phí bằng các cách tiếp cận khác nhau, như bằng cách thực hiện kiểm soát truy cập trong phần cứng chuyên dụng, nhưng chỉ định các hoạt động khác cho phần mềm và phần cứng hàng hóa. Một cách tiếp cận khác là thực hiện kiểm soát truy cập trong phần mềm và được thiết kế để phân bổ trừu tượng không gian địa chỉ chia sẻ nhất quán trên các nút hàng hóa và mạng không có hỗ trợ phần cứng chuyên dụng.
Hàm ý cho phần mềm song song
Mô hình nhất quán bộ nhớ thư giãn cần các chương trình song song gắn nhãn các truy cập xung đột mong muốn làm điểm đồng bộ hóa. Một ngôn ngữ lập trình cung cấp hỗ trợ để gắn nhãn một số biến là đồng bộ hóa, sau đó sẽ được trình biên dịch dịch sang lệnh bảo toàn thứ tự phù hợp. Để hạn chế việc sắp xếp lại thứ tự của các trình biên dịch đối với các quyền truy cập vào bộ nhớ dùng chung, trình biên dịch có thể sử dụng các nhãn của chính nó.