1. A method for scheduling workload in a system with a server node and one or more manycore coprocessors, comprising: receiving requests from processes or offloads to the coprocessors, each process or offload requesting a predetermined quality of service (QoS) including a request for memory and threads for a specified duration; determining a fit function, which determines the eligibility of a process or offload if one of the coprocessors has sufficient memory to satisfy a process' QoS and sufficient memory and threads to satisfy an offload's QoS, wherein the fit function first checks a memory resource fit for a process list and second, for each coprocessor, checks a thread resource fit; determining confidence of node n for estimating the completion time of task tij by: 
 conf ij n =1/(1+number of pending tasks on n +number of executing tasks on n ); determining an urgency function for scheduling an offload or a process based on priority, age, arrival time, credit and quality of service, wherein the urgency is calculated by: 
 Urgency= c 1 *e −c2*slack where c 1 and c 2 are constants and slack is a difference between a deadline and expected completion time; selecting a process from a process list and an offload from an offload list based on the fit function and the urgency function.