  This paper considers scheduling on identical machines. The scheduling
objective considered in this paper generalizes most scheduling minimization
problems. In the problem, there are $n$ jobs and each job $j$ is associated
with a monotonically increasing function $g_j$. The goal is to design a
schedule that minimizes $\sum_{j \in [n]} g_{j}(C_j)$ where $C_j$ is the
completion time of job $j$ in the schedule. An $O(1)$-approximation is known
for the single machine case. On multiple machines, this paper shows that if the
scheduler is required to be either non-migratory or non-preemptive then any
algorithm has an unbounded approximation ratio. Using preemption and migration,
this paper gives a $O(\log \log nP)$-approximation on multiple machines, the
first result on multiple machines. These results imply the first non-trivial
positive results for several special cases of the problem considered, such as
throughput minimization and tardiness.
  Natural linear programs known for the problem have a poor integrality gap.
The results are obtained by strengthening a natural linear program for the
problem with a set of covering inequalities we call job cover inequalities.
This linear program is rounded to an integral solution by building on
quasi-uniform sampling and rounding techniques.
