## 4 Dataset Structure  
The CRESCO6 energy profiles of linear solvers (C6 EnPLS) dataset, available on a GitHub repository [53], is divided into four blocks of information (corresponding to the four blue folders in Figure 2), providing a holistic overview of the executions: jobs specifications, jobs data, sensors measurements, and final results. The _jobs specifications_ block describes the input parameters of the routines, formed by the combinations of the input dimensions explored. The dimensions and values used are summarised in Table 1. In particular--besides the matrix size, number of computing processors, number of physical nodes, algorithm type, and single/double floating-point precision--we included the _fault tolerance level_ and the _number of simulated faults_ among the dimensions to be explored. Indeed, as previously described, both the considered solvers can be adapted to tolerate up to a configurable number of hard faults (i.e., errors that invalidate all the computation on certain processors). The fault tolerance level refers to the maximum number of faults located anywhere that the procedure can tolerate. In contrast, the number of faults refers to the actual number of errors that have been simulated and recovered during the job run. Furthermore, different _rank assignment_ modes were considered when mapping MPI ranks to computing processors. In \"fill\" mode, each rank is assigned a core trying to fill the physical nodes as much as possible. In \"span\" mode, instead, the ranks are distributed equally on all the sockets of the involved physical nodes. In both cases, the cores not assigned to any rank are left idle but not released to LSF (in order to fulfil the requirement R1 described in Section 3). The _jobs data_ block contains all the information collected about each job run. That is the identification number assigned by LSF to each job, the starting/ending timestamps, and the assigned physical nodes. The _sensors measurements_ block contains measurements collected from the sensors placed on each node in the CRESCO6 cluster. These data include power and energy consumption, ambient temperature, and cooling system data for each node involved in the job run. Table 2 describes a list of the physical measures that are more relevant for this work. Other sensor data collected but not used in this preliminary analysis are described in [49]. The _final results_ block collects execution statistics including execution time, average, and total memory consumption, and any computational error discovered during the executions. Specifically, the main information in this block belongs to two different categories:  
* _The LSF resource usage summary_, which includes: CPU time, maximum and average memory utilisation, maximum number of processes, maximum number of threads, runtime, turnaround time, etc. * _The output of the tested algorithm_, which includes: norm-wise relative error of the solution, powercap energy counters, runtime of the algorithm's subparts (i.e., initialisation and execution), etc. Through this elaborate dataset made available to the community [53], we hope to enable the development of novel techniques devoted to understanding the energy footprint of the considered solvers. The dataset also includes Jupyter notebooks to simplify data