package test.thermal.recs.plugins.energy; public class ThermalConstants { /* * v1. Hongyang Sun, 21/03/2014. * * This package is created for the thermal-aware scheduling policies designed in CoolEmAll (www.cooemall.eu). * Details of these policies and experimental results can be found in deliverable D4.6 on the project website. * * The setting and the temperature estimation is for a CoolEmAll RECS with 18 nodes and the following layout: * | 10 01 | * | 11 02 | * | 12 03 | * | 13 04 | * | 14 05 | * | 15 06 | * | 16 07 | * | 17 08 | * | 18 09 | * where node i and i+9 share the same outlet and inlet for i = 1..9. * * The thermal-aware scheduling plugins (Coolest, MaxTempOpt and TempIncrOpt) are implemented in the version * of the simulator dated 2014 March. In this version, * (1). The power estimation of a node is guaranteed to be correct upon each invocation of the scheduler. * (2). The temperature, however, may not be up to date, so one should always derive temperature from power. * (3). If each invocation of the scheduler schedules several jobs, the power (and temperature) is not * updated between job assignments. So one should always keep track of the power (and temperature) * changes locally in this case. */ public static double tin = 25; public static double Q = 0.0056085; public static double C = 1004; public static double delta1 = 1.780594389/2; public static double delta2 = 2.162043729/2; public static double ro = 1.168; public static double fanPower = 6; // calculate the outlet temperature, given the power1 on the inlet node and power2 on the outlet node. public static double calculateOutletTemp(double power1, double power2){ double tout = tin + delta1 * (power1/(Q * C * ro)) + delta2 * (power2/(Q * C * ro)); return tout; } }