1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế thuật toán bộ nhớ đệm riêng để xử lý dữ liệu hết hạn

23 513 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 431,11 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thiết kế thuật toán bộ nhớ đệm riêng để xử lý dữ liệu hết hạn

Trang 1

Chúng tôi nghiên cứu bộ nhớ đệm client-server của dữ liệu với thời gianhết hạn Mặc dù là thúc đẩy bởi khả năng bộ nhớ đệm trong các ứng dụng viễnthông, nhưng công việc của chúng tôi là mở rộng sang trường hợp tổng quát của

bộ nhớ đệm dữ liệu đã được biết đến là thời gian hết hạn Hướng tới mục tiêunày, chúng tôi thiết kế riêng thuật toán bộ nhớ đệm để xem xét dấu thời gian hếthạn Tiếp theo, chúng ta xem xét mô hình client-server khác nhau và cách máychủ nâng cấp bộ nhớ đệm cho máy khách Cuối cùng, chúng tôi thực hiệnnghiên cứu mô phỏng để đánh giá hiệu quả thực nghiệm của một loạt các chiếnlược quản lý một bộ nhớ cache đơn độc lập của máy chủ và quản lý lưu trữtrong một thiết lập client-server

1 Giới thiệu

Bộ nhớ đệm tại các điểm client thường được thực hiện trong hệ thốngclient – server chủ để giảm cả việc tải cơ sở dữ liệu và lưu lượng mạng Mộtloạt các cơ chế, chẳng hạn như cập nhật máy chủ, được sử dụng để đảm bảo tínhthống nhất bộ cache Trong bài báo này, chúng tôi sử dụng nhãn thời gian hếthạn để thống bộ nhất nhớ đệm Nhãn thời gian hết hạn được sử dụng bởi cácdịch vụ tên miền để thúc đẩy tính thống nhất của tên phân giải và chúng là mộtchủ đề hiện tại của nghiên cứu về bộ nhớ đệm web Cả hai ứng dụng cho phépmột mức độ nhất định của sự không thống nhất dữ liệu kể từ thời điểm hết hạn

mà không được biết một cách chắc chắn trong cả hai trường hợp Trong ứngdụng của chúng tôi, thời gian hết hạn được biết một cách chắc chắn

Chúng tôi sử dụng nhãn thời gian hết hạn để mô hình hóa việc địnhtuyến các cuộc gọi điện thoại trong dịch vụ điện thoại phụ thuộc thời gian Ví

dụ, dịch vụ số đơn cho phép khách hàng được tiếp cận với một số lượng phổquát duy nhất mà các định tuyến dựa trên thời gian trong ngày Số duy nhất làmột số lượng hợp lý mà được phiên dịch sang một địa chỉ vật lý dựa trên thờigian dự đoán Sự phụ thuộc thời gian cũng phổ biến ở dịch vụ số 800 trong đómột client có thể, ví dụ muốn định tuyến những cuộc gọi đến một văn phòngNew York cho đến 4:00, đến văn phòng Dallas 4-7 PM, và một văn phòng Los

Trang 2

Angeles sau 07:00 Đối với các dịch vụ này, bản ghi cơ sở dữ liệu liên quan đến

số đã gọi chứa đựng thuật toán cập nhật bản dịch của nó cho một số vật lý cảngày

Sự truyền con số được duy trì trong một cơ sở dữ liệu mạng được gọi làService Control Point (SCP)(điểm kiểm soát dịch vụ) Hiện tại có 43 SCP trênkhắp Hoa Kỳ và Canada Cung cấp dịch vụ trên toàn quốc, mỗi SCP chứa mộtbản sao đầy đủ của các cơ sở dữ liệu dịch và được dành riêng để phục vụ một

bộ thử đặt thiết bị chuyển mạch điện thoại Mặc dù kiến trúc hiện tại là đủ để tảilưu lượng hiện nay, nhưng sự gia tăng đáng kể sẽ yêu cầu nhân rộng thêm.Trong tương lai, chúng ta mong chờ sự tăng trưởng có cân nhắc trong việc tảikhi những con số 800 mới được thêm vào rút gọn con số được ban hành

