论文部分内容阅读
随着互联网的发展、移动通信技术的成熟以及分布式计算的普及,移动计算(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避免了不安全的时间分配。为避免任务在不同存储介质间的迁移造成过多的开销,本文提出周期任务在线调度算法确保了每一个任务实例在其执行过程中最多迁移一次。实验表明,本文提出的实时任务在线调度算法相比于离线调度算法取得了进一步的能耗节省。此外,为应对日益复杂的计算任务,移动计算设备需要不断提高性能以保证任务的正常执行。然而,当前移动终端采用的日志文件系统却阻碍了系统性能的提升。随着数据的价值越来越大,为了保证数据可靠性,日志文件系统采用"日志"机制避免系统因意外崩溃而导致的状态不一致。日志机制在执行文件系统更新操作时,首先将要更新的数据写入外存的一块"日志区域",之后才执行真正的文件系统更新。当系统崩溃时,未完整提交的数据可以通过日志区域进行恢复。显然,日志机制造成了大量的额外写操作。产生该问题的根源在于当前基于DRAM的Buffer Cache是易失性的,系统崩溃时,正在操作中的数据会因系统断电而丢失。由于NVM是非易失的,在数据完全更新到文件系统之前,该数据会一直安全地存在于NVM中,从而避免了日志机制导致的额外I/O操作。因此,本文利用NVM和DRAM的混合Buffer Cache架构减少日志机制导致的性能损失。为了更好地利用该架构,本文提出了一个"日志感知的页面管理策略"(Joumaling-Aware Page Management,JAPM),该策略针对日志开销进行了优化,同时克服了NVM在写寿命和写速度方面的缺点。此外,针对该架构中同一个事务的数据可能会分布在不同存储介质上的情况,本文进一步提出了一个"部分就地提交"(Partial In-Place Commit,PIPC)的日志机制协调不同的日志提交方式以保证事务执行的原子性语义。实验表明,本文提出的策略在保证数据可靠性的前提下,有效地降低了文件系统的日志开销,提高了系统性能。高效能移动计算的实现一方面得益于移动终端能力的增强,而另一方面则依赖于灵活、高效的移动互联网络。在未来网络规模越来越大的情况下,不仅需要保持网络的灵活性、可控性,而且需要尽可能地减少网络的控制能耗,同时保证消息的高性能传递。随着越来越多的设备参与到移动计算中,当前的网络架构和通信设施在可控性和转发性能方面面临新的挑战。为此,本文提出了一个软件定义的移动计算架构,并对该架构中较高的控制开销问题进行了优化,同时针对移动计算中较高的移动性问题提出了相应的应对策略。新架构的引入实现了网络的灵活控制,但却进一步增加了传统转发设备的压力。由于当前交换设备一般采用TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)进行规则的快速匹配,而基于SRAM的TCAM无论是在存储容量还是功耗方面均远远满足不了当前及未来的需求。考虑到NVM高存储密度、低静态功耗的特点,本文提出了一个基于SRAM和NVM的混合TCAM架构。为更好地利用该架构,本文提出了一个面向混合TCAM架构的规则调度算法(Rule Scheduler for Hybrid TCAM,RSHT)。该算法将最常用的转发规则放在nvTCAM(NVM-based TCAM)中以提高混合TCAM的转发性能,同时将不常用的规则放在sTCAM(SRAM-based TCAM)中以减少对NVM的写操作、提高TCAM的更新效率。实验表明,该研究在保证移动计算网络灵活性的同时,有效地降低了网络的控制能耗,同时显著提高了传统通信设施的转发性能,为高效能移动计算的实现提供了可靠的保障。