Ideal is using 100% CPU at all times with no paging. Maybe that is 6 jobs maybe 10 sometimes. Depends on the jobs right? How do we get the real % of CPU for a given job? How do we optimize our resources? EtlStats can give you row counts and how long a job runs. It also delivers this into hashed files which could be easily accessed into real load balancing. What would this data structure look like? Lets assume we store % of CPU by job. We need to combine this with run time to stack the jobs into run queues.
Code: Select all
JobA = 20% runs 20 min.
JobB = 50% runs 120 min.
JobC = 25% runs 90 min.
JobD = 25% runs 90 min.
Lets build this. I think we need dependencies as well. JobE needs to run after JobA type of stuff.