Thiết kế Freenet nhằm đảm bảo tính ẩn danh cho cả bên yêu cầu dữ liệu và bên đáp ứng dữ liệu nên việc đánh giá trực tiếp về mạng toàn cục trên thực tế là rất khó khăn. Vì lý do này, trong [23] các tác giả sử dụng một mô phỏng để nghiên cứu hiệu năng của Freenet. Bộ mô phỏng đƣợc sử dụng độc lập với mạng Freenet, bắt chƣớc việc tạo ra, lƣu trữ, định tuyến và tìm kiếm lấy về tài liệu trong Freenet.
3.2.1. Giả thiết mô phỏng và các độ đo
Mục đích nghiên cứu [23] là đánh giá hiệu năng của Freenet dƣới tải cao. Tải mạng đƣợc mô tả là số file trung bình do một nút lƣu trữ lên mạng. Do các tác giả
không muốn việc các nút bị lỗi làm biến đổi những phát hiện cơ bản của họ nên mô phỏng không tính đến tác động của việc các nút bị lỗi. Tuy nhiên, việc các nút bị lỗi có thể ảnh hƣởng đến thời gian hội tụ của hệ thống Freenet tới trạng thái tốt.
Do không có dữ liệu về tải gửi file thực tế, [23] giả sử rằng mọi nút tạo ra các file dữ liệu và gửi yêu cầu với tốc độ giống nhau với xác suất bằng nhau. Để đơn giản và không mất tính tổng quát, giả sử rằng mọi nút mạng có cùng kích thƣớc bộ nhớ lƣu trữ cục bộ và bảng định tuyến. Các giả thiết này phần nào không thực tế nhƣng cho phép ta dễ hiểu hơn về tác động của giới hạn lƣu trữ.
Mô phỏng bắt chƣớc việc hoạt động của mạng Freenet gồm 300 nút mạng trong trong 30,000 đơn vị thời gian. Giả sử mọi file có kích thƣớc bằng nhau, hay phân phối kích thƣớc file là đồng dạng. Bộ nhớ lƣu trữ cục bộ trên mỗi nút có khả năng lƣu trữ tối đa 60 file. Bảng định tuyến trên mỗi nút ghi tối đa 110 khoản mục. Mỗi yêu cầu tìm kiếm đƣợc giới hạn 40 chặng (HTL = 40). Topo mạng ban đầu là dạng vòng (ring). Mỗi nút có con trỏ tới hai láng giềng. Topo này thể hiện qua các khoản mục giả đƣợc tạo ra ban đầu trong bảng định tuyến. Sau một thời gian hoạt động, các yêu cầu thành công sẽ tạo ra các khoản mục mới thể hiện các liên kết mới đƣợc bổ sung. Việc bổ sung dần dần các liên kết sẽ dẫn đến sự thay đổi của topo mạng.
Cũng vì lý do khó có thể đánh giá trực tiếp về mạng toàn cục nên các độ đo hiệu năng đƣợc sử dụng đứng về khía cạnh ngƣời dùng, bao gồm tỷ lệ yêu cầu thành công
và số chặng trung bình. Để đánh giá một cách cụ thể hơn, độ đo số chặng trung bình
đƣợc xem xét riêng biệt với tổng các yêu cầu tìm kiếm và số yêu cầu tìm kiếm thành công, nghĩa là chia thành hai độ đo cụ thể hơn là số chặng trung bình/ yêu cầu và số
chặng trung bình/ yêu cầu thành công.
3.2.2. Hiệu năng Freenet với phương pháp LRU
Để đánh giá tác động của chiến lƣợc lƣu trữ đối với hiệu năng của Freenet khi tải mạng cao, đầu tiên mô phỏng Freenet nêu trên đƣợc thực hiện với tải mạng tăng dần. Cơ chế thay thế lƣu trữ trong bộ nhớ lƣu trữ cục bộ đƣợc áp dụng là phƣơng pháp LRU cơ sở của Freenet, nghĩa là khi bộ nhớ cục bộ đầy thì các file ít đƣợc sử dụng gần thời điểm đó nhất sẽ bị loại bỏ để lƣu trữ các file mới tới.
Dữ liệu đầu vào đƣa vào mô phỏng là xác suất một nút tạo ra một file mới và lƣu trữ lên mạng. Thông tin này tỷ lệ thuận với tải mạng. Đầu ra của mô phỏng cho biết tải mạng tƣơng ứng với xác xuất đó và các thông tin về các yêu cầu tìm kiếm đã thực hiện nhƣ số yêu cầu đƣợc tạo ra, số yêu cầu thành công, số chặng trung bình…. Để có thể đánh giá một cách trực quan, tác giả nghiên cứu đã thực hiện mô phỏng và thể hiện thông tin đầu ra dƣới dạng đồ thị.
Hình 6 thể hiện sự biến đổi tỷ lệ yêu cầu tìm kiếm thành công khi tải mạng trên Freenet tăng dần. Ta nhận thấy khi tải mạng Freenet tăng dần, tỷ lệ yêu cầu tìm kiếm
thành công giảm dần. Khi tải mạng thấp hay số file do một nút tạo ra < 5 file, tỷ lệ yêu cầu tìm kiếm thành công rất cao (>90%) nhƣng khi tải mạng tăng dần, tỷ lệ này giảm một cách nhanh chóng. Khi số file do một nút tạo ra trung bình 25 file, tỷ lệ yêu cầu tìm kiếm thành công chỉ còn khoảng 30%.
Số chặng trung bình trên tổng số yêu cầu tìm kiếm nói chung và trên số yêu cầu tìm kiếm thành công nói riêng đƣợc mô tả trong hình 7 và hình 8. Ta nhận thấy khi tải mạng thấp (số file do một nút tạo ra <5), các yêu cầu tìm kiếm chỉ đi qua trung bình <5 nút. Tuy nhiên khi tải mạng tăng dần, số chặng trung bình tăng lên nhanh chóng. Trong khi đó số chặng trung bình của các yêu cầu thành công lại tăng chậm khi tải mạng tăng.
Sự sụt giảm nhanh chóng của tỷ lệ yêu cầu thành công và sự tăng cao nhanh chóng của số chặng trung bình của yêu cầu đồng nghĩa với hiệu năng của Freenet bị suy giảm nhanh chóng khi tải mạng tăng. Nguyên nhân của kết quả này không phải do giới hạn kích thƣớc lƣu trữ và bảng định tuyến hay do phân phối kích thƣớc file đồng dạng. Điều này đã đƣợc chứng minh khi tăng kích thƣớc lƣu trữ hay thay đổi phân phối kích thƣớc file thì kết quả không thay đổi nhiều [23].
Vậy, nguyên nhân dẫn đến hiệu năng của Freenet bị suy giảm nhanh chóng khi tải mạng tăng là gì?
Hình 7. Số chặng trung bình/yêu cầu khi tải mạng Freenet tăng dần
3.2.3. Phân phối khoá trong bảng định tuyến
Để hiểu rõ hơn về sự suy giảm nhanh chóng của hiệu năng Freenet, [23] đƣa ra đồ thị phân phối khoá của bảng định tuyến của một nút bất kỳ trong Freenet khi tải mạng nhỏ và lớn.
Hình 9 thể hiện phân phối khoá trong bảng định tuyến của một nút bất kỳ khi số file trung bình do một nút tạo ra là 2. Ta thấy các khoá trong bảng định tuyến này có xu hƣớng gộp nhóm khoá gần giá trị khoá do nút tạo ra, chỉ có một số ít khoá phân bố xa nhóm này. Tính chất tụ nhóm nhƣ vậy có liên hệ rất gần gũi với mô hình Thế giới nhỏ. Nhƣng đặc điểm nhóm này biến mất khi tăng số file (khoá) đƣợc tạo ra bởi nút này và các khoá trong bảng định tuyến đƣợc phân bố đồng đều hơn. Điều này thể hiện trong hình 10 với số file trung bình do một nút tạo ra là 20.
Hình 9. Đồ thị phân phối khoá trong bảng định tuyến khi tải nhỏ
Theo trực quan, ta có thể thấy không khó giải thích cho việc biến mất nhóm khoá trong bảng định tuyến nhƣ trên. Theo cơ chế lƣu trữ phân tán, khoá do một nút lƣu trữ lên mạng đƣợc ghi nhận tại một số nút gần với nút tạo ra khoá đó. Nút tạo ra khoá này có xu hƣớng nhận các yêu cầu tìm kiếm hay lƣu trữ với các khoá gần với khoá đó, dẫn tới dần dần chúng sẽ lƣu trữ thông tin về các khoá gần với khoá đó và tạo thành nhóm khoá trong bảng định tuyến xoay quanh khoá mà nút đó đã tạo ra. Tuy nhiên, khi một nút tạo ra nhiều khoá để lƣu trữ, các giá trị khoá có giá trị khác biệt, dẫn tới các yêu cầu tìm kiếm và lƣu trữ mà nút đó nhận đƣợc cũng chứa các khoá có giá trị khác biệt. Nhƣ vậy, các khoá mà nút đó ghi nhận từ các thao tác này cũng sẽ không còn xoay quanh một giá trị nào đó nhƣ khi nút tạo ra ít file. Đó là nguyên nhân dẫn tới việc các nhóm khoá trong bảng định tuyến biến mất khi tải mạng tăng cao.
Câu hỏi các tác giả trong [23] đặt ra là sự biến mất của nhóm cục bộ này trong bảng định tuyến có phải là nguyên nhân chính của việc sụt giảm đáng kể tỷ lệ thành công? Nếu đúng nhƣ vậy, ý tƣởng đƣa ra là cần tạo ra chiến lƣợc quản lý lƣu trữ thay cho LRU với mục đích giữ đƣợc đặc tính nhóm khoá cả khi tải mạng tăng cao và dù hiệu năng của Freenet có suy giảm khi tải mạng tăng cao thì sự suy giảm cũng dễ chấp nhận hơn nhiều.
Hui Zhang và nhóm nghiên cứu [23] đã đề xuất phƣơng pháp lƣu trữ nâng cao nhóm thực hiện theo ý tƣởng này. Chúng ta sẽ thảo luận phƣơng pháp đó trong phần tiếp theo.