READ ME File For 'Hardware Performance Counters Data for Prediction of Potential Failure in Embedded Systems' Dataset DOI: 10.5258/SOTON/D1147 ReadMe Author: WOO LAI LENG, 0000-0003-3313-6177 This dataset supports the thesis entitled Predicting Potential Failure in Real-Time through Monitoring and Detection of Anomalous Behaviour using Hardware Performance Counters AWARDED BY: University of Southampton DATE OF AWARD: 2020 DESCRIPTION OF THE DATA The benchmarks used in this experiment are from MiBench. The chosen benchmarks also have different computational characteristics to ensure the results obtained will not be dependent on one type of benchmark. The following benchmarks have been chosen for this experiment: a) Bitcount taken from Automotive and Industrial Control Suite, is an algorithm that tests bit manipulation ability of a processor by counting the number of bits in an array of integers. This is known as a computationally intensive benchmark as it has a large percentage of arithmetic instructions.  b) QSort, which is also from Automotive and Industrial Control Suite, uses the popular quick-sort algorithm implemented in the GNU C standard library to sort a large array of strings into ascending order. QSort is also another computationally intensive benchmark as it has more than 79% arithmetic instructions. c) Dijkstra is a benchmark taken from the Network suite that calculates the shortest path between between two nodes using an adjacency matrix of size 100x100. 100 paths are calculated during each execution. This benchmark is categorised as a memory intensive benchmark as it contains 40% memory operation instructions.  d) FFT is a benchmark taken from Telecommunication suite that performs a Fast Fourier Transform on an array of 32,768 floating point data. Fourier transforms are used in digital signal processing to find the frequencies contained in a given input signal. The input data is a polynomial function with pseudorandom amplitude and frequency sinusoidal components. This benchmark can be categorised as both computational and control intensive benchmark due to the high arithmetic as well as logical and program control instructions.  e) StringSearch is a benchmark taken from Office suite that searches for given words in phrases using a case-insensitive comparison algorithm. This benchmark has a high number of arithmetic and memory operation instructions. All the experiments were performed using the Gem5 architectural simulator and GemFI fault injection tool. For each experiment, the fault model applied is a single bit-flip fault model where a single bit-flip fault is injected randomly at a stage in the pipeline. The hardware performance counters data is logged at certain interval. Complete set of hardware performance counters data from each experiment is found in stats.txt file. A subset of counter data is found in stats_interval.txt for each experiment. This dataset contains: Hardware Performance Counters raw data from 5 different benchmarks, and the data are logged using two different intervals - 100000ns and 5000ns. a) Dijkstra benchmark - 100000ns b) Dijkstra benchmark - 5000ns c) FFT benchmark - 100000ns d) FFT benchmark - 5000ns e) Bitcount benchmark - 100000ns f) Bitcount benchmark - 5000ns g) QSort benchmark - 100000ns h) StringSearch benchmark - 100000ns Date of data collection: 2016 - 2019 Date that the file was created: November, 2019 License: CC BY