Algorithms For Scheduling Without Preemptions