Nhân rộng để xử lý tải trọng gia tăng và bản có thể trở thành một giải pháp tốnkém Trong bài báo này, chúng tôi khám phá bộ nhớ đệm với thời gian gán nhãnhết hạn (của client) trong việc giảm lưu lượng mạng và việc tải cơ sở dữ liệutrong khi vẫn đảm bảo tính nhất quán dữ liệu Các nhãn thời gian hết hạn nắmbắt được sự phụ thuộc thời gian của quá trình dịch số trong dịch vụ điện thoại

Trong suốt bài báo này, chúng tôi giả định quá trình dịch bộ nhớ cachekhông phải toàn bộ các bản ghi cơ sở dữ liệu Chúng tôi cũng giả định rằngkhông có thông tin cập nhật bên ngoài cơ sở dữ liệu Ngay cả trong trường hợpkhông có bản cập nhật cơ sở dữ liệu bên ngoài, dữ liệu lưu trữ có thể trở nên lỗithời vì phụ thuộc thời gian của trình dịch Bất cứ khi nào một bản dịch đượclưu lại, chúng tôi có thời gian mà con số logic liên quan dự kiến sẽ được lên lịchnhận được bản dịch tiếp theo của nó Đây là thời gian hết hạn của sản phẩm lưutrữ Đối với những dịch vụ phụ thuộc thời gian, thời gian hết hạn được biết mộtcách chắc chắn (trong trường hợp không có bản cập nhật cơ sở dữ liệu), vì vậychúng tôi có thể nhớ (cache) và vẫn đảm bảo bản dịch những con số thích hợpbằng cách truy vấn cơ sở dữ liệu nếu một bản dịch được lưu trữ đã hết hạn Do

đó, chúng ta có thể thực thi các yêu cầu chất lượng trong khi vẫn cho phépclient quản lý lưu trữ riêng của chúng Sử dụng nhãn thời gian hết hạn cho phép

Trang 3

xác minh thống nhất bộ nhớ cache địa phương và do đó tránh sự nhúng cơ sở dữliệu.

Một thay thế cho bộ nhớ đệm với thời gian gán nhãn hết hạn là để cachetoàn bộ hồ sơ (bản ghi) cơ sở dữ liệu và yêu cầu client để làm các tính toán cầnthiết để xác định số lượng bản dịch Trong khi loại bỏ việc nhu cầu về thời gianhết hạn, phương pháp này đòi hỏi giả định mạnh hơn về khả năng của các thiết

bị phía khách hàng và về sự sẵn sàng của khách hàng để cho phép sử dụng tàinguyên máy tính Hơn nữa, việc tải về toàn bộ hồ sơ cơ sở dữ liệu có thể khôngnhất thiết phải cung cấp một sự cắt giảm tương tự trong các truy vấn đến serverbởi vì các hồ sơ (bản ghi) cơ sở dữ liệu có thể là lớn so với bản dịch con số đơngiản

Trong bài báo này, chúng tôi thiết kế thuật toán bộ nhớ đệm riêng để xử

lý dữ liệu hết hạn Chúng tôi cho thấy một biến của thuật toán đã sử dụng gầnđây (LRU) thể chứng minh LRU chiếm ưu thế, và chúng tôi làm mô phỏng để

so sánh hiệu suất thực nghiệm của các thuật toán khác nhau trong sự hiện diệncủa nhãn thời gian hết hạn Cuối cùng, chúng tôi xem xét tác động của thôngđiệp cập nhật từ server định kỳ để làm mới dữ liệu đã hết hạn

2.Thuật toán trong việc duy trì bộ nhớ đệm đơn giản

Trong hai phần tiếp theo, chúng ta xem xét việc duy trì một bộ nhớ cacheduy nhất trong sự hiện diện của nhãn thời gian hết hạn Vấn đề cơ bản là mộtbiến của vấn đề bộ nhớ đệm cổ điển trong đó chúng ta có một lượng nhỏ bộ nhớnhanh và nhớ chậm lớn hơn, và chúng tôi muốn xác định các mục để giữ trong

