A study on the fault tolerance of DIvisive ANAlysis, a top-down clustering algorithm.
$ mkdir build
$ cd build
$ cmake ..
$ make
$ ./datagen <#instances> <optional -f to use float> <#attributes>
$ ./simple_diana -i <input text file> -o <golden binary file> -t <kmeans threshold> -l <iterations>
Spacial duplication of the DIANA kernel. Two parallel executions are ran and then the results are compared, possibly detecting an SDC. If so, a counter is updated in a file.
$ ./dwc_diana -i <.txt input> -o <.bin output> -d <.txt name to count detected sdcs> [optional: -a <.txt output1> -b <.txt output2>]
Duplication and comparison of critical variables and the operations that update them.
Before running the benchmark, the script https://github.com/UFRGS-CAROL/radiation-benchmarks/blob/master/scripts/install.py should be executed. This script will create the folder to store the log files and create the conf file in /etc/radiation-benchmark.conf
$ ./radiation_diana <-i input file> <-o output file> <-g golden file> <-t kmeans threshold>
- Configuration used for Core i7-7700HQ (simple_diana takes 3.5 seconds with this processor)
- input and gold generated $ ./datagen 7000 -f 20 $ ./simple_diana -i 7000_20f.txt -o diana_gold.bin -t 0.001
- configurations executed $ ./radiation_diana -i 7000_20f.txt -o diana_out.bin -g diana_gold.bin -t 0.001 -l 1000000