Using multi-objective design space exploration to enable run-time resource management for reconfigurable architectures