bộ nhớ nhanh để phục vụ tốt nhất một dòng yêu cầu gửi đến Về vấn đề củachúng tôi, bộ nhớ đệm client cung cấp bộ nhớ tốc độ nhanh, và cơ sở dữ liệumạng cung cấp “bộ nhớ chậm”, nhưng chúng tôi cũng cần kết hợp nhãn thờigian hết hạn, mà không có mặt trong các vấn đề cũ

2.1 Tóm tắt thuật toán bộ đệm – không có nhãn thời gian hết hạn

Các vấn đề bộ nhớ đệm cổ điển được phát biểu như sau Chúng tôi có

một cơ sở dữ liệu với n ITEM , một bộ nhớ cache mà có thể lưu trữ k ITEM,

Trang 4

và một chuỗi các yêu cầu cho các ITEM trong cơ sở dữ liệu Khi một ITEM

được yêu cầu trong bộ nhớ cache, chúng tôi không có sự hao tổn gì , nhưng khi

ITEM đó được yêu cầu không có trong bộ nhớ cache, chúng ta phải đưa nó vào

bộ nhớ cache với sự tiêu tốn mất một đơn vị Khi một ITEM mới sẽ được đưa vào một bộ nhớ cache đầy đủ, một thuật toán bộ nhớ đệm xác định các ITEM

hiện có sắp bị loại để thích ứng với cái mới

Khi thuật toán phải đưa ra quyết định này mà không có sự nắm bắt về yêu

cầu tiếp theo, các thuật toán được gọi là một thuật toán online (trực tuyến) Các

vấn đề bộ nhớ đệm là một vấn đề trực tuyến cổ và một bản tóm tắt tuyệt vời củakết quả lý thuyết được trình bày trong [5] Ví dụ về các thuật toán bộ nhớ đệmnổi tiếng là:

LRU: Gỡ bỏ các item trong bộ nhớ cache đã được sử dụng gần đây nhất;

LFU: Gỡ bỏ các item trong bộ nhớ cache đã được sử dụng thường xuyên nhất; LRU-x: Nếu tất cả các mục đã được đọc ít nhất là x lần kể từ khi chèn vào bộ

nhớ cache, thì bỏ mục đã được sử dụng gần đây nhất Nếu không thì bỏ mụctruy cập ít hơn x lần đã được sử dụng gần đây nhất (Xem [20].)

FF: Gỡ bỏ các mục trong bộ nhớ cache có yêu cầu tiếp theo là bước tiến xa

nhất;

RAND: Chọn mục để bỏ ngẫu nhiên trong số các mục trong bộ nhớ cache.

Các thuật toán LRU, LRU-x, LFU và RAND tất cả là các thuật toán online, trong khi FF được cho là một thuật toán offline bởi vì nó sử dụng các thông tin về các yêu cầu trong tương lai Belady cho thấy FF là thuật toán

offline tối ưu bởi vì nó đảm bảo để giảm thiểu số lượng các lỗi bộ nhớ cachecho bất kỳ luồng truyền yêu cầu nhất định Trong khi nó không có ý nghĩa đểxem xét sử dụng các thuật toán tùy chỉnh offline cho hầu hết các ứng dụng (baogồm cả chúng ta), nó rất hữu ích như một điểm so sánh Do đó, thay vì chỉ đơngiản là quan sát số lượng hoặc tỷ lệ phần trăm của số truy cập bộ nhớ cache,

Trang 5

chúng ta có thể quan sát cách một quá trình trực tuyến thực hiện liên quan đếncác thuật toán tốt nhất có thể.

2.2 Bộ nhớ cache với thời hạn thời gian gán nhãn

