// Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package scheduler; message Request { int32 node_idx = 1; int32 sample_num = 2; int32 shard_num = 3; int32 node_num = 4; int32 min_ins_num = 5; string date = 6; } message UserList { repeated string uids = 1; repeated float weight = 2; } message Param { string name = 1; repeated float weight = 2; repeated int32 shape = 3; } message GlobalParams { repeated Param global_params = 1; int32 err_code = 2; } message UserInstNum { string uid = 1; int32 inst_num = 2; } message UserInstInfo { repeated UserInstNum inst_nums = 1; int32 shard_num = 2; string date = 3; } message Res { int32 err_code = 1; } message SchedulerServerEmptyInput {} service SchedulerServer { // (Method definitions not shown) rpc SampleUsersToTrain(Request) returns (UserInstInfo) {} rpc FixedUsersToTrain(Request) returns (UserInstInfo) {} rpc GetGlobalParams(Request) returns (GlobalParams) {} rpc UpdateGlobalParams(GlobalParams) returns (Res) {} rpc FedAvgUpdate(GlobalParams) returns (Res) {} rpc UpdateUserInstNum(UserInstInfo) returns (Res) {} rpc Exit(SchedulerServerEmptyInput) returns (Res) {} rpc SampleUsersToTest(Request) returns (UserInstInfo) {} rpc SampleUsersWithHash(Request) returns (UserInstInfo) {} }