NoC-centric partitioning and reconfiguration technologies for the efficient sharing of multi-core programmable accelerators