The User-PC computing system (UPC) is a very low cost master-worker model-based distributed computing platform that aims at leveraging idling personal computers (PCs) resources of a group members. In order to do so, the UPC master receives jobs from users and assigns them to available worker PCs, where they are executed using Docker. We have previously devised and implemented an efficient job-worker assignment algorithm considering CPU core utilization, for the UPC system. The latter finds an optimal assignment that minimizes the makespan in the UPC system. In this paper, we extend this algorithm to fully utilize all workers processing power and further reduce the makespan. The proposed method carefully preempts and migrates jobs from their currently assigned worker to another one, based on specific criteria. For evaluation, we conducted experiments using six worker PCs and up to 72 jobs. The extended algorithm could reduce the makespan by up to 65% compared to other existing job scheduling algorithms.