  We consider job scheduling settings, with multiple machines, where jobs
arrive online and choose a machine selfishly so as to minimize their cost. Our
objective is the classic makespan minimization objective, which corresponds to
the completion time of the last job to complete. The incentives of the selfish
jobs may lead to poor performance. To reconcile the differing objectives, we
introduce posted machine prices. The selfish job seeks to minimize the sum of
its completion time on the machine and the posted price for the machine. Prices
may be static (i.e., set once and for all before any arrival) or dynamic (i.e.,
change over time), but they are determined only by the past, assuming nothing
about upcoming events. Obviously, such schemes are inherently truthful.
  We consider the competitive ratio: the ratio between the makespan achievable
by the pricing scheme and that of the optimal algorithm. We give tight bounds
on the competitive ratio for both dynamic and static pricing schemes for
identical, restricted, related, and unrelated machine settings. Our main result
is a dynamic pricing scheme for related machines that gives a constant
competitive ratio, essentially matching the competitive ratio of online
algorithms for this setting. In contrast, dynamic pricing gives poor
performance for unrelated machines. This lower bound also exhibits a gap
between what can be achieved by pricing versus what can be achieved by online
algorithms.
