MCPcopy Create free account
hub / github.com/dmlc/parameter_server / partitionServerKeyRange

Method partitionServerKeyRange

src/system/postmaster.cc:17–31  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15}
16
17std::vector<Node> Postmaster::partitionServerKeyRange(
18 const std::vector<Node>& nodes, Range<Key> range) {
19 int num_servers = 0;
20 auto ret = nodes;
21 for (const auto& o : ret) {
22 if (o.role() == Node::SERVER) ++ num_servers;
23 }
24 int s = 0;
25 for (auto& o : ret) {
26 auto key = o.role() != Node::SERVER ? range :
27 range.evenDivide(num_servers, s++);
28 key.to(o.mutable_key());
29 }
30 return ret;
31}
32
33std::vector<Node> Postmaster::assignNodeRank(const std::vector<Node>& nodes) {
34 int server_r = 0;

Callers

nothing calls this directly

Calls 4

evenDivideMethod · 0.80
toMethod · 0.80
roleMethod · 0.45
mutable_keyMethod · 0.45

Tested by

no test coverage detected