Dell PowerEdge 2850

Processor: Pentium 4 Xeon 2.80GHz, 1024bytes cache [cached]
Fan: NMB-MAT 2415KL [cached]
Disk: MAXTOR Atlas 10K V 3.5 series, 73GB Ultra 320 SCSI, (+5V 950mA, +12V 1500mA), RPM: 10K [cached]
Intel E7520 Chip-set - [Intel Server Motherboards List / Compatible Motherboard] [cached]
Manufacturer's hardware guide [cached]

Masses/Other Data
heat sink: 1050 grams
disk: 505 grams
power supply: 1842 grams
motherboard: 718 grams
processor: 25 grams
fan speed: 64.9 CFM (fan)
motherboard specific heat capacity (made of FR4): 1245 J/kg C.

Power Consumption
motherboard: 73 watts
processor: [25-111] watts (Thermal Design Power 103 watts)
power supply: 105 watts
disk: [7.05-9.57] watts

Dell PowerEdge 2850 Heatflow and Airflow Model

The figure below shows the Dell PowerEdge 2850 server. The cool air goes into the server through the inlet area on the left and flows across the system, until it reaches the exhaust area on the right. As it flows across, the air flows is heated up by the main components of the server: CPU, disk, power supply, and motherboard.

Based on these main components, the figure below shows the airflow graph we developed for the server. We assigned a weight to each edge of this graph, to specify the percentage of the air that flows from one component/set of components to another in the graph.

The corresponding dot language representation of the server and its associated heatflow and airflow is presented below. The values for the "weight" fields in this file resulted from our calibration experiments, which were done using micro-benchmarks (cpu_simple and disk) provided in the Mercury distribution. After calibration, we used the same .dot file to emulate the temperature of the server components while the server executed a more complex micro-benchmark (complex) that is also part of the distribution.

graph m1 {
  graph [quantity=1,fanspeed=64.9,Tinlet=21]
  diskplatter [T0=35,label="Disk",mass=.336,kconstant=896,Q="disk:(0,7.05)(1000,9.57)"];
  disk [T0=34,label="Disk",mass=.505,kconstant=896];
  cpu [T0=34,label="CPU",mass=0.25,kconstant=896,Q="cpu:(0,28.3)(100,103)"];
  power [T0=40,label="Supply",mass=1.842,kconstant=896,Q="supply:(0,105)(100,105)"];
  motherboard [T0=25,label="MoBo",mass=0.718,kconstant=1245,Q="mobo:(0,73)(100,73)"];

  cpudownstreamair [T0=27, kconstant=1004]
  cpuair [T0=33, kconstant=1004]
  diskair [T0=33, kconstant=1004]
  powerair [T0=35, kconstant=1004]
  macair [T0=25, kconstant=1004]

  diskplatter -- disk [weight=3.9]
  disk -- diskair [weight=0.51]
  power -- powerair [weight=4]
  cpu -- cpuair [weight=3.6]
  motherboard -- macair [weight=2.2]
  motherboard -- cpu [weight=2.0]

digraph a1 {
graph [quantity=1,fanspeed=64.9,Tinlet=21]
  inlet [T0=21, kconstant=1004]
  exhaust [T0=28, kconstant=1004]
  inlet -> cpuair [weight=0.2]
  inlet -> diskair [weight=0.2]
  inlet -> powerair [weight=0.2]
  inlet -> macair [weight=0.4]
  diskair -> macair [weight=1]
  cpuair -> cpudownstreamair [weight=0.7]
  cpuair -> macair [weight=0.3]
  cpudownstreamair -> macair [weight=0.2]
  cpudownstreamair -> exhaust [weight=0.8]
  powerair -> macair [weight=0.2]
  powerair -> exhaust [weight=0.8]
  macair -> exhaust [weight=1]

Calibration and Validation Results

cpu_simple (/proc): a simple micro-benchmark used to calibrate the weights of the heatflow and airflow graphs. The figure below shows the CPU utilization (computed from the information in /proc/stat), the CPU diode temperature, and the temperature of the air downstream from the CPU (measured with an external thermocouple).

cpu_simple (performance counters): same figure with the CPU utilization calculated from the energy estimated using the CPU performance counters. Note that the CPU utilization never drops to zero because we actually calibrated the performance counters for an Intel Pentium 4 processor, which differs in idle power consumption. A future work is to recalibrate the performance counters for our Intel Xeon processor, and produce hyperthreaded versions of the energy estimation and micro-benchmarks.

disk: a simple micro-benchmark used to calibrate the heatflow and airflow graphs as they relate to the disk. The figure below shows the disk utilization (computed from the information in /proc/diskstat) and the temperature of the disk as reported by its internal sensor.

complex (/proc): After calibrating the heatflow and airflow weights with the simple micro-benchmarks, we ran a more complex micro-benchmark (without any further calibration) to evaluate the accuracy of the emulated temperatures. The figure below shows CPU utilization (estimated from /proc/stat) and the associated CPU temperatures.

complex (performance counters): CPU utilization (based on the performance counters) and associated temperatures.

complex (disk): disk utilization (computed from /proc/diskstats) and associated temperatures.