Tutorial
Enhance BMC processor performance with lateral cast out and aggressive prefetch
Enable caching policy with BMC featuresLateral cast out and aggressive prefetch are important features of the baseboard management controller (BMC) that effectively utilize the processor's caching policies for efficient computation.
This tutorial explains how these features enhance computing capabilities of the processor. The tutorial also explains their configuration methods through GUI and Redfish API.
The role of the cache
The processor and system memory must work together to optimize computational performance. For sustained processor activity, data and programs need to be stored in a faster intermediary than the system memory, accessible for rapid processor retrieval. This task is entrusted to the cache, or more specifically, caches.
Processor cores solely interact with cache; they bypass direct access to the main memory. Although smaller than primary storage, cache delivers swift data and program access, which is crucial for optimal processor operation. The processor turns to main storage only when required data isn't in the cache, ensuring efficient resource utilization.
Overview of lateral cast out and aggressive prefetch
This section provides an overview of lateral cast out and aggressive prefetch.
Lateral cast out
Lateral cast out works with processor core caching policies. Processor cores have three levels of cache: L1, L2, and L3. L1 and L2 caches are relatively small compared to the L3 cache. As blocks fill up the L2 cache, replacing existing blocks, the contents of the replaced L2 are cast out from their location into the L3 cache. Although accessing blocks from the L3 cache is marginally slower than from the L2 cache, it remains significantly faster than retrieving data from the main storage.
Lateral cast out feature allows one core's L3 cache to be utilized by any other idle core. This process is known as cast-out. Lateral cast-out refers to writing the contents of a core's L3 cache into another core's L3 cache.
Note: Consult with the IBM support team before disabling the lateral cast out feature.
Aggressive prefetch
Aggressive prefetching is about anticipation and preparation. It is the art of predicting what data the processor will need shortly and fetching that data from slower memory (main memory) into faster cache before it’s requested. Prefetching aggressiveness depends on two factors: timing and data coverage. By employing this method, the latency of data fetched from non-cache locations is reduced.
Note: Consult with the IBM support team before enabling the aggressive prefetch feature.
Difference between lateral cast out and aggressive prefetch
| Lateral cast out | Aggressive prefetch |
|---|---|
| The default setting for Lateral cast out is Enabled. | The default setting for Aggressive prefetch is Disabled. |
| Enabling the lateral cast out upgrades the performance of the processor. | Enabling the aggressive prefetch can have a negative impact on the processor’s performance. |
| Due to this feature, the on-demand storage block is referred. | Based on the prediction algorithm, this feature aggressively prefetches the storage block from the main memory before it is requested by the processor. |
| Lateral cast out does not require any prediction algorithm. | More accurate prediction algorithms can minimize cache pollution and avoid prefetching too early. |
Configuration methods
This section explains how to configure Lateral cast out and aggressive prefetch options via GUI and Redfish API.
Note: Changes applied take effect during the next system reboot.
BMC GUI: Lateral cast out and aggressive prefetch
Perform the following steps to set up lateral cast out and aggressive prefetch through the BMC GUI:
Log in to the BMC GUI using a valid username and password.
In the navigation panel, click Resource management > System parameters.
Make sure that the server is in the power off state and locate the Lateral cast out and Aggressive prefetch options on the System parameters page.
Use the toggle to enable or disable the Lateral cast out / Aggressive prefetch options.

Redfish API: Lateral cast out and aggressive prefetch
Users can configure lateral cast out and aggressive prefetch caching polices using Redfish API.
Note: To execute commands using Redfish API, users must provide a BMC IP and valid a BMC token value.
Run the following command with the option set to Enabled or Disabled to configure lateral cast out:
curl -k -H "X-Auth-Token: <bmc_token>" -H "Content-Type: application/json" -X PATCH https://<BMC_IP>/redfish/v1/Systems/system/Bios/Settings -d '{"Attributes":{"hb_lateral_cast_out_mode": <option>}}'
Run the following command with the option set to Enabled or Disabled to configure aggressive prefetch:
curl -k -H "X-Auth-Token: <bmc_token>" -H "Content-Type: application/json" -X PATCH https://<BMC_IP>/redfish/v1/Systems/system/Bios/Settings -d '{"Attributes":{"hb_proc_favor_aggressive_prefetch": <option>}}'
Conclusion: Streamlining QA with impact
This tutorial explained IBM Power server’s lateral cast out and aggressive prefetch features that enhance processor’s performance using processor’s cache. Based on the computation performance needs, customers can enable or disable lateral cast out and aggressive prefetch through GUI or the Redfish interface.