Generalize benchmark qualification environment
This commit is contained in:
parent
c1b40f923a
commit
2d4ec2ed8b
1 changed files with 91 additions and 52 deletions
|
|
@ -1,30 +1,52 @@
|
|||
{
|
||||
"schema": "lazaret-ignored-workspace-benchmark-v1",
|
||||
"reference_environment": {
|
||||
"qualification_environment": {
|
||||
"architecture": "x86_64",
|
||||
"kernel": "Linux 6.9 or later",
|
||||
"cpu": "reference x86_64 processor",
|
||||
"cpu_set": "one hardware thread from each of eight physical cores",
|
||||
"cpu_governor": "performance",
|
||||
"memory_bytes": 17179869184,
|
||||
"swap": "disabled-for-benchmark-cgroup",
|
||||
"storage": "reference local NVMe-class block device",
|
||||
"storage_stack": "NVMe with dm-crypt and no network or copy-on-write layer",
|
||||
"filesystem": "XFS",
|
||||
"filesystem_block_bytes": 4096,
|
||||
"filesystem_mount_options": [
|
||||
"rw",
|
||||
"nosuid",
|
||||
"nodev",
|
||||
"relatime",
|
||||
"inode64",
|
||||
"noquota"
|
||||
"cpu": {
|
||||
"physical_cores_minimum": 8,
|
||||
"allocation": "one hardware thread from each allocated physical core",
|
||||
"governor": "performance"
|
||||
},
|
||||
"memory": {
|
||||
"bytes_minimum": 17179869184,
|
||||
"swap": "disabled-for-benchmark-cgroup"
|
||||
},
|
||||
"storage": {
|
||||
"kind": "local-block-device",
|
||||
"network_backed": false,
|
||||
"copy_on_write": false
|
||||
},
|
||||
"filesystem": {
|
||||
"type": "XFS",
|
||||
"block_bytes": 4096,
|
||||
"required_mount_options": [
|
||||
"relatime",
|
||||
"inode64"
|
||||
],
|
||||
"forbidden_features": [
|
||||
"quota"
|
||||
]
|
||||
},
|
||||
"qualification_result_fields": [
|
||||
"kernel_release",
|
||||
"cpu_model",
|
||||
"cpu_microcode",
|
||||
"allocated_cpu_topology",
|
||||
"memory_bytes",
|
||||
"storage_model",
|
||||
"storage_transport",
|
||||
"storage_stack",
|
||||
"filesystem_type",
|
||||
"filesystem_block_bytes",
|
||||
"filesystem_mount_options",
|
||||
"fuse_userspace_version",
|
||||
"runsc_version",
|
||||
"git_version",
|
||||
"uv_version",
|
||||
"rust_version"
|
||||
],
|
||||
"fuse_userspace": "qualification-result-version",
|
||||
"runsc": "qualification-result-version",
|
||||
"git": "qualification-result-version",
|
||||
"uv": "qualification-result-version",
|
||||
"rust": "qualification-result-version"
|
||||
"qualification_result_policy": "record exact observed values in the generated run result, not the source tree, without requiring literal model or version equality; every supported component must satisfy the release matrix"
|
||||
},
|
||||
"placements": {
|
||||
"direct": "one native reference tree containing the same visible bytes and metadata on the same backing filesystem, without FUSE or runsc",
|
||||
|
|
@ -38,6 +60,7 @@
|
|||
"clock": "CLOCK_MONOTONIC_RAW elapsed nanoseconds",
|
||||
"statistic": "median",
|
||||
"relative_statistic": "median of paired routed/direct elapsed-time ratios",
|
||||
"direct_calibration_formula": "direct placement median <= absolute_median_ms / relative_median_ratio in every independent run and preparation state",
|
||||
"median_definition": "sort numeric values ascending and select value at zero-based index floor(count/2); every measured count is odd",
|
||||
"within_run_relative_mad_formula": "median(abs(sample - median(samples))) / median(samples), evaluated separately for direct elapsed times, routed elapsed times, and paired routed/direct ratios in each workload, preparation state, and independent run",
|
||||
"between_run_median_spread_formula": "(max(run_medians) - min(run_medians)) / median(run_medians), evaluated across the three independent-run medians separately for direct elapsed time, routed elapsed time, and paired routed/direct ratio in each workload and preparation state",
|
||||
|
|
@ -52,9 +75,9 @@
|
|||
"primed": "fresh materialization followed by one untimed complete workload invocation before measured samples"
|
||||
},
|
||||
"normalization": {
|
||||
"environment": "reject a run that differs from any reference environment field",
|
||||
"environment": "reject a run that violates any qualification-environment constraint or direct-placement calibration limit; record every exact observed qualification-result field",
|
||||
"background_load": "reject a sample when another process consumes more than five percent of one reference core or benchmark memory pressure causes reclaim",
|
||||
"pass_rule": "every independent run and preparation state meets both the absolute median and paired median-ratio budget and both variance limits"
|
||||
"pass_rule": "every independent run and preparation state meets the direct-placement calibration, routed absolute median, paired median-ratio budget, and both variance limits"
|
||||
},
|
||||
"identity_encoding": {
|
||||
"integer_encoding": "unsigned integers are fixed-width big-endian; the command exit status is signed two's-complement i32 big-endian",
|
||||
|
|
|
|||
Loading…
Reference in a new issue