Các Heuristic để làm giảm lượng bộ nhớ đệm cần thiế t

Một phần của tài liệu Cơ sở dữ liệu phân tán và tối ưu hoá vấn tin (Trang 94)

Bộ nhớ đệm với kích thước là giá trị cận trên được đưa ra ở phần trước sẽ đảm bảo lượng bộ nhớđệm cần thiết cho bất kỳ một dãy truy xuất trang nào. Chúng ta có thể làm giảm đáng kể lượng bộ nhớ này bằng các heuristic. Ở phần này hai heuristic sử dụng cách chọn ngẫu nhiên sẽđược đưa ra để làm giảm lượng bộ nhớ cần thiết.

Heuristic 1.

Bước 1. Chọn một nút chưa được tìm về trong đồ thị kết nối trang. Dừng khi tất cả các nút đã được tìm về

Bước 2. Tìm về trang được chọn. Thực hiện nối với các bộ tương ứng trong bộ nhớ đệm. Lưu trữ các bộ nối của trang này có các bộ nối chưa được tìm về. Các trang chứa các bộ nối này được đưa vào danh sách tìm về(fetch list)

Bước 3. Chọn ngẫu nhiên bất kỳ một trang từdanh sách tìm về và quay lại

Bước 2. Nếu danh sách rỗng (có nghĩa là một tập trang đã được tìm vềđầy đủ) thì quay lại Bước 1

Heuristic 2.

Bước 1. Chọn một nút chưa được tìm về trong đồ thị kết nối trang. Dừng khi tất cả các nút được tìm về

Bước 2. Tìm về trang được chọn. Thực hiện nối với các bộ tương ứng trong bộ nhớ đệm. Lưu trữ các bộ nối của trang này có các bộ nối chưa được tìm về. Các trang chứa các bộ nối này được đưa vào danh sách tìm về(fetch list).

Bước 3. Chọn một trang từdanh sách tìm về, sao cho nó có số bộ ít nhất được nối với các trang chưa được tìm về, và quay lại Bước 2. Nếu danh sách rỗng thì quay lại Bước 1.

Thí nghiệm được tiến hành để đo kích thước bộ nhớ đệm tương ứng với 2 heuristic này. Kết quả được đưa ra trong Hình 3.7. Giải thuật nối được mô phỏng bởi một chương trình máy tính. Giá trị thuộc tính nối được giả thiết phân bố đều và không

lặp. Tuy nhiên chúng tôi tin rằng kết quả thu được cũng tương tự ngay cả khi có giá trị lặp. Kích thước bộ nhớđệm (số các bộ) Hệ số chọn Heuristic 1 Heuristic 2 0.0001 1 1 0.001 1 1 0.01 10 4 0.03 469 207 0.05 1230 472

Hình 3. 7 Kích thước thước bộ nhớđệm của heuristic 1 và 2

Hình 3. 8 Kích thước trung bình của danh sách tìm về

Kích thước bộ nhớ được lấy trung bình sau vài lần chạy. Và kết quả chỉ ra rằng khi hệ số chọn nhỏ thì kích thước bộ nhớ đệm thu được là như nhau với cả 2 heuristic. Nhưng khi hệ số chọn lớn thì heuristic 2 sẽ tốt hơn. Ví dụ nếu với hệ số 0.05 thì heuristic 2 cho ra kết quả bộ nhớ đệm chỉ là 38% kích thước bộ nhớ khi sử dụng heuristic 1.

Mô hình xác suất để đo kích thước của danh sách tìm về cũng đã được xây dựng. Trong mô hình này ta giả sử số lượng các trang, mà mỗi trang được nối đến được phân bố đều theo số lớn nhất cho trước. Hệ số chọn càng lớn kéo theo số các trang liền kề có thể càng lớn. Giá trị kích thước trung bình của danh sách tìm về cần thiết để thực hiện nối của các quan hệ, với tổng cộng 30 trang, được đưa ra trong hình

3.8, trong đó Xi là số trung bình các trang trong danh sách tìm về sau khi i trang đã được tìm về. M là số lượng lớn nhất của các trang liền kề. Chúng ta cũng thấy rằng với hệ số chọn càng lớn thì danh sách tìm về cũng càng lớn. Do đó heuristic 2 sẽ có danh sách tìm về lớn hơn, và trang tối ưu cục bộ sẽ được chọn từ đó. Heuristic 1, mặt khác, lựa chọn trang một cách ngẫu nhiên từ danh sách và như vậy với danh sách tìm về lớn thì xác suất để tìm được trang tối ưu sẽ giảm đi.

Một phần của tài liệu Cơ sở dữ liệu phân tán và tối ưu hoá vấn tin (Trang 94)

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

(127 trang)