Optimizing Multicore System Performance Using Dynamically Reconfigurable Architectures on FPGAs