The past decades witness FLOPS (Floating-point Operations per Second) as an important computation-centric performance metric. However, for datacenter (in short, DC) computing workloads, such as Internet services or big data analytics, previous work reports that they have extremely low floating point operation intensity , and the average FLOPS efficiency  is only 0.1\% , while the average IPC is 1.3 (the theoretic IPC is 4 on the Intel Xeon E5600 platform). Furthermore, we reveal that the traditional FLOPS based Roofline performance model is not suitable for modern DC workloads , and gives misleading information for system optimization . These observations imply that FLOPS is inappropriate for evaluating DC computer systems. To address the above issue, we propose a new computation-centric metric BOPs (Basic OPerations ) that measures the efficient work defined by the source code, includes floating-point operations and the arithmetic, logical, comparing , and array addressing parts of integer operations. We define BOPS as the average number of BOPs per second, and propose replacing FLOPS with BOPS to measure DC computer systems. On the basis of BOPS, we propose a new Roofline performance model for DC computing , which we call DC-Roofline model, with which we optimize DC workloads with the improvement varying from 119\% to 325\% .
For datacenter computing workloads, previous work reports that they have extremely low floating point operation intensity . Our experiments also show that the average FLOPS efficiency of the DC workloads is only 0.1\% . The FLOPS gap is 12X between the two systems equipped with Intel Xeon or Intel Atom processors, but the average user-perceived performance gap of the DC workloads is only 7.4X between them . These observations imply that FLOPS (Floating-point Operations per Second) is inappropriate to evaluate DC computing systems. To address the above issue, we propose BOPS (Basic OPerations per Second), which is the average number of BOPs (Basic OPerations) completed per second, as a new computation-centric metric. BOPs include the integer and floating point computations of arithmetic, logical, comparing and array addressing . The number of BOPs is independent of the underlying system and hardware implementation, and can be calculated through automatically analyzing the source code of the workload. Based on the BOPS metric, an upper bound performance model, named DC-Roofline, is proposed for DC computing . In our experiments, three typical systems equipped with different Intel processors are evaluated using 17 typical DC workloads. The bias between the BOPS gap and the average user-perceived performance gap is no more than 11\%, and the BOPS efficiency of the Sort workload achieves 32\%. We optimize the typical DC kernel workloads under the guidance of the DC-Roofline model, and all workloads have achieved performance improvements ranging from 1.1X to 4.4X. Furthermore, as the real DC workload always has million lines of codes and tens of thousands of functions, it is not easy to use the DC-Roofline model directly. We propose an optimization methodology for the real-world DC workloads. Under the guidance of the proposed methodology, we optimize Redis by 1.2X .
R
The past decades witness FLOPS (Floating-point Operations per Second) as an important computation-centric performance metric. However, for datacenter (in short, DC)
For datacenter
D
such as Internet services or big data analytics,
R
, and
. Our experiments also show that
A
of the DC workloads
R
, while the average IPC is 1.3 (the theoretic IPC is 4 on the Intel Xeon E5600 platform). Furthermore, we reveal that the traditional FLOPS based Roofline performance model is not suitable for modern DC workloads , and gives misleading information for system optimization
. The FLOPS gap is 12X between the two systems equipped with Intel Xeon or Intel Atom processors, but the average user-perceived performance gap of the DC workloads is only 7.4X between them
R
is inappropriate for evaluating DC computer
(Floating-point Operations per Second) is inappropriate to evaluate DC computing
R
a new computation-centric metric BOPs
BOPS
R
) that measures the efficient work defined by the source code, includes floating-point operations and the
per Second), which is the average number of BOPs (Basic OPerations) completed per second, as a new computation-centric metric. BOPs include the integer and floating point computations of
D
,
R
parts of integer operations. We define BOPS as the average
. The
R
per second, and propose replacing FLOPS with BOPS to measure DC computer systems. On the basis of BOPS, we propose a new Roofline performance model
is independent of the underlying system and hardware implementation, and can be calculated through automatically analyzing the source code of the workload. Based on the BOPS metric, an upper bound performance model, named DC-Roofline, is proposed
R
, which we call
. In our experiments, three typical systems equipped with different Intel processors are evaluated using 17 typical DC workloads. The bias between the BOPS gap and the average user-perceived performance gap is no more than 11\%, and the BOPS efficiency of the Sort workload achieves 32\%. We optimize the typical DC kernel workloads under the guidance of the
R
model, with which we optimize DC workloads with the improvement varying from 119\% to 325\%
model, and all workloads have achieved performance improvements ranging from 1.1X to 4.4X. Furthermore, as the real DC workload always has million lines of codes and tens of thousands of functions, it is not easy to use the DC-Roofline model directly. We propose an optimization methodology for the real-world DC workloads. Under the guidance of the proposed methodology, we optimize Redis by 1.2X