-
Notifications
You must be signed in to change notification settings - Fork 296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] Parent selection based on node state awareness #3713
Comments
actions:
|
Impressive design! |
Your suggestion is very good. But we believe that. Firstly, the node state data (such as real-time bandwidth) that our method relies on requires strong real-time performance, which may not be achievable if collected using OpenTelemetry. Secondly, our approach is the basic functionality of dragonfly, and using OpenTelemetry may lead to excessive dependency issues in the project. |
Introduction
Feature request:
Dragonfly is an efficient, stable, and secure file distribution and image acceleration tool based on P2P. However, currently the Parent selection method for downloading Dragonfly file pieces is based on the FCFS method (i.e., a certain Piece Metadata is obtained from which Parent first, and the corresponding Piece is downloaded from that Parent). This node selection method cannot dynamically perceive changes in Parent node state (network bandwidth, disk IO) and cannot fully utilize bandwidth resources.
Therefore, I propose a download node selection method based on Parent state awareness, which will be introduced in detail below.
Use case:
UI Example:
Design
Architecture
The following is the overall architecture diagram of the design, mainly including ParentStateSyncer, ParentStateServer and PieceCollector are three parts.
Modules
Download Process
Node Selection Method
Configuration
API Definition
The text was updated successfully, but these errors were encountered: