Guaranteeing Co-running Program’s Performance in Data Center

The data centers are more popular nowadays. In order to improve the utilization of the servers, programs commonly co-running with each other on one server, and programs may interference with each other. Otherwise, for programs who running in cluster or data centers, commonly they can be classified to different kind of program, for example, the batch program, the latency-sensitive program and so on. Different kind of programs has different kind of duty for performance. In order to improve the utilization of the servers while concurrently guarantee the performance of latency-sensitive program, we propose performance guaranteed program co-running algorithm. We design three engines to realize the performance guaranteed program co-running algorithm, they are Program Monitor Engine, Resource Division Engine and Resource Partition Engine respectively. The Program Monitor Engine collects the program's resource usage information about CPU and memory, and then label the programs. The Resource Division Engine calculate the size of CPU and memory resource should be divided for latency-sensitive program. The Resource Division Engine set the resource control group with the CPU and memory value. All the latency-sensitive programs are running in this resource control group. Meanwhile, out side the resource control group, multiple batch programs can be executed. The experiment result show that by making use of the performance guaranteed program co-running algorithm, most of the latency-sensitive program's performance sustain with in 95%, at the same time, the batch programs are used to increase the throughput as more as possible.