At a glance
Chakra mapping files can now declare the fabric of each scale-up group, including an optical circuit switch fabric with several planes. The Chakra workload model moves to 4.1.0 to configure it. The Chakra mapping file generator is now documented as part of the platform’s Chakra toolkit. Other changes:- Logs during a run. Simulation logs can be read while a simulation on the optimized execution path is still running.
- Clearer failure reasons. They now name out-of-memory failures, the simulator’s own fatal error, and exhausted cloud capacity.
- Topology report. It names each component’s POD and rack, and each link’s plane and scale-up group.
- Corrections. Several reports and multi-process timing are corrected; see the note below.
- API specification.
workloadMetadatais fully described, and a public OpenAPI file is published with the documentation. - Security. The release includes security updates.
The simulator software version stays at 4.8.1. The simulator build in this release carries the corrections listed below.
Some results change in this release. Check these before comparing runs with 0.1.2376:No defaults change. The new Chakra workload 4.1.0 settings apply only to optical scale-up groups.
- Multi-process simulations are now reproducible. Messages between simulator processes that arrive at the same simulated time are now handled in a fixed order, so repeated runs of a configuration give the same results. Runs spread across several simulator processes can differ slightly from earlier releases.
- Scale-up timing across simulator processes is corrected. A scale-up packet whose receiver ran in another simulator process arrived late, by the topology’s largest link delay. Two concurrent transfers between the same pair of ranks could also corrupt each other. Runs whose scale-up groups span simulator processes now give different, correct results.
- The
application-reportDSCP column is corrected. It reported the low six bits of the QoS byte instead of the DSCP value.global-sim-reporttier totals are corrected. ECN and PFC totals for components outside the named tiers are now counted underother.- Chakra traces with an unroutable send or receive now fail. Previously those operations were dropped silently, and the run could complete without that traffic.
topology-reportgains eight columns at the end of each row. Existing columns do not move.
Customer-reported issues resolved
WorkloadMetadata missing from the OpenAPI specification
workloadMetadata on POST /api/v1/tracesets/upload-url is now fully described in the API specification. The request refers to UploadWorkloadMetadata, which defines:
shape.rankCount;- the parallelism degrees
dp,tp,sp,epandpp, throughWorkloadShapeandWorkloadParallelism.
- each parallelism degree, including
cpandfsdp, which are not factors of the rank count; - the rank-count rules;
- the descriptive members you can add.
api-reference/openapi.json. It covers the public operations.
Typed scale-up fabrics and optical circuit switching
A Section II row of a Chakra mapping file can now name the fabric of its scale-up group and the number of planes it has:TypeisEPSorOCS-XBar, an optical circuit switch crossbar.NumOfPlanesis from 1 to 64. The group’s bandwidth is divided across its planes, and it must divide byNumOfPlaneswith no remainder.- Planes are set in the trace. Every scale-up send and receive of a typed group carries a
scale_up_planeattribute that selects its plane, from 1 toNumOfPlanes. It is written as a JSON integer underuint64Val. The guide shows the exact form. - On an
OCS-XBarplane, a transfer first obtains a circuit to its receiver from the fabric’s optical circuit controller. A plane carries traffic to one receiver at a time. Later transfers to the same receiver use the circuit while it is held.ScaleUpPerHopSwitchLatencyNsis the latency of one pass through the crossbar. - Rows with four fields are unchanged. An untyped row is an
EPSgroup with one plane, and it needs noscale_up_planeattribute.
A
ScaleUpControlLatency below 100 ns logs a warning, because it limits how far simulator processes can run ahead of each other.
The topology-report reports each plane of a typed group separately. The Chakra mapping files guide describes the row format, the trace attribute and every rule that is checked.
New in this release
Chakra mapping file generator
Scala’s Chakra toolkit includes a mapping file generator. It is now documented in the Chakra mapping files guide, under Generate a mapping file.- Generate from a short config.
chakra_mapping_generator/generate_mapping.pywrites a mapping file from a short JSON config. It needs Python 3.10 or later. - Placement and scale-up groups. It places rank
ion serveri. It can place ranks in scale-up groups stamped from templates you define. - Examples. An
examplesfolder holds three configs, each with the file it generates. - Set
rankCountto your traceset’s rank count. A file whose rank count differs from the traceset’s is rejected when you attach it. - Typed groups are added by hand. The generator writes untyped scale-up groups; to use a typed fabric, add
TypeandNumOfPlanesto its Section II rows.
Simulation logs while a simulation runs
On the optimized execution path,GET /api/v1/simulations/{sim_id}/logs now returns the simulation’s in-progress log while it runs, before its final log exists. A notice entry marks the in-progress log. A page can return up to two entries more than limit: the truncation notice and the in-progress notice.
Clearer failure reasons
- Out of memory. On the optimized execution path, a simulation stopped for running out of memory now reports
The simulation ran out of memory. Reduce its size, for example the number of ranks, or contact support.instead ofsimulator-runtime-error. - Simulator fatal errors. On the optimized execution path,
failureReasonnow carries the simulator’s own error message, instead of onlysimulator-runtime-error. - Cloud capacity. When no availability zone has capacity for a launch, the simulation now fails as
capacity-exhaustedinstead ofprovisioning-error.
Topology report: POD, rack, plane and scale-up group
topology-report gains eight columns, appended at the end of each row:
pod,rackandpod_config_namefor each end of a link;- the same three with a
peer_prefix, for the other end; plane;scaleup_group.
Stricter validation of traces and mapping files
These checks can reject traces or mapping files that 0.1.2376 accepted. In each case the input could not have run correctly.- Unroutable sends and receives. A Chakra send or receive fails the simulation while it is being prepared if:
- it names a process group the trace’s process-group metadata does not define; or
- it has no process group and no peer.
- Section II rows with five fields, or more than six, are refused.
- A scale-up group with both latencies at 0 is refused.
API specification changes
SimulationResults(GET /api/v1/simulations/{sim_id}/results) no longer declaressummaryordashboardUrl. The endpoint never returned either, so responses are unchanged. Clients generated from the new specification no longer have the two fields.- Transport summary. The API reference now documents
mode=summaryforroce-transport-statsanduet-transport-stats, which returns the whole-run transport view. It previously described this mode as not implemented.
Model catalog changes
No other model versions change. Model reference pages are now published for the Scala MRC NIC, the Scala RDMA Application and the Scala Traffic Generator.
Platform reliability and stability
- Terminate on the standard execution path. A terminate request now reaches the right simulation. Previously, if the simulation’s name had been used by an earlier, deleted simulation, the request could report success without stopping the run.
- Chakra simulations end sooner. They no longer wait a fixed 20 seconds while they gather collective statistics at the end of a run.
- No hang at the end of multi-process Chakra runs. A run in which some simulator process hosts no Chakra application no longer risks hanging there.
Security updates
This release contains security updates. We recommend upgrading. In keeping with our disclosure practice, we do not publish details of security fixes. Customers with a specific compliance question should contact their Scala representative.Documentation
- Workload metadata: a new page, and a published OpenAPI file. See Customer-reported issues resolved above.
- Chakra mapping files: the generator, typed scale-up fabrics, and the
scale_up_planetrace attribute. - Model reference: new pages for the Scala MRC NIC, the Scala RDMA Application and the Scala Traffic Generator.
- Simulation output files: audited against the simulator. The reference now lists every record written by default, including the Chakra records,
uet-transport-stats,mrc-transport-stats,scala-switch-load-balancing-statsandrdma-perf. It also covers the newtopology-reportcolumns. - Authentication: how to keep a bearer token valid past its one-hour lifetime.
- Examples and API text: the quickstart and run-simulation examples, and descriptions that no longer matched what the platform serves, are corrected.
Not included in this release
The following remain open and are not addressed by 0.1.2544:- Chakra workloads on the Scala MRC NIC. A Chakra simulation on MRC NICs does not yet run to completion.
- Mapping files above 4,096 ranks. Mapping-file support covers simulations of up to 4,096 ranks. A larger simulation with a mapping file attached fails with
Mapping file <name> (<id>) could not be delivered. - Mapping files with the platform’s own Chakra tracesets. A simulation from such a configuration fails before the simulator starts. Mapping files work on tracesets you upload.
- Summary metrics for the largest result sets. Summaries for the largest runs, such as 8,192 ranks, can still be refused as too large. Raw result files remain available through the results download operations.
- Pre-simulation run-time estimation. There is still no supported way to tell in advance whether a trace will exceed the configured simulation time limit.
- ECN-marked packet counts received at the NIC. NIC-side receive counters for ECN-marked packets are not yet reported. Switch-side ECN information remains available.
- Mixed NIC types in a Chakra simulation. All servers in a Chakra simulation must use the same NIC type.
Upgrade notes
- Automatic updates. The updated simulator build and the Chakra workload 4.1.0 model are applied with the platform upgrade. Existing configurations are unaffected unless they use the features above.
- Optical scale-up groups. To set the optical switching delay or control latency, use the Chakra workload 4.1.0.
- Check results comparability against the list in At a glance before comparing runs with 0.1.2376.
- Update column-count checks. Readers that check the column count of
topology-reportmust allow for the eight appended columns. - Regenerate API clients to pick up the
SimulationResultschange and the fully describedworkloadMetadata. - Fix unroutable sends and receives in your traces. Traces whose sends or receives name an undefined process group, or have neither a process group nor a peer, now fail. Fix the trace’s process-group metadata or the operations’ peers before rerunning.