UFEI / BIOS tuning for an Enterprise Hadoop & Spark Cluster

When a Hadoop / Spark Cluster is part of a critical business operation, care is warranted in every aspect of the design and deployment. One area of importance is UFEI / BIOS tuning. Hadoop job duration can be impacted by CPU frequency, QPI frequency, QPI bandwidth, the number of cores within the cluster, available memory, memory frequency, memory latency, and memory bandwidth. UFEI / BIOS settings have a direct influence on server performance and therefore Hadoop & Spark Job Duration.

Many modern servers are configured by default to save energy. The largest energy usage within a server (at the time of this paper) is CPU, Memory and HDD Storage. To reduce energy usage, UFEI / BIOS by default reduce CPU, QPI and Memory frequency, HDD are placed in sleep state.

When load is placed on a server, the UFEI/BIOS attempts to adjust resource state to levels that address the load. In addition, the OS attempts to control CPU frequency and HDD state. During periods of lower demand, CPU core frequency maybe adjusted and/or HDD placed in sleep state.

Saving energy during periods of light usage is desired. As server resources are required, the UFEI/BIOS or OS APCI attempts to make necessary resources available. Unfortunately, UFEI/BIOS and OS energy controls can fail to cycle up server resources during periods of higher demand.

By adjusting UFEI/BIOS settings and testing, the best settings for performance and energy savings can be found. This document provides a list of recommendations for UFEI / BIOS changes for an Intel based motherboard commonly used in Hadoop Management and Data nodes. It is applicable to Intel Sandybridge-EP, IvyBridge-EP, and Haswell servers. Use of these setting is not recommended on motherboards using other processor types.

The focus of UFEI/BIOS settings provided in this document is improved server performance. Additional testing under idle and load conditions maybe necessary to increase energy savings under idle state while gaining additional performance in load state.

Many servers contain motherboards with UFEI / BIOS that have general purpose, high level settings such as MAX PERFORMANCE. This high-level setting adjusts lower level CPU, QPI and Memory settings to provide maximum performance.

IBM recommends the MAX PERFORMANCE setting be used on Lenovo mother boards that support this setting or if not available, the lower level settings be used. The following UFEI / BIOS screen examples are from AMI UFEI / BIOS used in many different manufacturer / model servers.

Download (, Unknown)