Khi xem xét bộ nhớ đệm trong sự có mặt của nhãn thời gian hết hạn, điềuđầu tiên cần lưu ý là tất cả các thuật toán trực tuyến thảo luận trong phần 2.1vẫn được áp dụng Chúng tôi chỉ đơn giản là bỏ qua sự hết hạn về thời gian và

áp dụng các thuật toán như đã nêu Tuy nhiên, bây giờ là trường hợp mà mộtphiên bản hết hạn của một item được yêu cầu không có thể mang lại một lầntruy cập cache và theo cách này không thể được sử dụng sau khi nó hết hạn Do

đó, một yêu cầu phải chịu một lỗi trừ khi ITEM được yêu cầu trong bộ nhớcache và chưa hết hạn Trong sự hiện diện của nhãn thời gian hết hạn, chúng ta

xem xét một thuật toán trực tuyến đơn giản, được FTD gọi là, mà quá trình loại

bỏ nó chỉ dựa vào thời gian hết hạn

FTD: Gỡ bỏ các ITEM trong bộ nhớ cache mà là cái đầu tiên để tiêu diệt

Các thuật toán offline tối ưu trong sự hiện diện của nhãn thời gian hết hạn

là một sửa đổi của FF mà chúng ta gọi là FF-ET.

FF-ET: Nếu có các mục trong bộ nhớ cache được hết hạn vào lần sử

dụng tiếp theo, hãy chọn một trong số chúng để loại bỏ từ bộ nhớ cache Nếukhông, hãy loại bỏ cái mục mà lần sử dụng tiếp theo xa nhất

Định lý 1 FF-ET là thuật toán offline tối ưu trong sự hiện diện của thời gian hết hạn.

Bằng chứng: Bằng chứng đơn giản là dựa trên thực tế là chúng ta có thể

loại bỏ sự hết hạn về thời gian bằng cách sử dụng các khái niệm về phiên bản

Một ITEM mà hết hạn trước lần sử dụng tiếp theo của nó chỉ đơn giản là một

phiên bản của bản ghi (hồ sơ) mà không bao giờ yêu cầu một lần nữa Khichúng tôi thực các hiện sửa đổi này, chúng tôi áp dụng FF với các trường hợpkhông có thời gian hết hạn

2.2.1 Các thuật toán bộ nhớ đệm phân cấp theo từng tầng

Trang 6

Bây giờ, chúng ta sẽ tìm hiểu cách thức chúng ta có thể chỉnh thuật toán

LRU và LRU-x online(trực tuyến) mà thể hiện tốt hơn khi dữ liệu có dấu thời

gian hết hạn Mod-ification với các thuật toán offline cho thấy các mục hết hạn

sử dụng càng sớm càng tốt là một ý tưởng hay Trên thực tế, dữ liệu đã hết hạntrong bộ nhớ cache có hiệu quả làm giảm kích thước của bộ nhớ cache, vì dữliệu quá hạn sử dụng không bao giờ có thể mang lại một lần truy cập (hit) cache

Vì một ITEM sẽ không được sử dụng trong một hình thức hết hạn, LRU tíchhợp sẵn trong hướng loại bỏ các dữ liệu hết hạn sử dụng từ bộ nhớ cache.Không có ITEM nào có thể duy trì nhiều hơn k lỗi lần (k là kích thước bộ nhớ

cache) sau khi hết hạn của nó LRU-x không có cơ chế sẵn có, và nó là đơn giản

để xây dựng ra những ví dụ trong đó dữ liệu hết hạn sử dụng vẫn còn trong bộnhớ cache vô thời hạn

Nếu chúng tôi hoạt động theo giả thiết rằng dữ liệu đã hết hạn cần đượcloại bỏ từ cache ở lần đầu tiên, sau đó những biến hai tầng của các thuật toán cơbản của chúng tôi xuất hiện Ý tưởng là để phân vùng bộ nhớ cache thành dữliệu đã hết hạn và làm mới, tại thời điểm mà một sự loại bỏ xảy ra Nếu có dữliệu hết hạn, chúng tôi áp dụng chiến lược cơ bản trong phần hết hạn của bộ nhớcache Nếu không có số liệu hết hạn, chúng tôi chỉ đơn giản là áp dụng các thuậttoán tiêu chuẩn Chúng ta gọi là thuật toán 2 tầng này bởi vì chúng tôi áp dụngcác thuật toán cơ bản, theo LRU, tầng đầu tiên là các mục hết hạn sử dụng trong

bộ nhớ cache Trong trường hợp không có dữ liệu không mong muốn cập nhật

từ máy chủ, áp dụng một thuật toán bộ nhớ đệm đầy đủ với các ITEM hết hạn làquá mức cần thiết, hiệu suất là không phân biệt cùng đã hết hạn ITEM chúng tôiloại bỏ và chúng ta để chờ đợi loại bỏ các mặt hàng hết hạn hoặc loại chúngngay khi hết hạn, các điểm quan trọng chỉ đơn giản là để loại các ITEM hết hạntrước những ITEM mới Trong phần sau, chúng tôi cho phép các máy chủ cậpnhật định kỳ các ITEM hết hạn sử dụng trong bộ nhớ cache Trong bối cảnh đó,

dễ dàng áp dụng một chiến lược xóa bỏ hiệu quả, ngay cả với các ITEM hết

Trang 7

hạn Chính vì lý do này, chúng tôi xác định các thuật toán hai tầng như chúng tacó.

Việc buộc các ITEM hết hạn bị loại bỏ đầu tiên dường như là một thayđổi nhỏ mà chắc chắn sẽ tốt hơn (trội hơn) các thuật toán đơn tầng ban đầu Tuynhiên, nó không nhất thiết phải đúng là ref-erentially loại bỏ các mục hết hạncải thiện hiệu suất Hình 1 cung cấp một ví dụ trong đó biến hai tầng của LRU-

2 thực hiện kém hơn so với phiên bản lớp (tầng) đơn Nó chỉ ra rằng hai tầngLRU-x có thể cho phép một biến bất thường của Belady nơi tăng kích thướchiệu quả của bộ nhớ cache bằng cách loại bỏ các mục hết hạn sử dụng thực sự

có thể làm suy giảm hiệu suất

Hình : Ví dụ nơi loại bỏ những mục hết hạn LRU-2

Ví dụ trong hình 1 sử dụng các ITEM hết hạn sử dụng có hiệu quả giảmkích thước của bộ nhớ cache cho các thuật toán đơn tầng và trong thực tế, phục

vụ để chứng minh cách LRU-2 có thể biểu hiện bất thường của Belady thậm chíkhông có nhãn thời gian hết hạn

Trang 8

Các biến hai tầng của LRU không biểu hiện hành vi bất thường này Chúng tanói rằng thuật toán A cao hơn B nếu, với mỗi chuỗi yêu cầu, một sản lượng ítnhất bằng nhiều lượt truy cập bộ nhớ cache B Với định nghĩa này, chúng ta cóthể chứng minh rằng hai tầng LRU ưu thế hơn LRU đơn tầng Bằng chứng củachúng ta về kết quả này là khá dài, vì vậy chúng tôi phác thảo ý tưởng và mờiđộc giả xem [7] cho đầy đủ bằng chứng.

Định lý 2 LRU hai tầng chiếm ưu thế hơn LRU đơn tầng.

Ý tưởng của dẫn chứng: Kết quả được chứng minh chỉ ra rằng, đối với bất kỳ

chuỗi Request, các ITEM mới trong bộ nhớ cache mà có được từ việc áp dụng

LRU là một tập hợp con của các ITEM mới mà kết quả từ việc áp dụng LRU

hai tầng Vì các ITEM mới này là những cái duy nhất có thể tạo ra lượt truy

cập bộ nhớ cache, điều này đảm bảo rằng phiên bản hai tầng phải thực hiện nhỏnhất cũng như (bằng) LRU

