This is the home of SSSim, the Simple & Scalable Simulator for P2P scheduling algorithms.

The Simulator

Actually, SSSim is not a real event-based simulator, but a tool for comparing the schedules generated by different chunk/peer selection algorithms (called "chunk scheduling algorithms" and "peer scheduling algorithms" in SSSim). To simplify such comparisons and to make the schedules easier to predict/analyse, SSSim is based on some simplifying assumptions [see details].

SSSim can generate a trace showing the chunks exchanged between peers at each time unit.

More details about SSSim can be found in a Technical Report.


Compiling and Using:

To compile the simulator, just type "make" and a "sssim" executable should be built. To build the simulator with different scheduling algorithms, you can use the "PEER_SCHED" and "CHUNK_SCHED" variables: for example, "make CHUNK_SCHED=latest_blind_chunk". To remove the playout delay (and limited-size chunk buffer), compile with the "NO_BUFF" variable defined: for example, "make NO_BUFF=YesPlease". The program accepts a "-n " option to set the number of peers (100 is the default), while the number of chunks to send can be specified using the "-c " option. The complete syntax for the sssim program can be asked using the "-h" (help) command line option.

Assumptions and Constraints:

How it Works:

Based on the assumptions highlighted above, at every time unit: