Metrics¶
Virne records both per-event data and run-level summaries. This page connects
the benchmark definitions to the fields that users will find in
summary.csv.
Metric Schema Versions¶
New runs use metrics.schema_version: 2. In schema 2, node demand, revenue,
and cost are the sum of every configured node-resource dimension, matching the
link-resource aggregation and the physical resources consumed during
deployment. Historical configurations that omit metrics.schema_version
continue to use schema 1, which divides the node-resource sum by the number of
node-resource attributes. Both per-event records and summary.csv include
metric_schema_version so results with different semantics are not compared
silently.
Core Metrics¶
Request Acceptance Rate (RAC)¶
RAC is the fraction of arriving VN requests that are embedded successfully:
Here, \(\mathcal{I}(t)\) is the set of requests arriving at time
\(t\), and \(\tilde{\mathcal{I}}(t)\) is the accepted subset. Virne
stores RAC as acceptance_rate in the range \([0, 1]\); multiply it by
100 to report a percentage.
Long-term Revenue-to-Cost Ratio (LRC)¶
LRC compares the lifetime-weighted revenue of accepted requests with their lifetime-weighted physical resource cost:
The corresponding summary field is long_term_time_r2c_ratio. Virne also
exports long_term_r2c_ratio, which omits request lifetime weighting, and
avg_r2c_ratio, which averages the per-request ratios. These fields answer
different questions and should not be used interchangeably. All three ratio
fields are stored as fractions; multiply by 100 when reporting a percentage.
Long-term Average Revenue (LAR)¶
LAR is lifetime-weighted revenue per unit of simulated time:
This is exported as long_term_avg_time_revenue. The additional field
long_term_avg_revenue uses unweighted revenue divided by simulated time.
Average Solving Time (AST)¶
AST measures the mean time spent by a solver on one VN request. The current
summary.csv does not export a solver-only AST field. It does export
clock_running_time, which measures wall-clock time for the complete run and
therefore includes framework, recording, and data-generation overhead. Treat
it as end-to-end runtime, not as AST.
Summary Field Reference¶
Quantity |
|
Interpretation |
|---|---|---|
Request acceptance rate |
|
Accepted requests divided by arrived requests; stored as a fraction. |
Lifetime-weighted LRC |
|
Lifetime-weighted revenue divided by lifetime-weighted cost. |
Unweighted long-term R2C |
|
Total revenue divided by total cost. |
Mean instance R2C |
|
Mean of the per-request |
Lifetime-weighted LAR |
|
Lifetime-weighted revenue per unit of simulated time. |
Unweighted average revenue |
|
Total unweighted revenue per unit of simulated time. |
End-to-end runtime |
|
Wall-clock seconds for the complete run; not solver-only AST. |
Metric schema |
|
Resource aggregation semantics used by the run (1 or 2). |
Failed requests |
|
Arrived requests that were not accepted. |
Failure breakdown |
|
Mutually exclusive categories whose sum equals |
Output Files¶
Each run normally contains:
config.yaml: the resolved configuration needed to interpret or reproduce the run.summary.csv: one row of run-level metrics and experiment metadata.records/*.csv: per-event state, solution, feasibility, resource, and reward fields.
When an existing aggregate solver_summary.csv or global_summary.csv
uses an older column layout, Virne preserves it and writes the new rows to a
-metrics-vN.csv file instead of mixing incompatible schemas.
The Quickstart shows the default output layout. For fair comparisons, keep the PN/VN settings and seeds fixed, report whether ratios are lifetime weighted, and distinguish simulated time from wall-clock runtime.