It seems to be a corollary to the laws of physics that, all else being equal, higher performance devices are necessarily less energy efficient than lower performance devices. Conceptually there is an energy efficiency spectrum of design points, with high performance and low energy efficiency on one end, and low performance and high energy efficiency on the other end. As in most technologies, there is not a universal sweet spot for computer chips that is best for all situations. For example, there are situations when there are critical tasks to be done, when performance is more important than energy efficiency, and there are situations when there are no critical tasks, when energy efficiency may be more important than performance.Speed-scalable processors aim to resolve this conflict by allowing the operating system to dynamically choose the performance to energy trade-off. The resulting optimization problems involve scheduling jobs on such a processor and have conflicting dual objectives of quality of service and some energy related objective. This engenders many different optimization problems, depending on how one models the processor, the performance objective, and how one handles the dual objectives.In this thesis we map out a reasonably full landscape of all possible formulations, determining which assumptions drive computational tractability. Beyond identifying the individual computational complexities, we use algorithmics as a lens to study the combinatorial structure of such trade-off schedules. In particular, we give several general reductions which, in some sense, reduce the number of problems that are distinct in a complexity theoretic sense. We show that some problems, for which there are efficient algorithms on a fixed speed processor, are NP-hard. Finally, we present several primal-dual based polynomial time algorithms.iii 8 Let j be the green job. The set Ψ j := { 3, 4 } corresponds to the 2 execution intervals of j. The speeds at the border of the first execution interval, s ,3,j and s r,3,j , are both equal to s 2 . Similarly, the border speeds in the second execution interval, s ,4,j and s r,4,j , are both equal to s 1 . The value q ,j = 3 refers to the first and q r,j = 4 to the last execution interval of j. Finally, the indicator variables for j in the depicted example have the following values: y r,j (3) = y ,j (3) = 1 (borders at some release time), y r,j (4) = y ,j (4) = 0 (borders not at some release time), χ j (3) = 1 (not j's last execution interval), and χ j (4) = 0 (last execution interval of j). in the design process a car designer has to select a sweet spot on this spectrum as a design goal. There is seldom a uniquely defined sweet spot that is best for all situations, which is why both sports cars and economy cars are produced.Although information technology is no exception to this corollary, unlike other technologies, historically the sweet spot was invariably skewed towards the high performance low energy efficiency end of the spectrum. Energy consumption was simply not a first ...