Implement load balancing #2
Owner
- k-chocies load balancing
- for storage nodes (balancing stored posts)
- for relay nodes (balancing and dynamic accounting of bandwidth/ processing queue size)
- k-chocies load balancing
- [ ] for storage nodes (balancing stored posts)
- [ ] for relay nodes (balancing and dynamic accounting of bandwidth/ processing queue size)
basic functionality
label
Initial packaging as a Cabal package, in preparation for #2
- also restructures shell.nix to parse cabal file instead of directly
specifying dependencies
restructure tests
contributes to #2
tests for NodeID ordering and NodeState creation #2
more tests #2
NodeCache: write tests for lookup (#2)
write tests for (local) cache lookup on queries
#2
advanced features
DHT
labels
data structure for RealNode holds common config and management data
contributes to #56, #34, #2
calculate service load rates, interface for querying loads
- define data type for load representation
- this representation can be queried from any Service (closes #72)
- loads are periodically calculated from measured rates (contributes to #2)
send load query request, parse result and represent it
- sending side of #71
- introduces SegmentLoadStats to hold the response data
- contributes to #2
include target ID in request to address individual vserver
- necessary for dispatching the request to a certain vserver
- also refactored request sending to use a common `mkRequest`
- contributes to #2
respond to QueryLoad requests
closes #71
closes #72
contributes to #2
add runtime flag for enabling k-choices or not
any value except "off" means on
contributes to #2
implement k-choices join functions
large commit, contains a number of things:
- k-choices #2 cost calculation
- k-choices parameters
- adjusting ASN.1 network messages to contain all values required for
cost calculation #71
- adjusting stats to contain required values
- k-choices node and vserver join functions
- placeholder/ dummy invocation of k-choices join
integrate k-choices into `tryBootstrapJoin` flow
part of #2
doesn't compile due to type mismatches fixed in next commit
integrate k-choices into `tryBootstrapJoin` flow
part of #2
bootstrapQueryID: try all possible node IDs of a bootstrap node
- when k-choices (#2) joining, try addressing each possible node ID of
the bootstrap node until success
- bugfix: include correct target ID of node that shall respond in
QueryID requests
bootstrapQueryID: try all possible node IDs of a bootstrap node
- closes #77
- when k-choices (#2) joining, try addressing each possible node ID of
the bootstrap node until success
- bugfix: include correct target ID of node that shall respond in
QueryID requests
Labels
No labels
ActivityPub
advanced features
basic functionality
bug
DHT
evaluation
refactoring
security
test case
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: schmittlauch/Hash2Pub#2
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?