blob: eb6f59e018b7db2b06d6c636bc2ea50e9adfc5c5 [file] [log] [blame] [edit]
{
"SkipList": [
"tsx_aborted_cycles",
"tsx_transactional_cycles",
"C2_Pkg_Residency",
"C6_Pkg_Residency",
"C1_Core_Residency",
"C6_Core_Residency",
"tma_false_sharing",
"tma_remote_cache",
"tma_contested_accesses"
],
"RelationshipRules": [
{
"RuleIndex": 1,
"Formula": "a+b",
"TestType": "RelationshipTest",
"RangeLower": "c",
"RangeUpper": "c",
"ErrorThreshold": 5.0,
"Description": "Intel(R) Optane(TM) Persistent Memory(PMEM) bandwidth total includes Intel(R) Optane(TM) Persistent Memory(PMEM) read bandwidth and Intel(R) Optane(TM) Persistent Memory(PMEM) write bandwidth",
"Metrics": [
{
"Name": "pmem_memory_bandwidth_read",
"Alias": "a"
},
{
"Name": "pmem_memory_bandwidth_write",
"Alias": "b"
},
{
"Name": "pmem_memory_bandwidth_total",
"Alias": "c"
}
]
},
{
"RuleIndex": 2,
"Formula": "a+b",
"TestType": "RelationshipTest",
"RangeLower": "c",
"RangeUpper": "c",
"ErrorThreshold": 5.0,
"Description": "DDR memory bandwidth total includes DDR memory read bandwidth and DDR memory write bandwidth",
"Metrics": [
{
"Name": "memory_bandwidth_read",
"Alias": "a"
},
{
"Name": "memory_bandwidth_write",
"Alias": "b"
},
{
"Name": "memory_bandwidth_total",
"Alias": "c"
}
]
},
{
"RuleIndex": 3,
"Formula": "a+b",
"TestType": "RelationshipTest",
"RangeLower": "100",
"RangeUpper": "100",
"ErrorThreshold": 5.0,
"Description": "Total memory read accesses includes memory reads from last level cache (LLC) addressed to local DRAM and memory reads from the last level cache (LLC) addressed to remote DRAM.",
"Metrics": [
{
"Name": "numa_reads_addressed_to_local_dram",
"Alias": "a"
},
{
"Name": "numa_reads_addressed_to_remote_dram",
"Alias": "b"
}
]
},
{
"RuleIndex": 4,
"Formula": "a",
"TestType": "SingleMetricTest",
"RangeLower": "0.125",
"RangeUpper": "",
"ErrorThreshold": "",
"Description": "",
"Metrics": [
{
"Name": "cpi",
"Alias": "a"
}
]
},
{
"RuleIndex": 5,
"Formula": "",
"TestType": "SingleMetricTest",
"RangeLower": "0",
"RangeUpper": "1",
"ErrorThreshold": 5.0,
"Description": "Ratio values should be within value range [0,1)",
"Metrics": [
{
"Name": "loads_per_instr",
"Alias": ""
},
{
"Name": "stores_per_instr",
"Alias": ""
},
{
"Name": "l1d_mpi",
"Alias": ""
},
{
"Name": "l1d_demand_data_read_hits_per_instr",
"Alias": ""
},
{
"Name": "l1_i_code_read_misses_with_prefetches_per_instr",
"Alias": ""
},
{
"Name": "l2_demand_data_read_hits_per_instr",
"Alias": ""
},
{
"Name": "l2_mpi",
"Alias": ""
},
{
"Name": "l2_demand_data_read_mpi",
"Alias": ""
},
{
"Name": "l2_demand_code_mpi",
"Alias": ""
}
]
},
{
"RuleIndex": 6,
"Formula": "a+b+c+d",
"TestType": "RelationshipTest",
"RangeLower": "100",
"RangeUpper": "100",
"ErrorThreshold": 5.0,
"Description": "Sum of TMA level 1 metrics should be 100%",
"Metrics": [
{
"Name": "tma_frontend_bound",
"Alias": "a"
},
{
"Name": "tma_bad_speculation",
"Alias": "b"
},
{
"Name": "tma_backend_bound",
"Alias": "c"
},
{
"Name": "tma_retiring",
"Alias": "d"
}
]
},
{
"RuleIndex": 7,
"Formula": "a+b",
"TestType": "RelationshipTest",
"RangeLower": "c",
"RangeUpper": "c",
"ErrorThreshold": 5.0,
"Description": "Sum of the level 2 children should equal level 1 parent",
"Metrics": [
{
"Name": "tma_fetch_latency",
"Alias": "a"
},
{
"Name": "tma_fetch_bandwidth",
"Alias": "b"
},
{
"Name": "tma_frontend_bound",
"Alias": "c"
}
]
},
{
"RuleIndex": 8,
"Formula": "a+b",
"TestType": "RelationshipTest",
"RangeLower": "c",
"RangeUpper": "c",
"ErrorThreshold": 5.0,
"Description": "Sum of the level 2 children should equal level 1 parent",
"Metrics": [
{
"Name": "tma_branch_mispredicts",
"Alias": "a"
},
{
"Name": "tma_machine_clears",
"Alias": "b"
},
{
"Name": "tma_bad_speculation",
"Alias": "c"
}
]
},
{
"RuleIndex": 9,
"Formula": "a+b",
"TestType": "RelationshipTest",
"RangeLower": "c",
"RangeUpper": "c",
"ErrorThreshold": 5.0,
"Description": "Sum of the level 2 children should equal level 1 parent",
"Metrics": [
{
"Name": "tma_memory_bound",
"Alias": "a"
},
{
"Name": "tma_core_bound",
"Alias": "b"
},
{
"Name": "tma_backend_bound",
"Alias": "c"
}
]
},
{
"RuleIndex": 10,
"Formula": "a+b",
"TestType": "RelationshipTest",
"RangeLower": "c",
"RangeUpper": "c",
"ErrorThreshold": 5.0,
"Description": "Sum of the level 2 children should equal level 1 parent",
"Metrics": [
{
"Name": "tma_light_operations",
"Alias": "a"
},
{
"Name": "tma_heavy_operations",
"Alias": "b"
},
{
"Name": "tma_retiring",
"Alias": "c"
}
]
},
{
"RuleIndex": 11,
"Formula": "a+b+c",
"TestType": "RelationshipTest",
"RangeLower": "100",
"RangeUpper": "100",
"ErrorThreshold": 5.0,
"Description": "The all_requests includes the memory_page_empty, memory_page_misses, and memory_page_hits equals.",
"Metrics": [
{
"Name": "memory_page_empty_vs_all_requests",
"Alias": "a"
},
{
"Name": "memory_page_misses_vs_all_requests",
"Alias": "b"
},
{
"Name": "memory_page_hits_vs_all_requests",
"Alias": "c"
}
]
},
{
"RuleIndex": 12,
"Formula": "a-b",
"TestType": "RelationshipTest",
"RangeLower": "0",
"RangeUpper": "",
"ErrorThreshold": 5.0,
"Description": "CPU utilization in kernel mode should always be <= cpu utilization",
"Metrics": [
{
"Name": "cpu_utilization",
"Alias": "a"
},
{
"Name": "cpu_utilization_in_kernel_mode",
"Alias": "b"
}
]
},
{
"RuleIndex": 13,
"Formula": "a-b",
"TestType": "RelationshipTest",
"RangeLower": "0",
"RangeUpper": "",
"ErrorThreshold": 5.0,
"Description": "Total L2 misses per instruction should be >= L2 demand data read misses per instruction",
"Metrics": [
{
"Name": "l2_mpi",
"Alias": "a"
},
{
"Name": "l2_demand_data_read_mpi",
"Alias": "b"
}
]
},
{
"RuleIndex": 14,
"Formula": "a-b",
"TestType": "RelationshipTest",
"RangeLower": "0",
"RangeUpper": "",
"ErrorThreshold": 5.0,
"Description": "Total L2 misses per instruction should be >= L2 demand code misses per instruction",
"Metrics": [
{
"Name": "l2_mpi",
"Alias": "a"
},
{
"Name": "l2_demand_code_mpi",
"Alias": "b"
}
]
},
{
"RuleIndex": 15,
"Formula": "b+c+d",
"TestType": "RelationshipTest",
"RangeLower": "a",
"RangeUpper": "a",
"ErrorThreshold": 5.0,
"Description": "L3 data read, rfo, code misses per instruction equals total L3 misses per instruction.",
"Metrics": [
{
"Name": "llc_mpi",
"Alias": "a"
},
{
"Name": "llc_data_read_mpi_demand_plus_prefetch",
"Alias": "b"
},
{
"Name": "llc_rfo_read_mpi_demand_plus_prefetch",
"Alias": "c"
},
{
"Name": "llc_code_read_mpi_demand_plus_prefetch",
"Alias": "d"
}
]
},
{
"RuleIndex": 16,
"Formula": "a",
"TestType": "SingleMetricTest",
"RangeLower": "0",
"RangeUpper": "8",
"ErrorThreshold": 0.0,
"Description": "Setting generous range for allowable frequencies",
"Metrics": [
{
"Name": "uncore_freq",
"Alias": "a"
}
]
},
{
"RuleIndex": 17,
"Formula": "a",
"TestType": "SingleMetricTest",
"RangeLower": "0",
"RangeUpper": "8",
"ErrorThreshold": 0.0,
"Description": "Setting generous range for allowable frequencies",
"Metrics": [
{
"Name": "cpu_operating_frequency",
"Alias": "a"
}
]
}
]
}