Reiser5 thông báo hỗ trợ cho Bộ đệm Burst (Tầng dữ liệu)

Eduard Shishkin công bố những cơ hội mới được phát triển trong khuôn khổ dự án Reiser5. Reiser5 là một một phiên bản được thiết kế lại đáng kể của hệ thống tệp ReiserFS, trong đó hỗ trợ cho các khối logic có thể mở rộng song song được triển khai ở cấp hệ thống tệp, thay vì ở cấp thiết bị khối, cho phép bạn phân phối dữ liệu một cách hiệu quả trên một khối logic.

Trong số những đổi mới được phát triển gần đây, việc cung cấp
cơ hội cho người dùng thêm một tính năng nhỏ hiệu suất cao
chặn thiết bị (ví dụ NVRAM) được gọi đĩa proxyĐể
khối lượng logic tương đối lớn bao gồm chậm
động lực ngân sách. Điều này sẽ tạo ấn tượng rằng tất cả
khối lượng bao gồm cùng hiệu suất cao đắt tiền
các thiết bị, giống như một "đĩa proxy".

Phương pháp được triển khai dựa trên quan sát đơn giản rằng trong thực tế, đĩa không được ghi liên tục và đường cong tải I/O có dạng đỉnh. Trong khoảng thời gian giữa các “đỉnh” như vậy, luôn có thể đặt lại dữ liệu từ đĩa proxy, ghi lại tất cả dữ liệu (hoặc chỉ một phần) ở chế độ nền vào bộ lưu trữ chính, “chậm”. Do đó, đĩa proxy luôn sẵn sàng nhận phần dữ liệu mới.

Kỹ thuật này (được gọi là Bộ đệm Burst) ban đầu có nguồn gốc từ
lĩnh vực tính toán hiệu năng cao (HPC). Nhưng hóa ra nó cũng có nhu cầu về các ứng dụng thông thường, đặc biệt đối với những ứng dụng đặt ra yêu cầu ngày càng cao về tính toàn vẹn dữ liệu (thường là các loại cơ sở dữ liệu khác nhau). Các ứng dụng như vậy thực hiện bất kỳ thay đổi nào trong bất kỳ tệp nào theo cách nguyên tử, cụ thể là:

  • đầu tiên, một tệp mới được tạo có chứa dữ liệu đã thay đổi;
  • tệp mới này sau đó được ghi vào đĩa bằng fsync(2);
  • sau đó tập tin mới được đổi tên thành tập tin cũ, tập tin này sẽ tự động được
    Giải phóng các khối bị chiếm giữ bởi dữ liệu cũ.

    Tất cả các bước này, ở mức độ này hay mức độ khác, gây ra
    suy giảm hiệu suất trên bất kỳ hệ thống tập tin nào. Tình huống
    cải thiện nếu tệp mới được ghi lần đầu vào tệp được phân bổ
    thiết bị hiệu suất cao, đó chính xác là những gì xảy ra trong
    hệ thống tập tin có hỗ trợ Burst Buffers.

    Trong Reiser5, nó được lên kế hoạch gửi tùy chọn không chỉ
    các khối logic mới của tệp cũng như tất cả các trang bẩn nói chung. Hơn thế nữa,
    không chỉ các trang có dữ liệu mà còn có siêu dữ liệu
    được viết ở bước (2) và (3).

    Hỗ trợ cho các đĩa proxy được thực hiện trong bối cảnh làm việc thường xuyên với
    Khối lượng logic Reiser5, công bố vào đầu năm. Đó là,
    hệ thống tổng hợp "đĩa proxy - bộ lưu trữ chính" là bình thường
    khối lượng hợp lý với sự khác biệt duy nhất là đĩa proxy có mức độ ưu tiên
    trong số các thành phần ổ đĩa khác trong chính sách phân bổ địa chỉ đĩa.

    Việc thêm đĩa proxy vào ổ đĩa logic không đi kèm với bất kỳ
    tái cân bằng dữ liệu và việc loại bỏ nó diễn ra theo cách giống hệt như
    loại bỏ một đĩa thông thường. Tất cả các hoạt động của đĩa proxy là nguyên tử.
    Việc xử lý lỗi và triển khai hệ thống (kể cả sau khi hệ thống gặp sự cố) xảy ra theo cách giống hệt như khi đĩa proxy là một thành phần thông thường
    khối lượng logic.

    Sau khi thêm đĩa proxy, tổng dung lượng của ổ đĩa logic
    tăng theo dung lượng của đĩa này. Giám sát không gian miễn phí
    đĩa proxy được thực hiện theo cách tương tự như đối với các thành phần ổ đĩa khác, tức là. sử dụng tiện ích Volume.reiser4(8).

    Đĩa proxy phải được làm sạch định kỳ, tức là. đặt lại dữ liệu từ
    nó vào bộ lưu trữ chính. Sau khi đạt được độ ổn định beta Reiser5
    việc dọn dẹp được lên kế hoạch tự động (nó sẽ được quản lý bởi
    luồng hạt nhân đặc biệt). Ở giai đoạn này, trách nhiệm dọn dẹp
    thuộc về người dùng. Đặt lại dữ liệu từ đĩa proxy về đĩa chính
    lưu trữ được tạo ra bằng cách gọi tiện ích Volume.reiser4 với tùy chọn
    "-b". Là một đối số, bạn cần chỉ định điểm gắn kết của logic
    tập Tất nhiên, bạn phải nhớ tiến hành vệ sinh định kỳ. Vì
    Bạn có thể viết một tập lệnh shell đơn giản để thực hiện việc này.

    Nếu không còn chỗ trống trên đĩa proxy, tất cả dữ liệu
    được tự động ghi vào bộ lưu trữ chính. Đồng thời, theo mặc định
    hiệu suất tổng thể của FS bị giảm (do các cuộc gọi liên tục
    thủ tục thực hiện tất cả các giao dịch hiện có). Tùy chọn bạn có thể thiết lập
    chế độ mà không làm giảm hiệu suất. Tuy nhiên, trong trường hợp này đĩa
    Không gian thiết bị proxy sẽ được sử dụng kém hiệu quả hơn.
    Thật thuận tiện khi sử dụng tiểu mục siêu dữ liệu (cục gạch) làm đĩa proxy, miễn là nó được tạo trên một thiết bị khối hiệu suất đủ cao.

    Nguồn: opennet.ru

  • Thêm một lời nhận xét