Skip to content

Commit 9782553

Browse files
Kang-Mengliutongxuan
authored andcommitted
feat: add roundrobin policy.
1 parent 45c28cd commit 9782553

25 files changed

+429
-123
lines changed

xllm_service/common/global_gflags.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,9 @@ DEFINE_int32(idle_timeout_s,
7878
"Connection will be closed if there is no "
7979
"read/write operations during the last `idle_timeout_s'");
8080

81-
DEFINE_string(disagg_pd_policy, "RR", "Disaggregated prefill-decode policy.");
81+
DEFINE_string(load_balance_policy,
82+
"RR",
83+
"Disaggregated prefill-decode policy.");
8284

8385
DEFINE_int32(detect_disconnected_instance_interval,
8486
15,

xllm_service/common/global_gflags.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ DECLARE_int32(max_concurrency);
5353

5454
DECLARE_string(etcd_addr);
5555

56-
DECLARE_string(disagg_pd_policy);
56+
DECLARE_string(load_balance_policy);
5757

5858
DECLARE_int32(detect_disconnected_instance_interval);
5959

xllm_service/common/types.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ struct HttpServiceConfig {
4545

4646
struct RpcServiceConfig {
4747
std::string etcd_addr = "";
48-
std::string disagg_pd_policy = "";
48+
std::string load_balance_policy = "";
4949
int detect_disconnected_instance_interval = 15; // seconds
5050
std::string service_name = "";
5151
};
@@ -163,6 +163,8 @@ struct InstanceMetaInfo {
163163
// latest heatbeat timestamp
164164
uint64_t latest_timestamp = 0;
165165

166+
uint64_t instance_index = -1;
167+
166168
nlohmann::json serialize_to_json() const {
167169
nlohmann::json json_val;
168170
json_val["name"] = name;

xllm_service/master.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Master::Master(const ServerOptions& server_options)
3131
}
3232
RpcServiceConfig rpc_config;
3333
rpc_config.etcd_addr = server_options.etcd_addr;
34-
rpc_config.disagg_pd_policy = server_options.disagg_pd_policy;
34+
rpc_config.load_balance_policy = server_options.load_balance_policy;
3535
rpc_config.detect_disconnected_instance_interval =
3636
server_options.detect_disconnected_instance_interval;
3737

@@ -213,7 +213,7 @@ int main(int argc, char* argv[]) {
213213
server_options.rpc_num_threads = FLAGS_rpc_server_num_threads;
214214
server_options.rpc_max_concurrency = FLAGS_rpc_server_max_concurrency;
215215
server_options.etcd_addr = FLAGS_etcd_addr;
216-
server_options.disagg_pd_policy = FLAGS_disagg_pd_policy;
216+
server_options.load_balance_policy = FLAGS_load_balance_policy;
217217
server_options.detect_disconnected_instance_interval =
218218
FLAGS_detect_disconnected_instance_interval;
219219
server_options.enable_request_trace = FLAGS_enable_request_trace;

xllm_service/master.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ struct ServerOptions {
4343
int32_t rpc_num_threads = 32;
4444
int32_t rpc_max_concurrency = 128;
4545
std::string etcd_addr = "";
46-
std::string disagg_pd_policy = "RR";
46+
std::string load_balance_policy = "RR";
4747
int32_t detect_disconnected_instance_interval = 15;
4848
int32_t block_size = 16;
4949
std::string model_type = "chatglm";

xllm_service/rpc_service/CMakeLists.txt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,28 @@
11
include(cc_binary)
22
include(cc_library)
33
include(cc_test)
4+
add_subdirectory(etcd_client)
5+
add_subdirectory(managers)
46
add_subdirectory(loadbalance_policy)
57

68
cc_library(
79
NAME
810
xllm_rpc_service
911
HDRS
1012
scheduler.h
11-
etcd_client.h
12-
instance_mgr.h
13-
global_kvcache_mgr.h
1413
response_handler.h
1514
service.h
1615
SRCS
1716
scheduler.cpp
18-
etcd_client.cpp
19-
instance_mgr.cpp
20-
global_kvcache_mgr.cpp
2117
response_handler.cpp
2218
service.cpp
2319
DEPS
2420
:common
21+
:etcd_client
22+
:managers
2523
:loadbalance_policy
2624
absl::random_random
2725
absl::strings
28-
cpprest
29-
etcd-cpp-api
3026
glog::glog
3127
nlohmann_json::nlohmann_json
3228
proto::proto_rpc_service
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
include(cc_library)
2+
include(cc_test)
3+
4+
cc_library(
5+
NAME
6+
etcd_client
7+
HDRS
8+
etcd_client.h
9+
SRCS
10+
etcd_client.cpp
11+
DEPS
12+
:common
13+
cpprest
14+
etcd-cpp-api
15+
glog::glog
16+
nlohmann_json::nlohmann_json
17+
)

xllm_service/rpc_service/loadbalance_policy/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@ cc_library(
77
loadbalance_policy
88
HDRS
99
loadbalance_policy.h
10+
round_robin.h
11+
cache_aware_routing.h
1012
SRCS
11-
loadbalance_policy.cpp
13+
round_robin.cpp
14+
cache_aware_routing.cpp
1215
DEPS
1316
:common
17+
:managers
1418
)

0 commit comments

Comments
 (0)