/hive-p2p

Simulation framework for the Python programming language specifically targeting the emulation of distributed file systems. Available features favor quick prototyping and ease of use rather than runtime efficiency.

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Hive P2P Simulator

Hive is a simulation framework for Python language that favors quick algorithm implementation for researchers working on topics related to distributed file systems.

We release our program as open-source because we feel like there are few other alternatives for Pythonistas. PeerSim and Peerfact.KOM are both great P2P simulators, but they only support Java. Moreover, many other well-known simulators usually do not support Python as a programming language. An unfortunate fact, seeing that this simple yet powerful language offers some of the best mathematical and data science packages. It is also a possible alternative to the expensive and licensed Matlab.

This project does not focus on time efficiency. It supports at most 10000 network nodes efficiently. However, it is easy to configure, modify, and extend using inheritance and polymorphism features of the Python language. We bundle several classes representing Network Nodes, Master Servers, and Cluster Groups to the users' satisfaction. We believe that data and science should come before programming regarding research, hence our focus on usability rather than pure performance.

The project source code and docstrings follow the conventions enumerated in Google Styles Available. Documentation is also available at our docsite, where a quick-start guide is provided.

Credits:

  • Author and Developer: Francisco Teixeira de Barros from Instituto Superior TĂ©cnico - University of Lisbon
  • Project Coordinatior: Daniel Silvestre from Lisbon Institute for Systems and Robotics