Sự thay thế Web cache được thực hiện khi trượt Web cache, nghĩa là khi đối tượng mà yêu cầu http từ người dùng client http request không có trong Web cache mà dung lượng của Web cache đã
Trang 1ĐÁNH GIÁ HIỆU NĂNG CỦA THUẬT TOÁN THAY THẾ WEB CACHE LRU-EXT CHO INTERNET WEB CACHING SỬ DỤNG MẠNG TÍCH HỢP HÀNG ĐỢI VÀ PETRI NET CÓ THỜI GIAN
Nguyễn Xuân Trường*, Hồ Khánh Lâm, Nguyễn Minh Quý
Tóm tắt: Web caching là việc lưu trữ bản sao của những tài liệu web sao cho gần
với người dùng; Web caching là ứng dụng ở cấp độ routing và phần lớn băng thông dùng cho web với mục tiêu làm tăng tốc độ đường truyền và tốc độ truy cập web Các kiến trúc Internet web caching cùng với các chính sách thay thế Web cache là những giải pháp quan trọng và không thể thiếu được trong phát triển Internet nhằm đáp ứng các dịch vụ chất lượng cao Một số thuật toán thay thế web cache như LRU, LFU, MRU… đã được ứng dụng từ lâu, tuy nhiên mỗi thuật toán đều có những ưu điểm và nhược điểm Do đó, cho đến nay các nghiên cứu về thay thế Web cache vẫn còn được quan tâm Thuật toán thay thế Web cache LRU-EXT đã được đề xuất [1]
và đánh giá hiệu năng qua các ví dụ và công thức tính toán Trong bài báo này, chúng tôi đề xuất sử dụng mô hình mạng tích hợp hàng đợi và Petri Net có thời gian chung để đánh giá hiệu năng của thuật toán LRU-EXT
Từ khóa: Internet web caching architecture; LRU-EXT; Hybrid model of Queue and GSPN.
1 MỞ ĐẦU
Trong kiến trúc Web caching phân tầng (Hierarchical Web Caching) [2], chúng tôi lựa chọn kiến trúc lai và phân tích đánh giá hiệu năng sử dụng mô hình hàng đợi với các cấp cache: Institutional Caches (IC), Regional Caches (RC), Central Caches (CC), Original Caches (OC) [3] Thời gian đáp ứng trung bình cho truy nhập HTTP trong một kiến trúc Web caching phân tầng của ISP đã được chúng tôi
đề xuất trong [3]:
E R E R Miss E R Miss E R Miss E R (1) Trong đó: E R[ 3H], [E R2H], [E R1H], [E R0H]- Thời gian đáp ứng truy nhập trung bình của các cấp cache tương ứng: IC, RC, CC, và OC; Miss Miss Miss - Tỷ số 3, 2, 1 trượt cache (cache miss) ở các cấp cache tương ứng: IC, RC, CC, và OC
Sự thay thế Web cache được thực hiện khi trượt Web cache, nghĩa là khi đối tượng
mà yêu cầu http từ người dùng (client http request) không có trong Web cache mà dung lượng của Web cache đã đầy không còn vùng trống để nhận vào đối tượng web mới từ Internet đáp ứng yêu cầu của người dùng Quá trình thực hiện tìm kiếm nội dung web và thực hiện một thuật toán hay chính sách thay thế Web cache nói chung ở một cấp cache (ví dụ cấp IC) của kiến trúc Internet web caching được chúng tôi đề xuất trong [1] cho ở hình 1
Thuật toán LRU (Least Recently Used) chỉ đạt hiệu quả khi các đối tượng Web
có kích thước giống nhau Thực tế phụ thuộc vào chỉ số dân trí từng vùng, sự phát triển của các dịch vụ thông tin di động, xét theo Zipf [4]: Các hệ thống Web cache thiết lập ở đó cần có sự đầu tư về công suất, dung lượng để đáp ứng nhu cầu Vậy
Trang 2nên mặc dù cùng cấp mạng nhưng các hệ thống Web cache sẽ khác nhau về dung lượng, công suất vì số lượng các website được ưa chuộng khác nhau, kích thước
các đối tượng web cũng khác nhau
Hình 1 Tìm đối tượng Web ở cấp cache IC cho yêu cầu Client HTTP
Do đó không áp dụng các thuật toán LRU hay LFU (Least Frequently Used) một cách đơn thuần Ngoài ra, có một số trang web có thể một thời điểm không được người dùng quan tâm, và dễ bị thay thế theo LRU hay LFU, nhưng sau đó, chúng lại có thể được sự bùng nổ số người tham chiếu đến Khi đó theo LRU hay LFU những trang web này lại phải tìm kiếm qua mạng trên các hệ thống Web cache khác, mà chưa chắc đã tồn tại Thực tế đã có đề xuất thuật toán MRU (Most Recently Used) đối tượng được sử dụng gần đây nhất là ứng viên bị thay thế [5] MRU được sử dụng khi cần phải truy cập đến thông tin lịch sử Thuật toán của chúng tôi đề xuất khắc phục nhược điểm này bằng cách đưa vào mỗi hệ thống Web cache một Web cache cục bộ mở rộng LEWC (Local Extended Web Cache) để lưu tạm thời các đối tượng web bị loại bỏ khi thực hiện LRU hay LFU Để áp dụng thay thế cache thuật toán SIZE liên kết kích thước cho từng đối tượng trong Web Cache, và sẽ loại bỏ đối tượng có kích thước lớn nhất và ít được tham chiếu gần đây nhất theo LRU Thuật toán LRU-MIN lại loại bỏ các đối tượng có kích thước nhỏ nhất Thực tế sự đa dạng của các đối tượng web, đặc biệt là các nội dung của các dịch vụ đa phương tiện, không làm cho các thuật toán này đạt được hiệu quả cao Bởi vì ở một thời điểm một đối tượng web được coi là lớn nhất về kích thước nên bị loại bỏ, xong ở thời điểm khác nó không phải là lớn nhất
Hoặc ngược lại một đối tượng bị coi là nhỏ nhất và bị loại bỏ theo LRU-MIN, nhưng sau đó nó lại không phải là nhỏ nhất Do đó giải pháp đưa vào LEWC có thể khắc phục được lỗi của SIZE và LRU-MIN Như vậy khi trượt đối tượng trong Web cache đầu tiên, thì phải tìm kiếm trong LEWC xem có đối tượng nào trước đó
Trang 3bị thay thế trùng với yêu cầu của http Nếu có thì đó là trúng Web cache Chỉ khi không có trong LEWC, mới phải chuyển yêu cầu http đến Web cache tiếp thep cùng cấp Hình 2 thể hiện tiến trình thực hiện thuật toán thay thế LRU-EXT cho trường hợp Web Cache ở cấp IC: IC0 và IC1 [1]
Hình 2 Tiến trình thực hiện thuật toán LRU-EXT
Tỷ số trúng cache của thuật toán LRU-EXT được tính theo công thức sau:
in in LRU EXT
Number of hit objin webcache Number of hit objin LEWC
HN C HN LEWC
HR
TN Totalnumber of requested obj
Tỷ số trúng cache của thuật toán LRU tính theo công thức sau:
in LRU HN C Number of hit objin webcache HR
TN Totalnumber of requested obj
So sánh hiệu năng của LRU-EXT với LRU qua tỷ số trúng cache của chúng:
HRLRU-EXT/HRLRU=(HNinC+HNinLEWC)/HNinC=1+HNinLEWC/HNinC (4) Giá trị 1+ HNinLEWC/HNinC > 1
Trong bài báo này chúng tôi đề xuất sử dụng mô hình mạng tích hợp hàng đợi M/M/1 (Queue Model) và mạng Petri có thời gian (GSPN: Generalized Stochastic Petri Net) để bổ sung đánh giá hiệu năng của thuật toán LRU-EXT
Khả năng xây dựng mô hình kết hợp mạng hàng đợi với GSPN cho phép kết hợp các đặc tính của các loại hàng đợi với các quá trình đến của các yêu cầu truy nhập web là quá trình Markov với phân bố mũ của tốc độ đến trung bình λ và thời gian phục vụ trung bình của nút hàng đợi f(x) = λe - λx cùng với các đặc tính của chuyển tiếp (Transition) kích hoạt theo thời gian (có trễ hoặc tức thời) và các vị trí (Place) thể hiện các trạng thái và hành vi của mạng Petri cho phép tạo ra các mô
Trang 4hình phân tích phức tạp Các nghiên cứu trước đây về hiệu năng của hệ thống nói chung và kiến trúc Internet web caching chỉ sử dụng riêng lẻ hoặc mạng hàng đợi hoặc mạng Petri Giải pháp của chúng tôi ở đây là xây dựng mô hình quá trình thực hiện thuật toán thay thế Web Cache LRU-EXT đã được để xuất dựa vào sự kết hợp các hàng đợi M/M/1 và các thành phần của mạng GSPN để phân tích và đánh giá hiệu năng của LRU-EXT
Một số nghiên cứu liên quan: Có một số nghiên cứu về các chính sách thay
thế Web cache sử dụng Petri Net Trong [6], các tác giả đã sử dụng mô hình Deterministic and Stochastic Petri Net (DSPN) để mô hình hóa kiến trúc Proxy Server với các loại cache để đánh giá hiệu năng theo trễ dựa vào kích thước cache
và lưu lượng Nghiên cứu [7] sử dụng mô hình chuỗi Markov thời gian xác định DTMC để phân tích hiệu năng của các hệ thống caching Mô hình mạng hàng đợi (Queueing Netwwork) cũng được sử dụng để nghiên cứu kiến trúc và hiệu năng của Web Proxy Cache Server [8][9][10][11], trong đó nghiên cứu [10] đề xuất mô hình hàng đợi M/M/1/K và trong nghiên cứu [11] Cao et al xây dựng hàng đợi M/G/1/K-PS Nghiên cứu [12] xây dựng mô hình mạng hàng đợi đóng để đánh giá mạng hàng đợi Một số nghiên cứu khác sử dụng các công cụ phần mềm mô phỏng chuyên dụng dựa trên lý thuyết hàng đợi và các loại Petri Net để dựng mô hình phân tích các hệ thống cache như JMT [13], Coloured Petri Net Tool (CPNTool) [14][15], TimeNet Tools [16], CacheSIM - là công cụ mô phỏng Cache dựa vào Coloured Petri Nets và lập trình java [17]
2 THIẾT KẾ CÁC MÔ HÌNH MẠNG KẾT HỢP
CÁC HÀNG ĐỢI VÀ GSPN 2.1 Mô hình mạng thực hiện tìm đối tượng Web và thực hiện thay thế Web Cache
Chuyển đồ thị ở hình 2 thành mô hình mạng ở hình 3 với bốn cấp cache (Proxy Cache L0, L1, L3, và Origin Server Cache) Kết quả được xây dựng trên công cụ JMT1.0.2
Bảng 1 Các nút mạng tích hợp cho ở hình 3
Mạng GSPN
Client-D Yêu cầu client
PRC-L0-S Ghi vào Cache
PRC-L0-H Trúng Cache
L0 tReq_L0 Client request to Proxy Server Cache L0 PRC-L0-M Trượt Cache tL0Resp Đáp ứng trả về client từ Cache L0
Trang 5L0
PRC-L0-FULL Cache L0 đã đầy tReq_L1 Gửi yêu cầu đến Proxy Server Cache L1 PRC-L1-S Ghi vào Cache
L1 tL1Resp Đáp ứng trả về Cache L0 từ Cache L1 PRC-L1-H Trúng Cache
L1 tReplL0 Thực hiện thuật toán thay thế Cache PRC-L1-M Trượt Cache
L1 tReq_L2 Gửi yêu cầu đến Proxy Server Cache L2
PRC-L1-FULL Cache L1 đã đầy tL2Resp Đáp ứng trả về Cache L1 từ Cache L2 PRC-L2-S Ghi vào Cache
L2 tReplL1 Thực hiện thuật toán thay thế Cache L1 PRC-L2-H Trúng Cache
L2 tReq_L3 Gửi yêu cầu đến Proxy Server Cache L3 PRC-L2-M Trượt Cache
L2 tL3Resp Đáp ứng trả về Cache L2 từ Cache L3
PRC-L2-FULL Cache L2 đã đầy tReplL2 Thực hiện thuật toán thay thế Cache L2 PRC-L3-S Ghi vào Cache
L3 tReq_OS Gửi yêu cầu đến Origin Server Cache PRC-L3-H Trúng Cache
L3 tOSResp Đáp ứng trả về Cache L3 từ Cache OS PRC-L3-M Trượt Cache
L3 tReplL3 Thực hiện thuật toán thay thế Cache L3
Mạng Hàng đợi Các
Client-Q Các đầu cuối người dùng OrgSER Origin Server
PRC-L0 Proxy Server Cache L0 PRC-L1-L0-W Ghi đối tượng Web từ Cache L1 vào L0
PRC-L1 Proxy Server Cache L1 PRC-L2-L1-W Ghi đối tượng Web từ Cache L2 vào L1
PRC-L2 Proxy Server Cache L2 PRC-L3-L1-W Ghi đối tượng Web từ Cache L3 vào L2
PRC-L3 Proxy Server Cache L3 PRC-OS-L3-W Ghi đối tượng Web từ Cache OS vào L3
Trang 6Hình 3 Mô hình mạng 4 cấp cache tìm đối tượng web
và thực hiện thay thế web cache
2.2 Mô hình với ba cấp cache
Để so sánh kiến trúc Web caching giữa ba cấp và bốn cấp cache, chúng tôi đưa vào mô hình ba cấp cache như ở hình 4
Hình 4 Mô hình mạng 3 cấp cache tìm đối tượng Web
và thực hiện thay thế Web Cache
2.3 Mô hình mạng tích hợp cho phân tích kiến trúc cache với thực hiện thay thế web cache bằng LRU-EXT
Hình 5 Mô hình tích hợp kiến trúc cache với thực hiện t
hay thế Web cache bằng LRU-EXT
Trang 7Từ đồ thị diễn giải thực hiện thuật toán thay thế Web cache ở hình 2, chúng tôi đề xuất mô hình mạng tích hợp hàng đợi và GSPN của kiến trúc Web caching 3 cấp ở hình 5
Bảng 2 Các nút của mô hình cho ở hình 5
Mạng GSPN
Client-D Yêu cầu client http L2-NoMinSize Min Size In Cache L2: No PRC-L0-S Ghi vào Cache L0 L0-NoMaxSize Max Size IN Cache L0: No PRC-L0-H Trúng Cache L0 L1-NoMaxSize Max Size IN Cache L1: No PRC-L0-M Trượt Cache L0 L2-NoMaxSize Max Size IN Cache L2: No
PRC-L0-FULL Cache L0 đã đầy tReq_L0 Client request to Proxy Server Cache L0 PRC-L1-S Ghi vào Cache L1 tL0Resp Đáp ứng trả về client từ Cache
L0 PRC-L1-H Trúng Cache L1 tReq_L1 Gửi yêu cầu đến Proxy Server
Cache L1 PRC-L1-M Trượt Cache L1 tL1Resp Đáp ứng trả về Cache L0 từ
Cache L1
PRC-L1-FULL Cache L1 đã đầy tReq_L2 Gửi yêu cầu đến Proxy Server Cache L2 PRC-L2-S Ghi vào Cache L2 tL2Resp Đáp ứng trả về Cache L1 từ
Cache L2 PRC-L2-H Trúng Cache L2 tReq_OS Gửi yêu cầu đến Origin Server
Cache PRC-L2-M Trượt Cache L2 tOSResp Đáp ứng trả về Cache L2 từ
Cache OS
PRC-L2-FULL Cache L2 đã đầy tSizeCompLRUMINL0 and Cache L0 Object by LRU-SIZE Compare: New Object
MIN ORG-H Trúng Cache ORG tSizeCompLRU
MINL1 and Cache L1 Object by LRU-SIZE Compare: New Object
MIN
L0-YesMinSize Min Size In Cache L0: Yes tSizeCompLRUMINL2 and Cache L2 Object by LRU-SIZE Compare: New Object
MIN L1- Min Size In Cache tStoreIntoLEWC Store Object to Ext Cache L0
Trang 8YesMinSize L1: Yes -L0
L2-YesMinSize Min Size In Cache L2: Yes tStoreIntoLEWC-L1 Store Object to Ext Cache L1
L0-YesMaxSize Max Size In Cache L0: Yes tStoreIntoLEWC-L2 Store Object to Ext Cache L2
L1-YesMaxSize Max Size In Cache L1: Yes tSizeCompSIZEInL0 and Cache L0 Object by SIZE SIZE Compare: New Object
L2-YesMaxSize Max Size In Cache L1: Yes tSizeCompSIZEInL0 and Cache L1 Object by SIZE SIZE Compare: New Object
L0-NoMinSize Min Size In Cache L0: No tSizeCompSIZEInL0 and Cache L2 Object by SIZE SIZE Compare: New Object
L1-NoMinSize Min Size In Cache L1: No
Mạng Hàng đợi
Client-Q Các đầu cuối người
dùng PRC-OS-L2-W Ghi đối tượng Web từ Cache OS vào L2 PRC-L0 Proxy Server Cache
L0 MinSizeFind PRC-L0- Min Size finded in Cache L0 PRC-L1 Proxy Server Cache
L1 MinSizeFind PRC-L1- Min Size finded in Cache L1 PRC-L2 Proxy Server Cache
L2 MinSizeFind PRC-L2- Min Size finded in Cache L2
PRC-L0-MaxSizeFind Max Size finded in Cache L0
PRC-L1-L0-W từ Cache L1 vào L0 Ghi đối tượng Web MaxSizeFind PRC-L1- Max Size finded in Cache L1
PRC-L2-L1-W từ Cache L2 vào L1 Ghi đối tượng Web MaxSizeFind PRC-L2- Max Size finded in Cache L2
3 MÔ PHỎNG, TÍNH TOÁN 3.1 So sánh các kiến trúc Web caching 4 cấp cache, 3 cấp cache với thực hiện thay thế Web cache, và thực hiện LRU-EXT
- Sử dụng công cụ JMT1.0.2 tính các thông số hiệu năng: PRC-L0_class1_Number of Customers (j): Số yêu cầu của client đến Proxy Server Cache
Trang 9PRC-L0_class1_Response Time (s): Đáp ứng của Proxy Server Cache L0 (giây) PRC-L0_class1_Utilization: Mức độ sử dụng của Proxy Server Cache L0
class1_Systen Number of Customers (j): Tổng số yêu cầu http trong kiến trúc mạng
class1_System Response Time (s): Đáp ứng trung bình của kiến trúc mạng
3.2 Mô phỏng
a) Đặt thời gian phục vụ của các nút hàng đợi mô hình mạng 4 cấp cache cho ở hình 3: PRC-L0, PRC-L1-L0-W, PRC-L1, PRC-L2, PRC-L2-L1-W, PRC-L3, PRC-L3-L2-W, PRC-OS-L3-W, OrgSER có phân bố mũ f(x)=λe-λx và có giá trị trung bình= 0.25s và λ=4
Các chuyển tiếp có thời gian trễ kích hoạt như sau: tReq_L0=1s mean và λ=1; tL0Resp=4s mean và λ=0.25; tReq_L1 = 5s mean và λ=0.2; tL1Resp=10s mean và λ=0.1; tReq_L2=8s mean và λ=0.125; tL2Resp=15s mean và λ=0.067; tReq_L3=10s mean và λ=0.1; tL3Resp=20s mean và λ=0.05; tReq_OS=15s mean
tReplL0=tReplL1=tReplL2=tReplL3=0.2s mean và λ=5
b) Đặt thời gian phục vụ của các nút hàng đợi mô hình mạng 3 cấp cache cho ở hình 4: PRC-L0, PRC-L1-L0-W, PRC-L1, PRC-L2, PRC-L2-L1-W,
PRC-OS-L2-W, OrgSER có phân bố mũ f(x)=λe-λx và có giá trị trung bình = 0.25 và λ=4 Các chuyển tiếp có thời gian trễ kích hoạt như sau: tReq_L0=1s mean và λ=1; tL0Resp=4s mean và λ=0.25; tReq_L1=5s mean và λ=0.2; tL1Resp=10s mean và λ=0.1; tReq_L2=8s mean và λ=0.125; tL2Resp=15s mean và λ=0.067; tReq_OS=15s mean và λ=0.067; tOSResp=25s mean và λ=0.04; tReplL0=tReplL1=tReplL2=tReplL3=0.2s mean và λ=5
c) Đặt thời gian phục vụ của các nút hàng đợi mô hình mạng 3 cấp cache những
có thực hiện LRU-EXT cho ở hình 5: PRC-L0, PRC-L1-L0-W, PRC-L1, PRC-L2, PRC-L2-L1-W, PRC-OS-L2-W, OrgSER có phân bố mũ f(x)=λe-λx và có giá trị trung bình = 0.25 và λ=4 Các nút hàng đợi L0-MaxSizeFind, L0-MinSizeFind, L1-MaxSizeFind, L1-L0-MinSizeFind, L2-MaxSizeFind, và PRC-L2-MinSizeFind có thời gian phục vụ trung bình = 0.2s và λ=5 Các chuyển tiếp có thời gian trễ kích hoạt như sau: tReq_L0=1s mean, λ=1; tL0Resp=4s mean, λ=0.25; tReq_L1= 5s mean, λ=0.2; tL1Resp=10s mean, λ=0.1; tReq_L2=8s mean, λ=0.125; tL2Resp=15s mean, λ=0.067; tReq_OS=15s mean, λ=0.067; tOSResp=25s mean, λ=0.04; tReplL0=tReplL1=tReplL2=tReplL3=0.2s mean, λ=5 Các chuyển tiếp tức thời cho thực hiện LRU-EXT: tSizeCompLRUMINInL0,
tSizeCompLRUMINInL1, tStoreIntoLEWC-L1, YesMinSizeFind,
L2-YesMinSizeFind, và L2-MaxSizeFind
Trang 10d) Xác suất định tuyến của các hàng đợi được xác định cho trường hợp có xác suất trúng cache cao: PRC-Li-H = 0.9, PRC-Li-M = 0.1; trong đó, i = 0, 1, 2, 3
Để có thể thực hiện thay thế Web cache, đặt trường hợp xấu nhất:
PRC-L0-L0-W có xác suất định tuyến đến nút vị trí PRC-Li-FULL = 0.9; trong đó i = 0, 1, 2, 3
3.3 Kết quả chạy mô phỏng các mô hình mạng
Hình 6a PLC-L0_class1_Number of
Customers (j)
Hình 7a PLC-L0_class1_Number of
Customers (j)
Hình 6b PRC-L0_class1_Response
Time (s) Hình 7b PRC-L0_class1_Response Time (s)
Hình 6d class1_System Number of
Customers (j)
Hình 7d class1_System Number of
Customers (j)