近年来,能源紧缺问题日益突出。尽管单台计算机功率不大,但总的数量增长是十分迅速。据统计,1998年在美国计算机消耗了13%的电力供应。CPU节能的另一个动因来自笔记本电脑、智能手机等靠电池的电子设备上。为了延长电池使用时间,必须尽可能地减少能量消耗。
一般说来,单位时间CPU 能耗与CPU 在该时刻的工作率有关,工作率越大,能耗越高。而工作率又影响设备的性能,决定程序的反应时间和完成工作所需的时间。当然不同情况下,侧重有所不同。以下是两类常见的问题。
问题一:现有一批任务,每个任务有其到达时刻和截止时刻,任务必须在两者之间完成,但允许在多个不连续的时间区间内运行,CPU 在同一时刻也可执行多个任务。要求这些任务都可按时完成,并且耗用的能量最小。
问题二:假设任务只有到达时刻,没有截止时刻,完成这些任务所消耗的能量有一个上限。要求在耗用能量不超过上限的条件下,使这些任务的流程时间之和尽可能小,这里某个任务的流程时间是指其完成时刻与到达时刻之差。
对以上两个问题,试作出合理的假设,建立模型,设计算法以给出 CPU 如
何处理一批任务的方案,并分析你的算法的性能。
下面给出一组简单数据用于问题一的测试,你的算法应能处理更复杂的情
况。假设CPU 每秒最多可完成1000 万【10(百万)】个单位的运算,到达时刻与截止时刻单位均为秒。