Skip to content

Latest commit

 

History

History
63 lines (59 loc) · 2.14 KB

journal.org

File metadata and controls

63 lines (59 loc) · 2.14 KB

Notebook for ER01 project

Git repo: https://github.com/rmonat/ER01 Pad vrac: http://pad.aliens-lyon.fr/p/ER01CLMM

1 Compile all executables

Use make in main dir to make all executables. Then, go into generation and run ./run_generation.sh Then, to launch the benchmarks, go into sortalgo and run python3 bench.py (/!\, be sure to remove results.csv before)

2 Experiment 1

2.1 Executables

2.1.1 design of array generator

  • Input: Arguments:
    1. Seed for random generator
    2. Array size

2.1.2 design of single sort programs

  • Input: stdin: integer separated by spaces: length n1 n2 ...
  • Output: stdout: sort time

2.2 Experiment settings

2.2.1 Input: array

2.2.2 Output: Sort time

2.2.3 Factors

2.2.3.1 Controllable factors:

  • Input size
  • Compilation options
  • Allowed memory

2.2.3.2 not so controllable but mesurable:

  • SSD/HDD
  • hardware (CPU, motherboard, etc)

2.2.3.3 Uncontrollable factors:

  • Other processes on the computer -> Launch ONLY experiment after booting
  • Temperature
  • Vibrations
  • Cache allocations

2.2.4 Measure time of experiments

Use both:

2.2.4.1 internal measure in programs

Allow to measure only sort time. gettimeofday or (better) clock gettime(CLOCK REALTIME,&tv);); http://mescal.imag.fr/membres/arnaud.legrand/teaching/2015/M2R_EP_measurements.pdf

2.2.4.2 whichtime: external linux time

Measure global time including I/O (! time given in h:m:s)

2.3 Experimental process (bench.py)

2.3.1 1. Generate dataset

The set of random arrays is generated using generation/generate32. We generate ?? arrays of sizes 10^1 - 10^8 with step x2. 5 files from each step, right now steps = 10^i, 1 <= i <= 8 We generate ?? arrays of each sizes.

2.3.2 2. Run executables

All executable are run ?? times on every generated arrays. Right now I run them once…

3 Results