Cộng đồng nghiên cứu sử dụng khá nhiều simulator khác nhau, có simulator đang được phát triển, có simulator không được phát triển tiếp.
Simulator Ngôn ngữ Trạng thái License
P2PSim C++ Active GPL
PeerSim Java Active LGPL
Query-Cycle Simulator
Java Inactive Apache
Narses Java Inactive GPL-like
Neurogrid Java Inactive GPL
GPS Java Inactive Open-Source, No
License
Overlay Weaver Java Active Apache
DHTSim Java Active GPL
PlanetSim Java Active LGPL
Bảng 1.1. Trạng thái phát triển của các simulator
Đặc điểm của các simulator như sau:
Simulator Kiến trúc Tính dễ dùng Tính khả mở (max nodes)
P2PSim Discrete-event cho mạng P2P có cấu trúc Rất ít tài liệu 3000 nodes PeerSim Query-Cycle hoặc Discrete-event cho mạng không cấu trúc. Có thể mô phỏng node joining, departing và failing. Chỉ có mô phỏng Query-Cycle là có tài liệu 106 node Narses Discrete-event, flow-based topology có thểđiều chỉnh
600 node, tùy thuộc vào topology bên dưới
600 node
một số giải thuật cho structured overlay
mã nguồn tốt
PlanetSim Mô phỏng discrete- event, sử dụng API chung.
Có tài liệu về thiết kế và API
100 000 node
Neurogrid Discrete-event cho mạng không có cấu trúc, có thể chỉnh sửa để sử dụng cho mạng có cấu trúc Có tài liệu mở rộng trên web 300 000 node
Simulator Thống kê Underlying network P2PSim Cung cấp một lượng hữu hạn
thống kê.
end-to-end time graph, G2 graph, GT-ITM, random, và Euclidean
PeerSim Có thể cài đặt các component
để thống kê dữ liệu
Không được mô hình hóa
Narses Có hỗ trợ nhưng phải cài đặt Một số topology
Overlay Weaver Không thể thu thập thống kê Không được mô hình hóa
PlanetSim Không có cơ chế thu thập thống kê nhưng có thể xem trực quan
Một số ít topology
Neurogrid Cần sửa mã nguồn Không được mô hình hóa
Bảng 1.2. Đặc điểm của các simulator
1.4.2. P2PSim
P2PSim là phần mềm mã nguồn mở, đa tiến trình, discrete event để mô phỏng mạng overlay có cấu trúc do một nhóm nghiên cứu mạng p2p tại MIT phát triển. P2PSim được nhiều nhóm nghiên cứu sử dụng để nghiên cứu DHT.
P2PSim hỗ trợ đến mô phỏng mạng với số node tối đa là 3000, với nhiều topology khác nhau như end-to-end time graph, G2 graph, GT-ITM, random, và Euclidean. Tuy nhiên tài liệu về P2PSim rất hạn chế.
Luận văn này sử dụng P2PSim để mô phỏng và đánh giá, so sánh hiệu năng giữa các DHT.