This is the Python implementation of GIL and GIL+ described in:
Yi Ding, Ahsan Pervaiz, Michael Carbin, and Henry Hoffmann. Generalizable and Interpretable Learning for Configuration Extrapolation. In the 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2021).
This code is licensed under the MIT license, as found in the LICENSE file.
- Python (>=3.6)
- scikit-learn
The data
folder includes data for 10 HiBench workloads with 2000 configurations each on 3 hardware (skylake, haswell, storage):
perf
: application configurations, performance (throughput).llsm
: low-level system metrics.
python extrapolate_low2high.py --workload als --outcome throughput --n_start 200 --n_step 20 --n_iter 20
python interpret_low2high.py --workload als --outcome Throughput --n_start 200 --n_step 20 --n_iter 20
python extrapolate_mid2high.py --target has --workload als --outcome Throughput --n_start 300 --n_step 20 --n_iter 10
python interpret_mid2high.py --target has --workload als --outcome Throughput --n_start 200 --n_step 20 --n_iter 10