Simultaneous Multithreading (SMT) combiner

Combiner for Simultaneous Multithreading (SMT). It uses the results of the following parsers: insights.parsers.smt.CpuCoreOnline, insights.parsers.smt.CpuSiblings.

class insights.combiners.smt.CpuTopology(cpu_online, cpu_siblings)[source]

Bases: object

Class for collecting the online/siblings status for all CPU cores.

Sample output of the CpuCoreOnline parser is:

[[Core 0: Online], [Core 1: Online], [Core 2: Online], [Core 3: Online]]

Sample output of the CpuSiblings parser is:

[[Core 0 Siblings: [0, 2]], [Core 1 Siblings: [1, 3]], [Core 2 Siblings: [0, 2]], [Core 3 Siblings: [1, 3]]]
cores

List of all cores.

Type:

list of dictionaries

all_solitary

True, if hyperthreading is not used.

Type:

bool

Examples

>>> type(cpu_topology)
<class 'insights.combiners.smt.CpuTopology'>
>>> cpu_topology.cores == [{'online': True, 'siblings': [0, 2]}, {'online': True, 'siblings': [1, 3]}, {'online': True, 'siblings': [0, 2]}, {'online': True, 'siblings': [1, 3]}]
True
>>> cpu_topology.all_solitary
False
online(core_id)[source]

Returns bool value obtained from “online” file for given core_id.

siblings(core_id)[source]

Returns list of siblings for given core_id.