FADSE - Framework for Automatic Design Space Exploration
This framework is trying to include as much ADSE algorithms as possible, to offer connectors to existing computer simulators (M5, GEMS, Multi2sim, NS3, Sniper etc.) and to run in parallel the design space exploration process.
If you are using FADSE in your research please cite my PhD thesis: Horia Calborean - "Multi-Objective Optimization of Advanced Computer Architectures using Domain-Knowledge" PhD Thesis, “L. Blaga” University of Sibiu, November 25th 2011 (PhD supervisor: prof. univ. dr. ing. Lucian Vintan) - Thesis, BibTex
FADSE is currently able to:
- perform automatic design space exploration using well known algorithms (tested with NSGA-II, SPEA2, SMPSO, OMOPSO; other available are: AbYSS, PESA2, FastPGA and many others from the jMetal library)
- run the simulation in a distributed manner on multiple computers
- fully integrated with the GAP simulator and GAPtimize code optimization tool, M-SIM3, M-SIM2 and UniMap simulators
- partial integration (not all the parameters are supported) with: M5, Multi2Sim and Sniper
- included metrics: hypervolume (and hypervolume two set difference), 7 point average distance, coverage, hypervolume comparison between multiple runs, number of unique individuals generated by the algorithm, etc (see Compute Metrics with FADSE)
- included monitoring application that enables the user to observe the progress of the algorithm
- uses MySQL for database support (results reuse of already simulated configurations)
- tested on: commodity networks (LAN), Windows based supercomputers, Linux based HPC
- reliable against faulty networks, faulty clients, faulty simulators
- supported parameters: arithmetic/geometric progression, list of strings, boolean
- relations between parameters are also permitted (e.g. if p0 == false THEN p1 and p2 are invalid)
- fuzzy relations can be imposed between parameters (e.g. if p0 is small AND p2 is medium THEN p1 is large) - these rules might help the algorithm obtain a faster convergence
- constraints can be imposed (dl1_nsets * dl1_bsize * dl1_assoc >= 4096B, dl2_size > dl1_size, etc.)
How to work with FADSE
A short tutorial on how to start working with FADSE is avaiable here.
Some papers using/describing FADSE
The full list available here:
- Ralf Jahr, Theo Ungerer, Horia Calborean and Lucian Vintan - Automatic Multi-Objective Optimization of Parameters for Hardware and Code Optimizations, The 2011 International Conference on High Performance Computing & Simulation(HPCS 2011), 4 – 8 July, 2011, Istanbul, Turkey. Paper selected for Outstanding paper award
- Horia Calborean, Ralf Jahr, Theo Ungerer and Lucian Vintan - Optimizing a Superscalar System using Multi-objective Design Space Exploration, 18th International Conference on Control Systems and Computer Science (CSCS 18), 24 - 27 May, 2011, Bucharest, Romania. Paper
- Horia Calborean and Lucian Vintan - Toward an efficient automatic design space exploration frame for multicore optimization, Sixth International Summer School on Advanced Computer Architecture and Compilation for Embedded Systems (ACACES), July 2010, Terrassa (Barcelona), Spain. Paper, Poster.
- Horia Calborean and Lucian Vintan - An automatic design space exploration framework for multicore architecture optimizations, In Proceedings of the 9-th IEEE RoEduNet International Conference, Sibiu, Romania, June 2010. IEEE Computer Society. Paper, Talk Best paper award
FADSE was presented at HiPEAC Computing Systems Week , Chamonix, April 2011] by Ralf Jahr in a presentation called FADSE and GAP Design Space Exploration for the Grid Alu Processor (GAP) with the Framework for Automatic Design Space Exploration (FADSE).