Chúng tôi chứng minh mối quan hệ tập hợp con bằng quy nạp Chúng tôithấy rằng khi chúng ta bắt đầu với bộ nhớ cache ban đầu như nhau và dịch vụluồng yêu cầu tương tự với mỗi thuật toán với các thuộc tính theo sau, nắm giữsau khi mỗi hết hạn hoặc yêu cầu:

1) các ITEM mới trong bộ nhớ cache LRU cũng có trong bộ nhớ cache LRU

hai tầng,

2) các ITEM mới trong bộ nhớ cache LRU gần đây nhất được sử dụng chính xác là các ITEM mới trong bộ nhớ cache LRU hai tầng Chúng tôi gọi những cái này là tập con và có tính recency Thuộc tính recency đảm bảo rằng nếu chúng tôi loại một ITEM mới từ LRU cache hai tầng, thì sau đó nó cũng là một ITEM được loại ra khỏi bộ nhớ cache LRU, hoặc các ITEM đã bị trục xuất không còn chứa trong bộ nhớ cache LRU Như vậy, thuộc tính recency duy trì

thuộc tính tập hợp con và con thuộc tính đảm bảo kết quả

Chúng ta có thể thực hiện các thuật toán theo từng cấp một bước xa hơn

bằng cách phân vùng bộ nhớ cache vào ba tầng tương ứng với: Các ITEM đã hết hạn; những ITEM được dự đoán sẽ hết hạn trước lần sử dụng tiếp theo của

Trang 9

chúng ; và các ITEM được dự đoán là làm mới tại lần sử dụng tiếp theo của chúng Ở đây, chúng tôi áp dụng quá trình cơ bản đầu tiên cho các ITEM hết hạn bên cạnh các ITEM dự đoán sẽ hết hạn, và cuối cùng là các ITEM được dự

báo làm mới lại

Chúng tôi dự đoán các ITEM hết hạn sử dụng giả định rất đơn giản

(LRU cơ bản) rằng tương lai gần được dự đoán bởi thời gian quá khứ gần đây làtốt nhất Tại bất kỳ thời điểm t, chúng ta có thể dự đoán thời gian để lần yêu cầutiếp theo sử dụng thời gian kể từ yêu cầu cuối cùng Nếu tr là thời gian cho một

ITEM được yêu cầu cuối cùng, ∆= t – tr là thời gian trôi qua kể từ yêu cầu cuốicùng Chúng tôi cho rằng thời gian này sẽ trôi qua trước khi yêu cầu tiếp theo và

dự đoán yêu cầu tiếp theo xảy ra và o thời điểm t+∆ Nếu t+∆ là thời gian saukhi hết hạn của sản phẩm lưu trữ, sau đó chúng tôi nói rằng nó được dự đoán sẽhết hạn Chiến lược ba tầng này là phần mở rộng rõ ràng nhất của chiến lược haitầng, nhưng kết quả thực nghiệm trong phần tiếp theo cho thấy rằng nó khôngcải thiện sau khi chiến lược hai tầng đơn giản

3 Kết quả mô phỏng bộ nhớ cache đơn

Trong phần này, chúng tôi tập trung vào việc thực hiện thực nghiệm củacác chiến lược bộ nhớ đệm khác nhau trong sự hiện diện về thời gian hết hạn.Chúng tôi đo hiệu suất bộ nhớ đệm bằng số lượt truy cập bộ nhớ cache được tạo

ra bởi mỗi quá trình Mục tiêu chính của chúng tôi là đánh giá hiệu quả hoạtđộng của một, hai, và quá trình bộ nhớ đệm ba tầng tương đối với nhau và liênquan đến các diễn đàn chiến lược tối ưu FF-ET Để làm những so sánh này,chúng tôi mô phỏng hoạt động của các quá trình khác nhau với một mô hìnhphát triển bằng cách sử dụng CSIM [8] môi trường mô phỏng sự kiện rời rạc

3.1 Mẫu client

Vì chúng tôi không nghiên cứu thời gian, chúng tôi áp dụng một mô hìnhđơn giản trong đó client ra một yêu cầu trong mỗi đơn vị thời gian Client cómột bộ nhớ cache có thể chứa k mục và nó yêu tạo cầu các mục theo một phân

