This utility confirms or sets a configuration for Cache Allocation Technology (“CAT”) on the local platform. A good CAT configuration can reduce jitter caused by last-level cache pollution. Cache pollution can come from Windows processors or even the graphics controller on some processor architectures.
cattool [ query | off | on | save | print | help ]
With no parameters, the utility displays the current configuration
query | show current configuration |
off | disable CAT configuration |
on |
enable a default CAT configuration |
save |
save the enabled configuration to registry |
|
print registry configuration |
help |
display this text |
Cache Allocation Technology (“CAT”) may be used to reduce jitter caused by cache pollution in the last-level cache (“LLC”) on many CPUs. This cache is usually shared by all cores in a processor and sometime also the graphics controller so that activity by Windows and the graphics controller may cause non-deterministic behavior when INtime reads data which might be expected to be cached.
The general operation of CAT divides the LLC into a number of sections called “ways” which may be allocated to one or more processing elements by means of a bit mask.
TBD
The default configuration allocates half of the last-level cache to Windows and the other half to INtime. COS 1 defines the Windows mask, and COS 2 is used to define the INtime mask. If both Level 2 and Level 3 CAT is enabled, then both levels will be similarly apportioned. The tool detect and attempts to configure both Architectural and Non-Architectural implementations (Intel CPUs). Note that in some cases non-Architectural implementations may be detected but are non-functional (some Intel CPUs).