1. A computer-implemented method for scheduling a plurality of tasks, wherein tasks are assigned respectively to one of a plurality of processors, the method comprising: in response to respective arrivals of new jobs, determining, using one or more computer processors and memory, weighted lower bound completion times for a plurality of jobs respectively based on an importance of its respective job, wherein a job comprises a plurality of tasks; and determining, using one or more computer processors and memory, a task schedule for the plurality of processors respectively based on a ranked order of the plurality of jobs ranked according to the weighted lower bound completion times to reduce a weighted sum of job completion times.