Bộ nhớ đệm máy
Bộ nhớ đệm máy (machine cache) là một lớp lưu trữ dữ liệu tốc độ cao nằm giữa bộ xử lý trung tâm (CPU) hoặc bộ nhớ chính (RAM) và các thiết bị lưu trữ chậm hơn như ổ cứng hoặc tài nguyên mạng. Chức năng chính của nó là lưu trữ dữ liệu được truy cập thường xuyên, cho phép hệ thống truy xuất thông tin nhanh hơn nhiều so với việc truy cập bộ nhớ lưu trữ chính.
Trong các ứng dụng hiện đại, chuyên sâu về dữ liệu, độ trễ—sự chậm trễ trước khi việc truyền dữ liệu bắt đầu sau một lệnh—là một nút thắt cổ chai lớn. Một bộ nhớ đệm máy được triển khai tốt sẽ giảm đáng kể độ trễ này. Bằng cách phục vụ các yêu cầu từ bộ nhớ cục bộ, nhanh chóng, nó ngăn CPU phải chờ các thao tác I/O chậm, dẫn trực tiếp đến khả năng phản hồi và thông lượng ứng dụng được cải thiện.
Bộ nhớ đệm hoạt động dựa trên nguyên tắc cục bộ: tính cục bộ thời gian (nếu dữ liệu được truy cập bây giờ, nó có khả năng sẽ được truy cập lại sớm) và tính cục bộ không gian (nếu dữ liệu được truy cập bây giờ, dữ liệu gần nó có khả năng sẽ được truy cập sớm). Khi một yêu cầu đến, hệ thống sẽ kiểm tra bộ nhớ đệm trước. Nếu dữ liệu có mặt (gọi là 'cache hit'), nó sẽ được trả về ngay lập tức. Nếu không (gọi là 'cache miss'), hệ thống sẽ lấy dữ liệu từ nguồn chậm hơn, sử dụng nó, và sau đó lưu một bản sao vào bộ nhớ đệm để sử dụng trong tương lai.
Bộ nhớ đệm máy được triển khai trên nhiều lớp công nghệ khác nhau:
Những ưu điểm của việc sử dụng bộ nhớ đệm máy có thể định lượng được:
Việc triển khai một bộ nhớ đệm hiệu quả không phải là không có sự phức tạp. Các thách thức chính bao gồm:
Các khái niệm liên quan bao gồm Hệ thống phân cấp bộ nhớ (Memory Hierarchy), Mạng lưới phân phối nội dung (CDNs) và Sao chép cơ sở dữ liệu (Database Replication). Việc hiểu cách các hệ thống này tương tác là rất quan trọng để thiết kế các kiến trúc có khả năng mở rộng và hiệu suất cao.