# Towards Rack Utilization in Internet Datacenters: An Approach Based on Dynamic Programming
## 3 Background and Motivation
### Background  
For racks and servers in IDC, we define two types of power space. The maximum power of rack is denoted as \(\mathrm{RackMaxPower}\), which is determined by the rack power supply and generally adopts its rating power. When the total power of all devices stacked inside a rack reaches or exceeds its maximum power, the power supply will be cut off to protect those devices. Meanwhile, the maximum power of server is denoted as \(\mathrm{ServerMaxPower}\), which generally adopts the server's rating power. Usually, server's power consumption will not exceed its maximum power, even if it runs at full capacity. In reality, the maximum power of server is far lower than its rating power [9]. When deploying servers,it must be ensured that the total supply of all servers in a rack will not exceed the maximum power of the rack, thus avoiding the influence on that workload running on the rack due to its power-off. Since there is a lack of analysis on the actual operating power of all servers in IDC, the total power of servers in a rack [9; 12] is usually calculated with all servers' maximum power. With such a method, the power supply for all servers in a rack can be guaranteed, but a huge power space will be idle. Actually, most servers have always been running at a level lower than their maximum power. In addition, the existing IDCs did not consider the server arrangement from the perspective of their actual used power when deploying their servers, leaving a large power space unused in the rack. As seen in Figure 2, the power distribution in a scenario of server placement is used to demonstrate the potential in improving the rack utilization. In this scenario, the power budget of rack is \(B_{R}\), the power budget for the server to be racked is \(B_{S}\), and the average used power of a server in a long operation time (Used) is \(U\). The power budget of rack is equal to the rack's maximum power, and both of them are fixed. On the other hand, the power budget of server is alterable with the technique of power capping. Figure 2a shows the power budget of each rack, i.e., \(B_{R}\). Figure 2b represents the power budget of each server, i.e., \(B_{S}\). In addition, the power budget of the \(i^{th}\) server is denoted as \(B_{Si}\). As seen in Figure 2b, when adding the \((N_{max}+1)^{th}\) server into a rack, the sum of server budgets of those servers has surpassed the rack budget, which is highlighted by the dashed box. Therefore, the rack is able to accommodate \(N_{max}\) servers. Figure 2c demonstrates the distribution of each server's average used power (denoted as Used). The difference between power budget and used power in a server is defined as the power margin of server, labelled as _ServerMargin_, and the difference between rack budget and the sum of server budget of all servers in a rack is defined as power fragment of the rack, labelled as _RackFragment_. The _ServerMargin_ represents the unused power of a server in its budget, and _RackFragment_ refers to the power fragment resulting from the failure of hosting more servers. The used power and power margin of the \(i^{th}\) server are denoted as \(U_{i}\) and \(M_{Si}\), respectively; The power fragment of rack is denoted as \(F_{R}\); the total space of all servers' power margin and the power fragment of rack, i.e., the sum of all servers' \(M_{S}\) and the rack's \(F_{R}\), is denoted as \(L_{total}\). The expressions of the above variables are shown as Equation (1):  
\[\left\{ \begin{array}{l}M_{Si}=B_{Si}-U_{i},\\ \\ F_{R}=B_{R}-\sum_{i=1}^{N_{max}}B_{Si},\\ \\ L_{total}=F_{R}+\sum_{i=1}^{N_{max}}M_{Si}.\end{array} \right. \tag{1}\]  
In essence, the server's power margin is caused by the over-provisioning of power, while the power fragment of the rack derives from the irrational server arrangement on the rack. Idle power can be mined from \(L_{total}\) in Equation (1).