Configurable BIOS – Take 2

Earlier this year we discussed how it is possible to change BIOS settings via IPMI. Our new generation of ATCA blades, have taken this concept to the next level.

On our Intel® Xeon® Processor 5600/5500 Series based AdvancedTCA blades we supported the ability to change each BIOS, aka CMOS, setting via the BMC (Baseboard Management Controller = IPMI Controller), on an item by item basis. While this enabled customers to configure the BIOS before the blade actually started to execute the firmware, we wanted to ensure that users could not erroneously overwrite other BIOS settings. The way we made this feature available to customers was via customized IPMI commands (“OEM commands” in IPMI terminology) that allowed changes only to the specific settings selected, for example the boot device order. The use case we primarily had in mind was to cater to customers that may wish to boot from different media such as a local SSD to launch diagnostics or a troubleshooting utility.

This feature was highly valued by our customers. The more customers we discussed it with, the more insight we gained into additional applications and requirements. As workload consolidation utilizing Intel architecture (IA) processors has become a reality, changing BIOS settings now takes on  a greater level of importance. IA blades are now used for multiple workloads within the same system, and those different workloads may require specific settings for optimum performance e.g. for NUMA (Non-Uniform Memory Access) or hyper threading, etc. Usually settings are tied to a certain application, e.g. a control plane blade will have different settings than a blade used for firewalling and a blade used for DPI (Deep Packet Inspection) may utilize yet another group of settings. With re-configurable network elements evolving, settings may need to be changed in the field not just at provisioning time when systems are integrated in the factory.

As we looked at the evolving requirements we implemented a new set of features that means instead of changing single BIOS settings via IPMI, our blades are now able to store multiple complete BIOS configurations. The system manager can now select which specific pre-configured set of configurations to use for the next boot via an IPMI OEM command. The standard  default for this feature supports  4 parameter sets on any given blade although we can actually customize it to almost any number. For example, a customer can use one set for control plane, one set for firewalling, one set for DPI and yet another for service/diagnostics.

This feature represents much more than simply improving fail safe and convenience, it also adds an extremely useful layer of abstraction. The system manager no longer needs to understand each of the BIOS items in detail. It simply needs to know which unique parameter set to load for a specific application. “If I want to run our DPI app on the blade, I need to load parameter set #3” is good enough. No need to understand the details in the parameter set and no need to worry if certain BIOS items change on a new BIOS release. The DPI application will still utilize parameter set #3. What if you install a new processor? Don’t worry, still use set #3 for DPI.

For further convenience and added value we created a simple Linux based utility that allows a customer to extract the current BIOS settings and store them into an image which can be programmed directly into the blade using a standard mechanism (HPM.1). This allows customers to experiment and test with different BIOS settings during their profiling and performance tuning sessions. Once the optimal BIOS settings have been identified, extract them, store them in a file and program them onto the blade. Advantech also offers the ability to create your own custom BIOS. All that is required is to send the file(s) generated by the utility to Advantech. We will then pre-program those sets into the blade at our factory and be able to ship the blades with the custom configuration(s) preloaded.

Advantech. Added value and technology.


Peter Marek – Director of x86 Solutions


Leave a Reply

Your email address will not be published. Required fields are marked *

20 + nineteen =