Quản lý bộ nhớ (Buffer management)

Một phần của tài liệu TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO ĐiỀU KHIỂN TƯƠNG TRANH VÀ LẬP LỊCH TRONG CSDL THỜI GIAN THỰC (Trang 28)

Quản lý bộ nhớ được xét với ba kiểu quyết định: tiếp nhận giao dịch, cấp phát bộ đệm, và thay thế bộ đệm. Các chiến lược cấp phát bộ đệm cố gắng phân phối các

Thông lượng

Dưới tải Bão hòa Quá tải

Không có sự cố

Biên độ bão hòa

Có sự cố

khung bộ đệm còn trống giữa các giao dịch CSDL đồng thời, trong khi các chiến lược thay thế bộ đệm cố gắng giảm thiểu tỉ lệ lỗi bộ đệm. Trong một môi trường thời gian thực, mục tiêu của bộ đệm dữ liệu không chỉ là giảm thời gian đáp ứng giao dịch, nhưng quan trọng hơn, là tăng số lượng giao dịch thỏa mãn các ràng buộc thời gian của chúng. Để đạt được mục tiêu này, việc quản lý bộ đệm sẽ xem xét không chỉ hành vi tham chiếu giao dịch, mà cũng xét các yêu cầu thời gian của các giao dịch tham chiếu.

Khi một giao dịch đến hệ thống, trình quản lý bộ đệm có trách nhiệm tiếp nhận vào hệ thống. Trình quản lý bộ đệm phải xác định tập các bộ đệm để cấp phát giao dịch mới đến. Việc cấp phát một tập các khung trang nhớ và thu hồi các trang dữ liệu từ vùng đệm sẽ là ưu tiên và được nhận biết theo thời gian trong các hệ thống CSDL thời gian thực. Quản lý bộ đệm trở thành phức tạp hơn khi có sự tham gia của mức ưu tiên, khi bộ đệm đòi hỏi các giao dịch khác nhau không còn được đối xử bình đẳng nữa

Quản lý bộ đệm Được sử dụng gần nhất toàn cục - Global Least Recently Used (G-LRU)

Trong lược đồ quản lý bộ đệm G-LRU, khi một khung bộ đệm được yêu cầu bởi một giao dịch và không còn khung trống nào nữa, thì khung với dữ liệu ít được truy nhập gần nhất được chọn để thay thế. Thuật toán G-LRU là đơn giản và là được thực hiện phổ biến nhất trong các hệ thống CSDL thương mại. Tác giả Carey đã đề xuất rằng các mức ưu tiên có thể được hợp nhất vào lược đồ bằng cách tổ chức động vùng đệm thành các mức ưu tiên (các thùng). Lúc hệ thống khởi động, tất cả các khung bộ đệm là trống và được sắp xếp như một danh sách trống. Khi một giao dịch với mức ưu tiên P cấp phát một khung từ danh sách trống, khung được chèn vào hàng đợi LRU của các khung có các giao dịch có mức ưu tiên P. Để không có quá nhiều hàng đợi ưu tiên trong hệ thống, mọi hàng đợi hay thùng giữ một dải các ưu tiên. Khi trình quản lý bộ đệm được yêu cầu loại bỏ một khung trang, nó bắt đầu tìm kiếm trang trang LRU ở thùng thấp nhất. Nếu một trang được chọn là mới hơn một nhãn thời gian xác định, nó được giữ lại và thùng ưu tiên cao hơn được tìm tiếp; nếu không, nó sẽ bị loại bỏ. Nếu

không đủ các khung trang trống, thì trình quản lý bộ đệm sẽ phải treo hay hủy một giao dịch có mức ưu tiên thấp hơn.

Quản lý bộ nhớ ưu tiên - Priority Memory Management (PMM)

Một chiến lược cấp phát bộ nhớ gọi là quản lý bộ nhớ ưu tiên - priority memory management (PMM) hoạt động sử dụng một trong hai lược đồ và cả hai trong số đó hoạt động dưới chính sách EDF:

- Max – tối đa, trong chiến lược Max, một giao dịch phải được cấp phát mức bộ nhớ tối đa mà nó có thể cần trong quá trình thực thi, hay không được cấp phát bất kỳ mức nào.

- Min – Max (Tối thiểu – tối đa): chiến lược Min-Max cho phép một số giao dịch ưu tiên thấp chạy với bộ nhớ yêu cầu tối thiểu, trong khi các giao dịch ưu tiên cao nhận các yêu cầu tối đa. Khi hoạt động trong chế độ Min-Max,

PMM có thể tiếp nhận nhiều giao dịch hơn vào hệ thống.

Sự lựa chọn giữa các chiến lược là phụ thuộc vào tải làm việc hiện thời. Chiến lược

Min-Max bắt đầu từ ưu tiên cao nhất trước, cấp cho mỗi giao dịch chỉ đủ bộ nhớ để bắt đầu thực hiện. Nếu có các bộ đệm thừa ở cuối pha này, một sự cho qua khác sẽ được thực hiện với danh sách các giao dịch được tiếp nhận, bắt đầu với ưu tiên cao nhất. Trong lần cho qua thứ hai, sự cấp phát của mỗi giao dịch được hoàn thành cho đến mức tối đa. Tiến trình cấp phát kết thúc khi hoặc tất cả bộ nhớ trống đã được cấp phát hết, hay tất cả giao dịch đã nhận đủ cấp phát tối đa của chúng. Kết quả là, ở lúc kết thúc quá trình cấp phát bộ nhớ này, các giao dịch ưu tiên cao hơn sẽ có cấp phát tối đa trong khi các giao dịch ưu tiên thấp hơn chỉ có bộ nhớ tối thiểu.

Chiến lược Max bằng cách cố gắng nhận được cấp phát bộ nhớ tối đa sẽ loại bỏ vấn đề suy thông lượng mà có thể xảy ra do việc tiếp nhận quá nhiều giao dịch ưu tiên thấp vào hệ thống. Tuy nhiên, chiến lược Max có thể hạn chế nghiêm trọng mức đa lập trình nếu mọi giao dịch yêu cầu một lượng đáng kể bộ nhớ. Chiến lược Max thích hợp hơn nếu bộ nhớ dồi dào; trong khi chiến lược Min-Max phù hợp với các hệ thống có bộ nhớ hạn chế.

Một phần của tài liệu TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO ĐiỀU KHIỂN TƯƠNG TRANH VÀ LẬP LỊCH TRONG CSDL THỜI GIAN THỰC (Trang 28)

Tải bản đầy đủ (PDF)

(33 trang)