Computer >> Máy Tính >  >> Lập trình >> Lập trình

Thuật toán triển khai bộ nhớ dùng chung phân tán

Bộ nhớ dùng chung là khối bộ nhớ có thể được truy cập bởi nhiều chương trình. Khái niệm bộ nhớ dùng chung được sử dụng để cung cấp cách thức giao tiếp và cung cấp khả năng quản lý bộ nhớ ít dư thừa hơn.

Bộ nhớ dùng chung được phân phối viết tắt là DSM là việc thực hiện khái niệm bộ nhớ chia sẻ trong hệ thống phân tán. Hệ thống DSM triển khai các mô hình bộ nhớ dùng chung trong các hệ thống được ghép nối lỏng lẻo bị tước đi bộ nhớ chung vật lý cục bộ trong hệ thống. Trong loại hệ thống này, bộ nhớ được chia sẻ phân tán cung cấp một không gian bộ nhớ ảo mà tất cả hệ thống đều có thể truy cập được (còn được gọi là nút ) của hệ thống phân cấp phân tán.

Một số thách thức chung cần lưu ý khi thực hiện DSM -

  • Theo dõi địa chỉ bộ nhớ (vị trí) của dữ liệu được lưu trữ từ xa trong bộ nhớ dùng chung.

  • Để giảm độ trễ giao tiếp và chi phí cao liên quan đến các tham chiếu đến dữ liệu từ xa.

  • Kiểm soát quyền truy cập đồng thời vào dữ liệu được chia sẻ trong DSM.

Dựa trên những thách thức này, có các thuật toán được thiết kế để triển khai bộ nhớ chia sẻ phân tán. Có bốn thuật toán -

  • Thuật toán Máy chủ Trung tâm
  • Thuật toán di chuyển
  • Đọc thuật toán sao chép
  • Thuật toán sao chép đầy đủ

Thuật toán máy chủ trung tâm

Tất cả dữ liệu được chia sẻ được máy chủ trung tâm duy trì . Các nút khác của hệ thống phân tán yêu cầu đọc và ghi dữ liệu tới máy chủ phục vụ yêu cầu và cập nhật hoặc cung cấp quyền truy cập vào dữ liệu cùng với thông báo xác nhận .

Các thông báo xác nhận này được sử dụng để cung cấp trạng thái của yêu cầu dữ liệu được phục vụ bởi máy chủ. Khi dữ liệu được gửi đến hàm gọi, nó sẽ ghi nhận một số hiển thị trình tự truy cập của dữ liệu để duy trì tính đồng thời. Và thời gian chờ được trả lại trong trường hợp không thành công.

Đối với các hệ thống phân tán lớn hơn, có thể có nhiều hơn một máy chủ. Trong trường hợp này, các máy chủ được đặt bằng địa chỉ của chúng hoặc sử dụng các chức năng ánh xạ.

Thuật toán triển khai bộ nhớ dùng chung phân tán

Thuật toán di chuyển

Như tên cho thấy thuật toán di chuyển thực hiện công việc di chuyển các phần tử dữ liệu. Thay vì sử dụng máy chủ trung tâm phục vụ từng yêu cầu, khối chứa dữ liệu do hệ thống yêu cầu sẽ được di chuyển vào nó để truy cập và xử lý thêm. Nó di chuyển dữ liệu theo yêu cầu.

Mặc dù vậy, thuật toán này rất tốt nếu khi một hệ thống truy cập nhiều lần vào cùng một khối dữ liệu và khả năng tích hợp bộ nhớ ảo khái niệm, có một số thiếu sót cần được giải quyết.

Chỉ một nút có thể truy cập phần tử dữ liệu được chia sẻ tại một thời điểm và toàn bộ khối được di chuyển đến nút đó. Ngoài ra, thuật toán này dễ bị tấn công hơn do việc di chuyển các mục dữ liệu theo yêu cầu của nút.

Thuật toán triển khai bộ nhớ dùng chung phân tán

Đọc thuật toán sao chép

Trong thuật toán sao chép lần đọc, khối dữ liệu sẽ được truy cập là sao chép và chỉ được phép đọc trong tất cả các bản sao. Nếu thao tác ghi được thực hiện, thì tất cả quyền truy cập đọc sẽ tạm dừng cho đến khi tất cả các bản sao được cập nhật.

Hiệu suất tổng thể của hệ thống được cải thiện vì cho phép truy cập đồng thời . Nhưng viết hoạt động là tốn kém do yêu cầu cập nhật tất cả các khối được chia sẻ để duy trì đồng thời. Tất cả các bản sao của phần tử dữ liệu phải được theo dõi để duy trì tính nhất quán.

Thuật toán triển khai bộ nhớ dùng chung phân tán

Thuật toán sao chép đầy đủ

Tiện ích mở rộng để đọc thuật toán sao chép cho phép các nút thực hiện cả đọc và ghi hoạt động trên khối được chia sẻ đồng thời. Nhưng quyền truy cập của các nút này được kiểm soát để duy trì tính nhất quán của nó.

Để duy trì tính nhất quán của dữ liệu về truy cập đồng thời của tất cả các chuỗi nút được duy trì và sau mỗi lần sửa đổi được thực hiện trong dữ liệu, một chuỗi phát đa hướng với các sửa đổi được phản ánh tất cả các bản sao dữ liệu.

Thuật toán triển khai bộ nhớ dùng chung phân tán