This commit is contained in:
yy-fighting 2026-07-16 05:18:58 +00:00
commit 8f89cf6dc2
212 changed files with 62 additions and 21 deletions

View File

@ -15,6 +15,12 @@ NUM_PROMPTS_MULTIPLIER="${NUM_PROMPTS_MULTIPLIER:-5}"
TPS_MIN_GAIN_PCT="${TPS_MIN_GAIN_PCT:-2.0}" TPS_MIN_GAIN_PCT="${TPS_MIN_GAIN_PCT:-2.0}"
PLATEAU_PATIENCE="${PLATEAU_PATIENCE:-2}" PLATEAU_PATIENCE="${PLATEAU_PATIENCE:-2}"
# TTFT SLO early-stop settings.
# When ttft_p95_ms exceeds TTFT_SLO_MS, stop searching the current (ISL, OSL)
# shape and move on to the next scenario.
TTFT_SLO_MS="${TTFT_SLO_MS:-4000}"
ENABLE_TTFT_SLO_STOP="${ENABLE_TTFT_SLO_STOP:-1}"
# Keep the same random workload semantics as the fixed matrix baseline. # Keep the same random workload semantics as the fixed matrix baseline.
# DATASET_PATH must contain at least SEARCH_MAX_CONCURRENCY times # DATASET_PATH must contain at least SEARCH_MAX_CONCURRENCY times
# NUM_PROMPTS_MULTIPLIER valid two-turn conversations. Set this explicitly to # NUM_PROMPTS_MULTIPLIER valid two-turn conversations. Set this explicitly to

View File

@ -6,15 +6,15 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")" EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/lib.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/platform.sh" source "${SCRIPT_DIR}/../../../scripts/common/platform.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/config.env" source "${SCRIPT_DIR}/config.env"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/adaptive_config.env" source "${SCRIPT_DIR}/adaptive_config.env"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/adaptive_bench_lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/adaptive_bench_lib.sh"
ENGINE="sglang" ENGINE="sglang"
ENGINE_PORT="$SGLANG_PORT" ENGINE_PORT="$SGLANG_PORT"

View File

@ -6,15 +6,15 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")" EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/lib.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/platform.sh" source "${SCRIPT_DIR}/../../../scripts/common/platform.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/config.env" source "${SCRIPT_DIR}/config.env"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/adaptive_config.env" source "${SCRIPT_DIR}/adaptive_config.env"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/adaptive_bench_lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/adaptive_bench_lib.sh"
ENGINE="sglang" ENGINE="sglang"
ENGINE_PORT="$SGLANG_PORT" ENGINE_PORT="$SGLANG_PORT"

View File

