Define a workload and run the recommender.
Coastline simulates feasible GPU configurations and ranks them by the selected policy.Simulating & ranking...
| # | Layout | Batch | Throughput | Est. time | Energy |
|---|
| ID | Model | GPUs | Batch | Epochs | Duration | Power | Arrival | |
|---|---|---|---|---|---|---|---|---|
| Queue is empty. Add a job above, or import a CSV in admin mode. | ||||||||
Runs the queue on the declared cluster and reports per-job and cluster metrics. CSV import accepts several names for each column.
Pick a configuration and one or more models.
Each model predicts the same config so you can compare them directly.Running each model...
| Model | Throughput | Est. time | Power/GPU | Energy |
|---|
Set the workload: model, fine-tuning method, sequence length, batch, epochs and dataset size. Set the hardware budget as Total GPUs or as Nodes x GPUs / node. Pick a policy: Multi-objective ranks candidates by a weighted mix of throughput and power (presets Balanced, Performance and Energy-saver), and Minimum GPUs returns the fewest GPUs that pass the feasibility check.
The Prediction model estimates throughput and power for each candidate: Kavier (analytical) or one of 10 data-driven models. Cache lookup returns the measured run that matches the workload, and nothing when no run matches.
Recommend configuration builds a grid of feasible candidates, predicts each one, ranks them and shows the top results.
The Schedule button on a row adds that configuration to the workload queue, with Kavier's per-GPU power for the workload. The energy totals use that power.
A queued job has a request ID, an arrival time, a GPU count and a predicted duration, the four fields the FIFO scheduler reads. Add one job with the form, or many with Admin -> Import CSV. Accepted columns: submission_time or arrival_time for the arrival (seconds or ISO timestamps); num_gpus or number_gpus for the GPU count; duration_ms, duration_s or predicted_duration_s for the duration. Optional columns: request_id, llm_model, fine_tuning_method, batch_size, power_watts_per_gpu.
Run cluster (FIFO) runs the queue in strict FIFO order on the declared cluster (see the masthead). A job that needs more GPUs than the cluster has is skipped. The results give each job's duration, wait, completion time and energy, and the cluster's total runtime, average wait, average JCT and total energy. A job's per-GPU power comes from Kavier when its workload is complete, and is 350 W otherwise.
The run also draws the Cluster timeline: GPUs in use over time, with the capacity as a dashed line, above the number of queued jobs. Hover or focus the chart and use the arrow keys to read both at any time.
Pick one configuration and the predictors to compare. Each predictor runs in its own subprocess and reports throughput, runtime, power and energy for that configuration, as one row of the thesis Exp1 comparison.
Requests, queue changes, runs and errors are logged at the bottom of the page with a time and a level (info, ok or err). The log keeps the last 50 entries, and Clear empties it. Banners fade after 5 seconds; their messages stay in the log.
GET /api/health, GET /api/infrastructure,
POST /api/recommend, POST /api/predict,
GET|POST /api/queue, DELETE /api/queue/{id},
POST /api/admin/run, POST /api/admin/import,
POST /api/admin/clear