File size: 7,099 Bytes
0c6c82c
 
94910ac
d2258e5
 
94910ac
 
 
 
 
 
 
8f91935
b799d1d
8f91935
b799d1d
 
8f91935
 
 
 
44745f2
9916edb
 
 
0c6c82c
ce2d64b
0c6c82c
 
 
 
 
 
 
 
44745f2
ce2d64b
0c6c82c
94910ac
 
 
d2258e5
94910ac
8f91935
 
b799d1d
8f91935
9916edb
0c6c82c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44745f2
 
 
 
 
 
 
ce2d64b
 
 
 
 
 
 
 
e5c4ee4
 
 
 
 
 
94910ac
 
 
 
 
 
d2258e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8f91935
 
 
 
 
 
 
 
b799d1d
 
 
 
 
 
ce2d64b
 
 
 
 
 
 
 
9916edb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0c6c82c
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
from __future__ import annotations

from .agentic import (
    adaptive_alpha_sweep,
    adaptive_tiering_study,
    agent_affinity_sweep,
    agent_memory_budget_sweep,
    compare_agent_memory_policies,
    compare_agent_policies,
    run_agent_session_simulation,
    ttl_retention_sweep,
)
from .execution import (
    execution_budget_sweep,
    execution_decay_sweep,
    execution_horizon_sweep,
    execution_planning_study,
    execution_prefetch_study,
    execution_threshold_sweep,
    run_execution_learning,
)
from .optimizer import capacity_search, compare_schedulers, compare_topologies, design_space_search
from .consolidation import repeated_seed_policy_study
from .measurements import calibrate_measurements, import_measurements
from .reports import generate_research_report
from .profiles import ACCELERATORS, MODELS
from .research import STUDIES, paired_study, robustness_study
from .simulator import SCHEDULERS, run_simulation


def metadata() -> dict:
    return {
        "models": list(MODELS.keys()),
        "accelerators": list(ACCELERATORS.keys()),
        "schedulers": sorted(SCHEDULERS),
        "topologies": ["colocated", "disaggregated_pd"],
        "research_studies": STUDIES,
        "profile_type": "analytical-reference",
        "agentic_modes": [
            "session_simulation", "policy_compare", "ttl_sweep",
            "memory_policy_compare", "memory_budget_sweep", "affinity_sweep",
            "predictive_tiering", "adaptive_alpha_sweep",
        ],
        "execution_learning_modes": [
            "single_run", "prefetch_policy_compare", "confidence_threshold_sweep", "transition_decay_sweep",
            "multistep_planning", "forecast_horizon_sweep", "cache_budget_policy_sweep",
        ],
        "consolidation_modes": ["repeated_seed_policy_study", "measurement_import", "heldout_calibration", "markdown_report"],
    }


def execute(action: str, payload: dict) -> dict:
    if action == "simulate":
        return run_simulation(payload)
    if action == "capacity":
        config = payload.get("config", payload)
        return capacity_search(
            config,
            min_rate=float(payload.get("min_rate", 0.25)),
            max_rate=float(payload.get("max_rate", 32.0)),
            iterations=int(payload.get("iterations", 8)),
            repetitions=int(payload.get("repetitions", 2)),
            headroom=float(payload.get("headroom", 0.20)),
        )
    if action == "compare":
        config = payload.get("config", payload)
        return compare_schedulers(config, payload.get("schedulers"))
    if action == "topology_compare":
        config = payload.get("config", payload)
        return compare_topologies(config)
    if action == "design_space":
        config = payload.get("config", payload)
        return design_space_search(config, bool(payload.get("include_disaggregated", True)))
    if action == "paired_study":
        config = payload.get("config", payload)
        return paired_study(
            config,
            study=str(payload.get("study", "prefix_cache")),
            repetitions=int(payload.get("repetitions", 12)),
            bootstrap_samples=int(payload.get("bootstrap_samples", 500)),
        )
    if action == "agent_simulate":
        return run_agent_session_simulation(payload.get("config", payload))
    if action == "agent_compare":
        return compare_agent_policies(payload.get("config", payload))
    if action == "agent_ttl_sweep":
        return ttl_retention_sweep(payload.get("config", payload), payload.get("ttl_values"))
    if action == "agent_memory_compare":
        return compare_agent_memory_policies(payload.get("config", payload))
    if action == "agent_memory_sweep":
        return agent_memory_budget_sweep(payload.get("config", payload), payload.get("budget_multipliers"))
    if action == "agent_affinity_sweep":
        return agent_affinity_sweep(payload.get("config", payload), payload.get("slack_values_ms"))
    if action == "agent_predictive_tiering":
        return adaptive_tiering_study(
            payload.get("config", payload),
            horizon_s=float(payload.get("horizon_s", 120.0)),
            shift_fraction=float(payload.get("shift_fraction", 0.55)),
            shift_multiplier=float(payload.get("shift_multiplier", 2.5)),
            alpha=float(payload.get("alpha", 0.30)),
        )
    if action == "agent_adaptive_alpha_sweep":
        return adaptive_alpha_sweep(
            payload.get("config", payload),
            payload.get("alpha_values"),
            horizon_s=float(payload.get("horizon_s", 120.0)),
            shift_fraction=float(payload.get("shift_fraction", 0.55)),
            shift_multiplier=float(payload.get("shift_multiplier", 2.5)),
        )
    if action == "execution_learning_run":
        return run_execution_learning(payload.get("config", payload))
    if action == "execution_prefetch_study":
        return execution_prefetch_study(payload.get("config", payload))
    if action == "execution_threshold_sweep":
        return execution_threshold_sweep(payload.get("config", payload), payload.get("thresholds"))
    if action == "execution_decay_sweep":
        return execution_decay_sweep(payload.get("config", payload), payload.get("decay_values"))
    if action == "execution_planning_study":
        return execution_planning_study(payload.get("config", payload))
    if action == "execution_horizon_sweep":
        return execution_horizon_sweep(payload.get("config", payload), payload.get("horizon_values"))
    if action == "execution_budget_sweep":
        return execution_budget_sweep(payload.get("config", payload), payload.get("budget_values"))
    if action == "robustness_study":
        config = payload.get("config", payload)
        return robustness_study(
            config,
            study=str(payload.get("study", "pd_vs_colocated")),
            samples=int(payload.get("samples", 32)),
            uncertainty=float(payload.get("uncertainty", 0.20)),
        )
    if action == "consolidation_study":
        return repeated_seed_policy_study(
            payload.get("config", payload),
            repetitions=int(payload.get("repetitions", 12)),
            bootstrap_samples=int(payload.get("bootstrap_samples", 600)),
        )
    if action == "measurement_import":
        return import_measurements(
            str(payload.get("content", "")),
            source=str(payload.get("source", "auto")),
            base_config=payload.get("base_config"),
        )
    if action == "measurement_calibrate":
        return calibrate_measurements(
            payload.get("cases", []),
            holdout_fraction=float(payload.get("holdout_fraction", 0.33)),
            seed=int(payload.get("seed", 7)),
        )
    if action == "research_report":
        return {
            "markdown": generate_research_report(payload.get("robust", {}), payload.get("calibration")),
            "filename": "inferscale-research-consolidation.md",
        }
    if action == "metadata":
        return metadata()
    raise ValueError(f"Unknown action: {action}")