bố xác suất Zipf [16] Phân phối Zipf là một phân phối lệch đặc trưng bởi một

Trang 10

tham số α ≥ 0 Giá trị cao hơn của α chỉ phân phối lệch nhiều hơn Nghiên cứugần đây [9, 12] đã chỉ ra rằng việc phân phối Zipf cung cấp dữ liệu truy cập webquan sát thích hợp hơn Dựa trên quan sát hạn chế của chúng ta về dữ liệu độcquyền, chúng tôi tin rằng điều này cũng có thể đúng đối với điện thoại

Client bắt đầu với một bộ nhớ cache trống và lấp đầy bộ nhớ cache như lỗi trênyêu cầu Một khi bộ nhớ cache là đầy , client lưu trữ sử dụng một trong cácthuật toán bộ nhớ đệm được mô tả trong phần 2 Các thuật toán cơ sở chúng taxem xét là LRU và LRU -2 Chúng ta kiểm tra hiệu năng của cả hai chiến lượcthực thi sử dụng một, hai và ba tầng, như được mô tả trong phần trước Để sosánh rộng hơn , chúng ta thử nghiệm với FTD, RAND và thuật toán ngoại tuyếntối ưu FF- ET Thực thi của chúng ta về các thuật toán bộ nhớ đệm bao gồmmột điều chỉnh thực hiện nhỏ : Nếu chúng ta loại bỏ sau khi một bộ nhớ cachenhớ kết quả đó bởi vì việc lưu trữ bản sao của phần tử được yêu cầu là hết hạn ,chúng ta thay thế phiên bản cũ với bản dịch mới ưu tiên đến việc loại bỏ mộtphần tử không liên quan Mô tả sơ đồ mạch của kết quả thuật toán caching 3tầng được thể hiện trong hình 2

Để giảm thiểu những ảnh hưởng của việc khởi tạo một bộ nhớ cache trống ,chúng tôi cho phép mô phỏng một thời gian khởi động trong khi các client hoạt

Trang 11

động như bình thường sẽ thực hiện nhưng không được theo dõi Điều này chophép thời gian cho bộ nhớ cache của client để điền vào và sau đó hoạt độngtrong một thời gian trước khi chúng ta bắt đầu quan sát

3.2 mô hình dữ liệu

Chúng ta đang nghiên cứu hiệu năng bộ nhớ đệm chứ không phải hiệu năng máy chủ , chúng ta không cần một mô hình máy chủ phức tạp Máy chủ đại diện cho một cơ sở dữ liệu kích thước n, và khách hang chỉ đơn giản là yêu cầu các phần tử trong phạm vi từ 1 đến n Độc lập với quá trình theo yêu cầu của khách hàng là cơ chế với các dữ liệu phần tử hết hạn Trong nghiên cứu này , chúng tôi giả định rằng dữ liệu hết hạn theo chu kỳ Có nghĩa là, nếu chúng ta xác định một khoảng thời gian , như một ngày , hết hạn sẽ xảy ra ở thời điểm cài đặt trước trong từng thời kỳ Cho mục đích của mô phỏng, chúng tôi xác định độ dài thời gian và số lần mỗi phần tử hết hạn cho mỗi chu kỳ Với thiết lập này, thời gian hết hạn thực tế cho mỗi phần tử được lựa chọn ngẫu nhiên trong giai đoạn Sự ngẫu nhiên này cho phép dữ liệu của phần tử để đối xử như nhau về số lượng lần hết hạn của chúng , nhưng khác nhau về thời gian mà sự hết hạn xảy ra

Ngày đăng: 06/03/2016, 16:24

HÌNH ẢNH LIÊN QUAN

Hình : Ví dụ nơi loại bỏ những mục hết hạn LRU-2 - Thiết kế thuật toán bộ nhớ đệm riêng để xử lý dữ liệu hết hạn
nh Ví dụ nơi loại bỏ những mục hết hạn LRU-2 (Trang 7)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w