Design and analysis of the Chameleon scheduling algorithm for reconfigurable computing