The released SCC Thermal Calibration Software contains a framework to generate the thermal sensors calibration coefficients and an analytical power model of the SCC chip. This framework is composed by a set of bash and python scripts, c-codes and kernel modules that stresses the different cores of SCC with synthetic benchmarks and collect the core activity/ power and temperature sensor outputs. These values are then used in a least square problem to find the calibration coefficient for each thermal sensor and in a non-linear least square problem to find the coefficient of an analytic model that relates the core activity (measured through the performance counters ) and the power consumption of each SCC core. This release reflects the work presented by the authors in the following two papers:
Bartolini, A.; Sadri, M.; Beneventi, F.; Cacciari, M.; Tilli, A.; Benini, L.; , “A System Level Approach to Multi-core Thermal Sensors Calibration,” 21st International Workshop, PATMOS 2011, Madrid, Spain, Sept. 2011,pp 22-31.
Sadri, M.; Bartolini, A.; Benini, L.; , “Single-Chip Cloud Computer thermal model,” International Workshop on Thermal Investigations of ICs and Systems (THERMINIC), 2011 17th, pp.1-6, 27-29 Sept. 2011
As many of you may know the SCC thermal sensors are not calibrated and the values they generates are in principle dependent by temperature, voltage and process variation. From some discussion on the forum, the sensor value (SV) is in first approximation linearly dependent on the temperature, thus the thermal calibration procedure must give the coefficient of the linear relationship for the different sensors. In University of Bologna we designed an automated procedure for generating this calibration parameter by measuring the sensors values at different frequencies and different computational loads and resolving a least square problem. Using the same dataset it is possible to generate also the analytical power model of the SCC device. To get consistent results the calibration procedure takes time, expect around 24h of trace-collection in the default configuration. This operation is done once to obtain the values of he calibration constants, that will be used at run-time to transform the sensor values in °C.
In the latest months we worked in cleaning up our scripts and making a consistent release of these software, that was original a set of Matlab and bash scripts and now are a set of python and bash ones. We believe that this procedure, even if still be not 100% stable and validated (some artifact are present on the calibrated sensors) can enable the usage of the thermal sensors on SCC opening new research direction. As consequence of that we want to release it to the marc community. We also believe that some exiting research can be conducted on analyzing the datasets produced by the calibration routines (power, SV , voltages and ambient temperature) by different SCC platforms.
Indeed we can correlate the artifacts we see on our SCC device with the other one, and moreover we can analyze if the same sensor on different device has the same behavior or not. This allows us to generate a first experimental variability dataset and model that. For this reason we set up an FTP server in our institution in which we would like to collect the results, analyze and publish them. Thus we would like to ask the user that uses our calibration sensor framework and power modeling results to send its calibration dataset. To automate this procedure we embed in the calibration scripts the FTP upload procedure. We gave the freedom to every user to skip this step, but we encourage you in doing it.
To let the cores temperature being more usable we also had modified the SCC power meter GUI to report at runtime the core temperatures, and we believe this can be helpful to the final user to enable temperature-aware research topic. To spread the software we add a BSD license to the software we release. The software is based on SCCKit 1.4.2 but can be easily used in the latest SCCKit since we release all the source files.
The software can be downloaded by the following link http://www-micrel.deis.unibo.it/~bartolini/SCCsoftware
Please refer to the README file included in the download for more details and installation procedure.