关键词:
高效能移动计算
非易失存储器
任务调度
日志机制
网络通信性能
摘要:
随着互联网的发展、移动通信技术的成熟以及分布式计算的普及,移动计算(Mobile Computing)逐渐融入到人们的生活中。通过移动计算技术,人们可以随时随地实现信息的交互与资源的共享。随着越来越多的智能设备参与到移动计算中,在可以预见的未来,移动计算将彻底改变人们的生活方式和生活习惯,具有极大的发展前景和发展空间。伴随移动计算技术的飞速发展,不断涌现的应用场景和应用需求对移动计算技术提出了新的挑战。其中,性能和能耗问题尤显突出,是困扰移动计算技术发展的两大难题。为应对日益复杂的计算任务,移动计算终端需要不断提高其性能以保证任务的正常执行。面对移动终端有限的电池容量,如何在保证任务完成的前提下尽可能多地降低能耗也是目前迫切需要解决的问题。此外,移动计算活动的正常进行不仅需要灵活的网络管理和控制,而且在计算规模越来越大的情况下,需要尽可能地保证消息的低延时传递。新型非易失存储器(Non-VolatileMemory,NVM)的出现,为以上问题的解决提供了改良和变革的契机。不同于传统静态随机存储器(Static Random Access Memory,SRAM)和动态随机存储器(Dynamic Random Access Memory,DRAM)的低功耗、非易失、高密度特性使其具有广阔的应用前景。低功耗特性可使移动终端日益增长的存储系统能耗获得改良;非易失特性消除了当前移动终端为保证数据一致性而导致的性能损失;高密度特性提高了存储系统的空间可扩展性,对有较大空间需求的场景具有较好的表现。然而,相比于传统存储器,非易失存储器还有许多难以回避的问题,诸如读写延迟较长、读写不均衡以及一般都具有写耐久的限制。因此,如何合理地利用非易失存储器解决当前以及未来移动计算中存在的问题,同时克服其固有的缺陷,是一个值得研究的重要问题。本文围绕新型非易失存储系统的设计与优化策略展开了研究,旨在解决阻碍高效能移动计算发展的诸多障碍。本文首先针对当前移动终端越来越高的能耗问题展开研究,利用NVM低功耗的特点对该问题进行了探索。将任务安排在NVM中执行尽管可以取得能耗的节省,但由于NVM相比于DRAM具有较低的性能,因此,将任务安排在NVM中执行将导致任务执行时间的增加。由于许多移动计算任务存在实时性约束,执行时间的增加将导致任务存在不能在其截止期(deadline)前完成的风险。为此,本文采用了一种混合NVM和DRAM的主存架构,该架构综合利用NVM低功耗与DRAM高性能的优势保证任务集在可调度的前提下,尽可能地将更多的任务安排在NVM中执行,以取得最大的能耗节省。针对非周期任务集,本文提出了一种非周期任务离线调度(Offline-Aperiodic)算法,而针对周期任务集,本文分别考虑了静态优先级调度策略和动态优先级调度策略,并以两种调度策略的代表性调度算法速率单调(Rate Monotonic,RM)调度算法和最早截止期优先(Earliest Deadline First,EDF)调度算法为例,提出了相应的 Offline-RM 和 Offline-EDF 离线调度算法。本文提出的离线调度算法为所有的任务预留了其最差情况执行时间(Worst-case Execution Time,WCET),以保证任务集的可调度性。实验表明,相比于传统DRAM主存架构的调度算法,本文提出的三个面向混合主存的离线调度算法分别取得了 28.8%、25.69%和38%的平均能耗节省。由于任务的实际执行时间往往远小于任务的最差情况执行时间,因此,已完成的任务节省出来的空余时间(Slack time)可以进一步分配给未完成的任务,以使更多的任务可以安排在NVM中执行。为此,在离线调度算法的研究基础上,本文提出了能量感知的实时任务在线调度算法。对于非周期任务集,当任务执行完成时,我们对其产生的空余时间进行回收,并检查是否可以将更多的任务安排在NVM中执行。对于周期任务集,由于任务周期性到达,空余时间的分配可能会对后续的任务产生影响,同时,不同优先级任务的抢占行为进一步增加了任务集无法调度的风险。为此,针对RM调度算法,本文提出的在线调度算法针对最近的deadline进行空余时间的分配;而对于更加灵活的EDF算法,本文则从全局的角度对可用的空余时间进行管理,通过引入队列Ready-Oueue和Preempt-Queue避免了不安全的时间分配。为避免任务在不同存储介质间的迁移造成过多的开销,本文提出周期任务在线调度算法确保了每一个任务实例在其执行过程中最多迁移一次。实验表明,本文提出的实时任务在线调度算法相比于离线调度算法取得了进一步的能耗节省。此外,为应对日益复杂的计算任务,移动计算设备需要不断提高性能以保证任务的正常执行。然而,当前移动终端采用的日志文件系统却阻碍了系统性能