A workload scheduler supporting an efficient distribution and balancing of
the workload is proposed. The scheduler maintains (383-386) a profile for
each job; the profile (build using statistics of previous executions of
the job) defines an estimated usage of different resources of the system
by the job. The scheduler tends to select (318-342) the jobs with
complementary resource requirements (according to a combination of their
attributes); this process can be carried out using either a heuristic
approach (318-334) or an optimization approach (335-342). As a result,
the jobs that will be submitted are very likely to consume different
resources of the system; in this way, any contention for the different
resources is strongly reduced.