RavSock
RavSock is the second most crucial building block of the framework. It sits between the developer(who create ops and write algorithms) and the contributor who contribute the idle computing power. It facilitates the efficient distribution of ops and the efficient merging of results.
Setup
Installation
Create a virtual environment with Python 3.8 before you install RDF libraries
conda create -n <env_name> python=3.8Clone repository
git clone https://github.com/ravenprotocol/ravsock.gitSet up everything and install dependencies
sh setup.shConfigure Paths
Navigate to ravsock/config.py and set the FTP_ENVIRON_DIR variable to the bin folder of your python virtual environment. For instance:
FTP_ENVIRON_DIR = "~/miniconda/envs/<env_name>/bin"Note: Set ENCRYPTION = True in the same file if a layer of homomorphic encryption needs to be added for Federated Analytics.
Set RDF_DATABASE_URI in the same file.
RDF_DATABASE_URI = "sqlite:///rdf.db?check_same_thread=False"Create database with tables required for the project.
python reset.py The server is now configured correctly and ready to be fired up.
Start Ravsock Server
Ravsock is a crucial component of RDF that facilitates both federated and distributed functionalities of the framework.
It sits between the developer(who creates ops and writes algorithms) and the contributor who contributes the idle computing power. Its scheduling algorithm oversees the distribution and statuses of different Ops, Graphs and Subgraphs across multiple Clients.
python3 run.pyLast updated
Was this helpful?