# PD 分离(MoonCake RDMA)长上下文 adaptive concurrency 配置。 # # 并发搜索:从 C=16 起 +16 递增(SEARCH_ADDEND=16),上限 64。 # SEARCH_MULTIPLIER 为占位(库日志无条件引用它),实际走 SEARCH_ADDEND 加法递增。 # 若初始并发就违反 TTFT SLO,回退 C=8 → C=1(SEARCH_INITIAL_BACKOFF)。 # 若 C=1 仍严重超 SLO 或 OOM,停止该 shape。 # SLO 方案 A:TTFT P95 随 ISL 分层递增(见 config.env 的 get_ttft_slo_ms)。 SEARCH_MULTIPLIER="${SEARCH_MULTIPLIER:-2}" SEARCH_START_CONCURRENCY="${SEARCH_START_CONCURRENCY:-16}" SEARCH_ADDEND=16 SEARCH_MAX_CONCURRENCY="${SEARCH_MAX_CONCURRENCY:-64}" # add16 初始探测违反 SLO 时回退:16 -> 8 -> 1。 SEARCH_INITIAL_BACKOFF_CONCURRENCIES="8 1" # 长上下文场景不用整组跳过(64k 单并发 TTFT 可能就较高)。 # TTFT_GROUP_SKIP_MS 留空禁用。 # TTFT_SLO_MS 是 flat fallback;config.env 定义了 get_ttft_slo_ms() 时以函数为准。 TTFT_SLO_MS="${TTFT_SLO_MS:-4000}" ENABLE_TTFT_SLO_STOP="${ENABLE_TTFT_SLO_STOP:-1}" # 吞吐饱和判定(沿用仓库默认)。 TPS_MIN_GAIN_PCT="${TPS_MIN_GAIN_PCT:-2.0}" PLATEAU_PATIENCE="${PLATEAU_PATIENCE:-2}" # Warmup 请求数上限(0=不限,按并发自适应)。长上下文大并发 warmup 昂贵,可设小上限。 BENCH_WARMUP_MAX_REQUESTS="${BENCH_WARMUP_MAX_REQUESTS:-0}" # 每并发点的请求数 = concurrency * NUM_PROMPTS_MULTIPLIER。 NUM_PROMPTS_MULTIPLIER="${NUM_PROMPTS_MULTIPLIER:-5}" # random 数据(ShareGPT 抽样)或 random-ids(整数 token)。长上下文建议 random-ids # 避免 ShareGPT 前缀干扰测量;BENCH_DATASET_NAME 见 config.env。 RANDOM_RANGE_RATIO="${RANDOM_RANGE_RATIO:-1.0}" # 长度容差与重试。 INPUT_LENGTH_TOLERANCE_PCT="${INPUT_LENGTH_TOLERANCE_PCT:-5.0}" OUTPUT_LENGTH_TOLERANCE_PCT="${OUTPUT_LENGTH_TOLERANCE_PCT:-10.0}" MAX_POINT_RETRIES="${MAX_POINT_RETRIES:-1}" SCENARIO_TIMEOUT_S="${SCENARIO_TIMEOUT_S:-3600}" GPU_MEM_SAMPLE_INTERVAL_S="${GPU_MEM_SAMPLE_INTERVAL_S:-1}" # 过滤与限制(smoke 用)。 TP_LIST="${TP_LIST:-}" ISL_LIST="${ISL_LIST:-}" OSL_LIST="${OSL_LIST:-}" GRID_LIMIT="${GRID_LIMIT:-0}" DRY_RUN="${DRY_RUN:-0}"