# Towards Rack Utilization in Internet Datacenters: An Approach Based on Dynamic Programming
## 3 Background and Motivation
### Motivation  
The power margin of server can be reduced by setting a power threshold lower than its power rating. In addition, the power threshold can be regarded as the power budget of the server. When the CPU utilization exceeds the upper limit of server's computing power corresponding to the power threshold, the performance of applications will be affected. The lower the power threshold, the smaller the power margin of server is and thus the larger the potential performance loss may be. How to avoid the performance loss of applications running in servers by accurately setting the power threshold is not the focus of this paper and it has been addressed by researchers [13]. Without loss of generality, we assume that the power threshold for each server will have no negative effect on applications running in the server.  
The authors of [9] pointed out that the existence of power fragment of a rack means a waste of power, but did not provide a solution to avoid it. Since the power budget of rack is fixed, we intend to optimize the arrangement of servers stacked inside racks to reduce the loss in rack utilization caused by power fragment of rack. Generally, reducing the power fragment of a rack does not mean that it will minimize the power fragment of all racks in a datacenter. Therefore, a comprehensive analysis on the power fragment of all racks should be conducted when there is a need to reduce the power fragment of a rack. Logically, the leasing cost of IDC is positively correlated with the total power fragment of all racks currently in use. Thus, the leasing cost can replace the the power fragment of racks as the research subject, which facilitates the evaluation of server placement mechanism.  
Assuming that there is a server set \(S\) constituted by \(m\) servers to be racked, and a rack set \(R\) containing \(n\) racks. The power budget of the \(i^{th}\) server \(S_{i}\) is \(B_{Si}\), the power budget of the \(j^{th}\) rack \(R_{j}\) is \(B_{Rj}\), and the leasing cost is \(C_{Rj}\). Then, our goal is to find out the mapping relation (denoted as _deploy_) from servers to racks that can minimize the leasing cost \(C_{deploy}\). In addition, the following constraint should be satisfied:  
\[B_{Ri}\geq\sum_{j=0}^{m-1}B_{Sj}\qquad i\in[0,n-1],deploy(S_{j})=R_{i}. \tag{3}\]  
If meeting the condition of Equation (3), \(C_{deploy}\) can be expressed as follows:  
\[C_{deploy}=\sum_{R_{i}\in\mathbb{R}}C_{Rj}, \tag{4}\] \[\mathbb{R}=\{R_{i}|\forall j\in[0,n-1]:deploy(S_{j})=R_{i}\}. \tag{5}\]  
Thus, the key of reducing _RackBudget_ is to find out the optimal mapping relation \(deploy_{opt}\) to minimize \(C_{deploy}\):  
\[C_{deploy_{opt}}=min(C_{deploy}). \tag{6}\]  
Additionally, the scales of \(S\) and \(R\) for processing at a time should be taken into account because of the requirement on the communication distance of those servers with the same application, and the time complexity of server placement algorithm with optimal cost. The following challenges need to be considered:  
* how to express the leasing costs of racks with different power fragment of rack;
* how to determine the scales of servers and racks as the input of server placement algorithm;
* how to improve the utilization of multiple racks with server placement algorithm simultaneously.