Chúng ta có thể dễ nhận thấy tỷ lệ yêu cầu thành công của Freenet có thể đƣợc cải thiện bằng cách tăng kích thƣớc lƣu trữ hoặc tăng giá trị HTL. Tuy nhiên điều này không phải lúc nào cũng có thể thực hiện. Kích thƣớc lƣu trữ đƣợc quản lý cục bộ và phụ thuộc vào tài nguyên hệ thống của từng nút, mà tài nguyên này lại có giới hạn. Việc tăng giá trị HTL có thể tăng tỷ lệ thành công, nhƣng phải trả giá vì cách này làm tăng đáng kể lƣợng thông báo truyền trên mạng.
Từ những nhận xét về đồ thị phân phối khoá trong bảng định tuyến, Hui Zhang và nhóm nghiên cứu đã đề xuất một phƣơng pháp mới để quản lý lƣu trữ trong bộ nhớ cục bộ thay cho phƣơng pháp LRU giúp nâng cao hiệu năng định tuyến của giao thức Freenet một cách hiệu quả mà không ảnh hƣởng đến mục đích thiết kế và thuật toán định tuyến yêu cầu tìm kiếm.
Đánh giá chủ yếu của [23] là Freenet có thể đạt đƣợc hiệu năng mong muốn bằng cách giữ đƣợc việc tụ nhóm khoá trong phần lƣu trữ. Điều này có thể làm một cách thụ động bằng cách thay đổi chính sách thay thế lƣu trữ mà không làm thay đổi giao thức định tuyến hay hy sinh tính ẩn danh của Freenet. Nhƣ ta thấy trong hình 9, đồ thị phân phối khoá trong bảng định tuyến của nút mạng Freenet khi tải nhỏ rất gần
gũi với mô hình thế giới nhỏ. Hui Zhang đã sử dụng ý tƣởng này để đề xuất phương
pháp thay thế lưu trữ nâng cao nhóm (Enhanced Clustering Cache Replacement
Scheme, gọi tắt là EC) - một phƣơng pháp thay cho LRU để thực hiện cơ chế thay thế dữ liệu trong bộ nhớ lƣu trữ cục bộ.
Một lƣu ý rằng phƣơng pháp nâng cao nhóm chỉ đƣợc áp dụng để thay thế các file khi bộ nhớ cục bộ đầy, trong khi vẫn sử dụng LRU để thay thế các khoản mục trong bảng định tuyến khi bảng định tuyến đầy. Dù sao, nhƣ ta đã thảo luận, việc lựa chọn lƣu trữ file nào vào bộ nhớ cục bộ cũng góp phần quyết định việc lƣu trữ khoản mục chứa khoá nào trong bảng định tuyến.
3.3.1. Cơ chế thay thế lưu trữ nâng cao nhóm
Để đảm bảo mạng Freenet hoạt động hiệu quả theo ý tƣởng mô hình thế giới nhỏ, bảng định tuyến tại nút x bất kỳ cần giữ đƣợc sự tụ nhóm khoá, nghĩa là trong đó có một tập chủ yếu các khoản mục khoá nhóm quanh một giá trị s(x), còn lại một số khoản mục khoá làm lối tắt (shortcut) phân bố rải rác ngoài nhóm này.
Hình 11.Phân phối khoá trong bảng định tuyến phù hợp với mô hình thế giới nhỏ Phƣơng pháp thay thế lƣu trữ nâng cao nhóm đƣợc [23] đƣa ra thực hiện nhƣ sau:
Khi tham gia vào hệ thống, mỗi nút x chọn một giá trị khoá gốc
s(x) một cách ngẫu nhiên từ không gian khoá S.
Khi bộ nhớ cục bộ ở một nút đầy và một file mới với khoá u tới (hoặc từ thao tác lƣu trữ hoặc do một yêu cầu thành công), nút x tìm trong bộ nhớ cục bộ hiện tại một file có khoá v xa nhất tính từ khoá gốc dƣới dạng khoảng cách trong không gian khoá S.
)) ( , ( )) ( , (v s x Max KCach w s x KCach wdatastore
Nếu KCach(u,s(x))KCach(v,s(x))thì lƣu u và loại bỏ v, đồng
này, làm cho các khoá đƣợc nhóm lại trong bảng định tuyến của một nút quanh khoá gốc của nút đó.
Nếu KCach(u,s(x))KCach(v,s(x)) thì với một xác suất p ngẫu nhiên, lƣu u và loại bỏ v, đồng thời tạo một khoản mục cho u trong bảng định tuyến. Việc này tạo ra một số lối tắt ngẫu nhiên.
Ta có thể hiểu một cách đơn giản rằng, sau khi đã chọn khoá gốc, nếu khoá mới gần khoá gốc hơn so với khoá xa nhất thì loại bỏ khoá xa nhất để lƣu khoá mới. Nếu khoá mới xa khoá gốc hơn so với khoá xa nhất, cơ chế này sẽ xem xét khả năng lƣu khoá mới này làm lối tắt với một xác suất nhỏ. Vì vậy đa số các khoá sẽ tụ nhóm quanh khoá gốc và chỉ có một số ít khoá xa khoá gốc đƣợc lựa chọn để làm lối tắt.
3.3.2. Kết quả so sánh
Ta sẽ xem xét hiệu quả của phƣơng pháp lƣu trữ nâng cao nhóm so với phƣơng pháp LRU. Ở đây, phƣơng pháp nâng cao nhóm sử dụng xác suất tạo lối tắt là p = 0.03, tạo ra trong bảng định tuyến một lƣợng nhỏ lối tắt ngẫu nhiên. Nhìn trực quan, kế hoạch này có thể làm cho Freenet giống một mạng thế giới nhỏ hơn. [23] chọn xác suất p = 0.03 để đạt đƣợc tỷ lệ yêu cầu thành công cao nhất và số chặng trung bình/ yêu cầu là nhỏ nhất đối với dải 0 p1 trong mô phỏng.
Ngoài ra, để hiểu riêng rẽ tác động góp phần vào hiệu năng của việc gộp nhóm khoá và các lối tắt ngẫu nhiên, chúng ta đánh giá thêm kế hoạch thay thế lưu trữ nâng
cao nhóm ngặt. Việc nâng cao nhóm ngặt cũng sử dụng thuật toán đã định nghĩa trên,
nhƣng với xác suất tạo lỗi tắt ngẫu nhiên là p = 0. Nhƣ vậy sẽ không cho phép tạo ra các lối tắt hay luôn loại bỏ các khoá xa hơn khoá xa nhất hiện tại so với khoá gốc. Thực tế điều này làm hình thành bảng định tuyến cho mạng trở thành một đồ thị chính quy.
Các độ đo đƣợc so sánh ở đây vẫn là tỷ lệ yêu cầu thành công, số chặng trung bình đối với một yêu cầu và số chặng trung bình đối với một yêu cầu thành công.
Hình 12 thể hiện tỷ lệ yêu cầu thành công so sánh giữa ba kế hoạch thay thế lƣu trữ trên. Hình 13 biểu thị số chặng trung bình/ yêu cầu. Hai hình này cho thấy nói chung các kỹ thuật lƣu trữ nâng cao nhóm cho kết quả hiệu năng cao hơn so với LRU. Hơn nữa phƣơng pháp nâng cao nhóm thƣờng lại thực hiện tốt hơn đáng kể so với LRU và phƣơng pháp nâng cao nhóm ngặt.
Đáng ngạc nhiên là kết quả so sánh về số chặng trung bình/yêu cầu thành công
thể hiện trong hình 14. Phƣơng pháp LRU và nâng cao nhóm thƣờng lại thực hiện tốt hơn nhiều so với phƣơng pháp nâng cao nhóm ngặt.
Hình 12.Tỷ lệ yêu cầu thành công so sánh giữa LRU, pp nâng cao nhóm ngặt và nâng cao nhóm thƣờng
Hình 13.Số chặng trung bình/ yêu cầu so sánh giữa LRU, pp nâng cao nhóm ngặt và nâng cao nhóm thƣờng
Hình 14.Số chặng trung bình/yc thành công so sánh giữa LRU, pp nâng cao nhóm ngặt và nâng cao nhóm thƣờng
Nhƣ vậy, phƣơng pháp lƣu trữ đem lại hiệu năng của Freenet tốt nhất là phƣơng pháp lƣu trữ nâng cao nhóm trong đó có xu hƣớng tập trung các giá trị khoá xung quanh giá trị khoá gốc và tạo một số lối tắt ngẫu nhiên với xác suất nhất định.
3.3.3. Phân phối khoá trong bảng định tuyến
Để khẳng định mối liên hệ giữa hiệu năng của Freenet với tính tụ nhóm khoá trong bảng định tuyến của nút mạng, [23] đƣa ra đồ thị phân phối khoá trong bảng định tuyến khi kết thúc mô phỏng với tải mạng lớn.
Hình 15 cho thấy khi áp dụng phƣơng pháp nâng cao nhóm ngặt, mạng đƣợc hình thành giống nhƣ một đồ thị chính quy, trong đó mỗi nút đều có con trỏ tới một số ít nút láng giềng thể hiện qua đa số khoá tập trung vào một nhóm nhỏ và các nhóm này tƣơng đối đóng, tồn tại rất ít liên kết giữa các nhóm.
Hình 16 cho thấy phƣơng pháp nâng cao nhóm thƣờng cũng tạo ra bảng định tuyến gần với tính chất của mô hình thế giới nhỏ, trong đó phần lớn khoá tập trung vào một dải nhỏ, ngoài ra còn có một số khoá là lối tắt nằm rải rác bên ngoài nhóm chính này. Các lối tắt này đóng vai trò là các liên kết giữa các nhóm khác nhau. Nhƣ vậy các nhóm tạo ra trên mạng khi áp dụng phƣơng pháp nâng cao nhóm thƣờng không đóng nhƣ các nhóm tạo ra khi áp dụng phƣơng pháp nâng cao nhóm ngặt.
Hình 15.Đồ thị phân phối khoá trong bảng định tuyến với pp nâng cao nhóm ngặt
Hình 16.Đồ thị phân phối khoá trong bảng định tuyến với pp nâng cao nhóm thƣờng
3.3.4. Phân tích kết quả
Nhƣ ta đã thấy trong hình 10, khi tải mạng lớn, cơ chế thay thế lƣu trữ LRU không giữ đƣợc tính tụ nhóm trong bảng định tuyến. Điều này tƣơng tự với các đồ thị
ngẫu nhiên, trong đó đƣờng kính bằng với số cạnh. Do các cạnh đƣợc vẽ ngẫu nhiên nên rất khó sử dụng các nguyên tắc cục bộ để đi từ một nút cho trƣớc tới nút chứa khoá mong muốn. Vì vậy, khi tải lớn LRU cho tỷ lệ thành công thấp.
Với phƣơng pháp nâng cao nhóm ngặt, nghĩa là không tạo lối tắt ngẫu nhiên, các khoá trong bảng định tuyến hoàn toàn đƣợc nhóm nhƣ minh hoạ trong hình 15. Khi đó mạng tƣơng ứng với một đồ thị chính quy mức độ cao. Trong một đồ thị nhƣ vậy, việc đi từ một nút cho trƣớc tới nút mong muốn là rất dễ dàng. Tuy nhiên tính tụ nhóm cao dẫn đến mỗi bƣớc đi chỉ đi qua một khoảng cách nhỏ trong không gian khoá, kéo theo số chặng trung bình lớn.
Khi áp dụng phƣơng pháp nâng cao nhóm với các lối tắt ngẫu nhiên, mạng đƣợc hình thành tƣơng tự với mô hình thế giới nhỏ. Trong đồ thị này, nhóm chính và các lối tắt kết hợp với nhau đem lại hiệu quả trong tìm kiếm. Nhóm khoá chính giúp dễ dàng dùng các nguyên tắc cục bộ để đi tới một nút mong muốn, đồng thời các lối tắt cho phép bằng một bƣớc đi có thể đi một khoảng cách xa trong không gian khoá, góp phần làm giảm số chặng trung bình.
Các kết quả trên đƣợc thực hiện với giả sử các file có kích thƣớc giống nhau và xác suất tạo file, xác suất gửi yêu cầu là đồng dạng. [23] cũng đã thử nghiệm phƣơng pháp nâng cao nhóm đối với các phân phối khác về kích thƣớc file, xác suất tạo file, xác suất gửi yêu cầu. Kết quả cho thấy hiệu năng của LRU và nâng cao nhóm không thay đổi nhiều đối với các phân phối khác nhau. Phƣơng pháp lƣu trữ nâng cao nhóm vẫn là phƣơng pháp thay thế lƣu trữ đem lại tỷ lệ yêu cầu thành công lớn nhất và số chặng trung bình là nhỏ nhất.
Trong [23], tác giả tập trung vào chứng minh phƣơng pháp lƣu trữ nâng cao nhóm cải tiến hơn phƣơng pháp LRU, cho phép hệ thống giữ đƣợc thuộc tính giống mô hình thế giới nhỏ mà không phụ thuộc vào tải. Tuy nhiên LRU cũng có các ƣu điểm thực tế khác mà [23] chƣa chỉ ra đƣợc. Phần sau của nghiên cứu này sẽ cho thấy LRU có khả năng thích nghi cao hơn phƣơng pháp nâng cao nhóm và đề xuất một thay đổi đối với phƣơng pháp nâng cao nhóm để giúp hệ thống có khả năng thích nghi tốt hơn khi mối quan tâm của mạng thay đổi.
Chƣơng 4. PHƢƠNG PHÁP LƢU TRỮ NÂNG CAO NHÓM THÍCH NGHI
Phƣơng pháp thay thế lƣu trữ nâng cao nhóm của các tác giả trong [23] đã cho thấy một cải tiến nhỏ trong cơ chế lƣu trữ có thể đem lại hiệu quả đáng kể về mặt hiệu năng của mạng. Tuy nhiên, phƣơng pháp này có một số vấn đề còn tồn tại, dẫn tới giảm khả năng thích nghi của mạng Freenet. Trong chƣơng này chúng ta sẽ xem xét lại những vấn đề tồn tại này và đề xuất một phƣơng pháp lƣu trữ nâng cao nhóm thích nghi để các nút mạng có khả năng thích nghi hơn khi mối quan tâm của mạng thay đổi.