New Release Announcement: Selective Participation
We are excited to announce a new iteration of Ravenverse!! In this release, our primary focus has been on Selective Participation.
The previous releases of Ravenverse and its supporting libraries relied on the fact that providers can connect to the network any time they wish and if any ongoing requester graphs are being executed at the moment, they will instantly participate and start receiving computations. However, this approach has some caveats. For instance, we observed that if there are no available pending requester graphs in our network, there is practically no point for providers to keep their systems up and running since they won’t be receiving any computations. Also, it was not guaranteed that all providers in our network will definitely receive computations if one requester were to execute their graph. In order to fix these shortcomings of our network, we are introducing a new paradigm in this release — Selective Participation.
Release Notes
Provider side changes (Ravpy v0.16):
https://pypi.org/project/ravpy/
1. Providers must now manually participate in a specific graph. This means that providers no longer need to keep their systems running and wait indefinitely to receive computations. The list of available graphs for computation can be checked by a provider by running the Provider/list_available_graphs.py in the Ravenverse repository.
2. A graph starts execution when its required number of participants is met. The table will show a bunch of information about each graph including System Requirements, Minimum Stake Required, current Active Participants, and the total number of Required Participants in the graph. Before participating in a graph, Providers must ensure that their system meets the system requirements of that specific graph and they must have enough tokens in their ravenverse account to stake.
3. Along with their earnings, the staked amount will be returned back to the provider once they have successfully computed their share of subgraphs and returned back the computation results. However, A portion of the staked amount will be deducted as a penalty if the Provider disconnects from the network before computing all of their share of subgraphs.
4. Once all computations of a Provider are successfully completed, they will automatically get disconnected from the network and are again free to participate in any other new graph. They can also check their earnings on their ravenverse website dashboard.
5. Quality of life improvements like Upload/Download progress bars.
6. Improvements to the benchmarking procedure by utilizing a dummy torch model.
Requester side changes (Ravop v0.12): https://pypi.org/project/ravop/
7. After the compilation of their graph, requesters will now be shown the cost of the graph and the maximum number of allowable participants (providers).
8. The requester must set a required number of participants in the execute function.
9. Once the graph reaches the execution stage, this number of required participants and currently active participants will be broadcasted to all Providers who wish to participate.
We have included helper codes in our Ravenverse GitHub Repository for Requesters and Providers.
Ravenverse GitHub: https://github.com/ravenprotocol/ravenverse
You can find the documentation for each library in the respective repo Readme files. Please try them out and let us know if you run into any problems.
Raven Protocol GitHub: https://github.com/ravenprotocol
Enjoy the new release! ❤️
— The Raven Protocol Team
OFFICIAL CHANNELS:
Official Email Address: founders@ravenprotocol.com
Official Website Link: http://www.RavenProtocol.com
Official Announcement Channel: https://t.me/raven_announcements
Official Telegram Group: https://t.me/ravenprotocol
Official Twitter: https://twitter.com/raven_protocol
Official Medium: https://medium.com/ravenprotocol
Official LinkedIn: https://linkedin.com/company/ravenprotocol
Official Github: https://www.github.com/ravenprotocol
Official Substack: https://ravenprotocol.substack.com
Official Discord: https://discord.gg/Njq8QxYUKR