@ -6,9 +6,9 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")" EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/lib.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/platform.sh" source "${SCRIPT_DIR}/../../../scripts/common/platform.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/config.env" source "${SCRIPT_DIR}/config.env"
@ -522,7 +522,7 @@ run_parallel_config() {
# Parse results. # Parse results.
log "parsing ${config_label} results" log "parsing ${config_label} results"
"$PYTHON" "${SCRIPT_DIR}/../../scripts/common/parse_backend.py" "$result_root" --backend sglang \ "$PYTHON" "${SCRIPT_DIR}/../../../scripts/common/parse_backend.py" "$result_root" --backend sglang \
>> "${phase_log_dir}/parse.log" 2>&1 || { >> "${phase_log_dir}/parse.log" 2>&1 || {
log "WARNING: parser failed for ${config_label}; see ${phase_log_dir}/parse.log" log "WARNING: parser failed for ${config_label}; see ${phase_log_dir}/parse.log"
} }

View File

@ -15,6 +15,12 @@ NUM_PROMPTS_MULTIPLIER="${NUM_PROMPTS_MULTIPLIER:-5}"
TPS_MIN_GAIN_PCT="${TPS_MIN_GAIN_PCT:-2.0}" TPS_MIN_GAIN_PCT="${TPS_MIN_GAIN_PCT:-2.0}"
PLATEAU_PATIENCE="${PLATEAU_PATIENCE:-2}" PLATEAU_PATIENCE="${PLATEAU_PATIENCE:-2}"
# TTFT SLO early-stop settings.
# When ttft_p95_ms exceeds TTFT_SLO_MS, stop searching the current (ISL, OSL)
# shape and move on to the next scenario.
TTFT_SLO_MS="${TTFT_SLO_MS:-4000}"
ENABLE_TTFT_SLO_STOP="${ENABLE_TTFT_SLO_STOP:-1}"
# Keep the same random workload semantics as the fixed matrix baseline. # Keep the same random workload semantics as the fixed matrix baseline.
# DATASET_PATH must contain at least SEARCH_MAX_CONCURRENCY times # DATASET_PATH must contain at least SEARCH_MAX_CONCURRENCY times
# NUM_PROMPTS_MULTIPLIER valid two-turn conversations. Set this explicitly to # NUM_PROMPTS_MULTIPLIER valid two-turn conversations. Set this explicitly to

View File

@ -18,7 +18,7 @@ def load_result(result_root: Path) -> dict:
def slo_status(ttft_p95_ms: float, tpot_mean_ms: float, def slo_status(ttft_p95_ms: float, tpot_mean_ms: float,
ttft_limit_ms: float = 3000.0, tpot_limit_ms: float = 50.0) -> str: ttft_limit_ms: float = 4000.0, tpot_limit_ms: float = 50.0) -> str:
ttft_ok = ttft_p95_ms < ttft_limit_ms ttft_ok = ttft_p95_ms < ttft_limit_ms
tpot_ok = tpot_mean_ms < tpot_limit_ms tpot_ok = tpot_mean_ms < tpot_limit_ms
if ttft_ok and tpot_ok: if ttft_ok and tpot_ok:
@ -42,7 +42,7 @@ def main():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument("--run-root", type=Path, required=True) parser.add_argument("--run-root", type=Path, required=True)
parser.add_argument("-o", "--output", type=Path, default=Path("comparison.md")) parser.add_argument("-o", "--output", type=Path, default=Path("comparison.md"))
parser.add_argument("--ttft-limit", type=float, default=3000.0) parser.add_argument("--ttft-limit", type=float, default=4000.0)
parser.add_argument("--tpot-limit", type=float, default=50.0) parser.add_argument("--tpot-limit", type=float, default=50.0)
args = parser.parse_args() args = parser.parse_args()

View File

@ -6,15 +6,15 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")" EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/lib.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/platform.sh" source "${SCRIPT_DIR}/../../../scripts/common/platform.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/config.env" source "${SCRIPT_DIR}/config.env"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/adaptive_config.env" source "${SCRIPT_DIR}/adaptive_config.env"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/adaptive_bench_lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/adaptive_bench_lib.sh"
ENGINE="vllm" ENGINE="vllm"
ENGINE_PORT="$VLLM_PORT" ENGINE_PORT="$VLLM_PORT"

View File

@ -6,15 +6,15 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")" EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/lib.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/platform.sh" source "${SCRIPT_DIR}/../../../scripts/common/platform.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/config.env" source "${SCRIPT_DIR}/config.env"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/adaptive_config.env" source "${SCRIPT_DIR}/adaptive_config.env"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/adaptive_bench_lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/adaptive_bench_lib.sh"
ENGINE="vllm" ENGINE="vllm"
ENGINE_PORT="$VLLM_PORT" ENGINE_PORT="$VLLM_PORT"

View File

@ -6,9 +6,9 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")" EXPERIMENT_NAME="$(basename "$SCRIPT_DIR")"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/lib.sh" source "${SCRIPT_DIR}/../../../scripts/common/lib.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/../../scripts/common/platform.sh" source "${SCRIPT_DIR}/../../../scripts/common/platform.sh"
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${SCRIPT_DIR}/config.env" source "${SCRIPT_DIR}/config.env"
@ -512,7 +512,7 @@ run_parallel_config() {
# Parse results. # Parse results.
log "parsing ${config_label} results" log "parsing ${config_label} results"
"$PYTHON" "${SCRIPT_DIR}/../../scripts/common/parse_backend.py" "$result_root" --backend vllm \ "$PYTHON" "${SCRIPT_DIR}/../../../scripts/common/parse_backend.py" "$result_root" --backend vllm \
>> "${phase_log_dir}/parse.log" 2>&1 || { >> "${phase_log_dir}/parse.log" 2>&1 || {
log "WARNING: parser failed for ${config_label}; see ${phase_log_dir}/parse.log" log "WARNING: parser failed for ${config_label}; see ${phase_log_dir}/parse.log"
} }

Some files were not shown because too many files have changed in this diff Show More