节点文献

基于系统时空行为特征的内存功耗优化研究

Research on Memory Power Optimization Based on System Spatio-temporal Behaviors

【作者】 朱宗卫

【导师】 周学海; 李曦;

【作者基本信息】 中国科学技术大学 , 计算机科学与技术, 2014, 博士

【摘要】 随着半导体工艺的进步,电路芯片集成度不断提高,功耗问题已经制约了整个系统的发展。功耗过高会导致芯片局部温度过热,对系统性能、成本、可靠性以及寿命都带来了挑战。内存作为整个系统的瓶颈,其大带宽、大容量的需求日益增加,内存功耗问题已成为近年来学术界与工业界的热点问题之一。本文以平衡系统性能、功耗、公平性等参数为目标,跨越计算机系统多个层次,对系统行为分析、内存管理系统、线程调度等关键问题进行研究,为内存功耗控制提供了切实有效的解决方案。本文主要研究内容如下:1.基于系统时空行为的内存管理系统内存系统已经支持功耗状态控制,而状态控制的前提是系统存在空闲内存模块以便进入低功耗状态。由于内存管理系统负责内存资源的分配与回收,因此功耗状态控制的关键将在于内存管理系统如何管理数据在物理内存上的分布,为此,我们首先分析了不同内存地址映射机制对数据分布以及内存功耗的影响,进而针对性地引入了功耗敏感的内存管理系统。其次,从任务的角度刻画系统访存行为,进而指导内存管理系统动态调整分配与释放策略以迎合任务生命周期中不同阶段的资源需求。2.行为指导的任务分组方法仅考虑任务自身的资源需求而忽略应用场景的限制,很难对系统行为进行充分挖掘。为此,我们针对Android操作系统,充分考虑应用场景对任务行为的影响,在保证系统响应速度及公平性的前提下,将具备类似行为特征的线程归并为组进行调度,优化了多核体系结构下高速缓存的竞争问题。3.系统访存行为的刻画内存动态电压频率缩放(DVFS)作为有效的功耗控制机制,与内存功耗状态管理的研究对象不同,数据分布对其缺乏指导意义,该机制主要依赖于任务运行时的资源需求行为。已有针对任务行为的研究往往借助于体系结构(性能计数器PMU)的底层事件参数进行刻画,忽略了高层系统的影响;而部分基于任务阶段性phase行为的研究,通常采用时间片或固定指令长度对任务行为进行划分,但是这对于任务执行指令序列的功能逻辑而言可能是不完整的,从而打破了任务本身的行为。为此,我们从整个计算机系统出发,纵跨多个系统层次(体系结构、操作系统、应用场景以及任务本身等),提出了“功能事件”(其具备功能完整性与时间片段性)作为任务行为刻画的工具,最终形成系统DVFS框架。任务行为特征的刻画是影响系统级功耗优化的关键。本研究与已有研究相比,其创新性在于:1.评估了内存体系结构对于内存功耗行为的影响,并据此提出了功耗敏感的内存管理系统。2.通过刻画任务对内存资源的需求特征定义了任务运行时的行为,并针对任务生命周期中不同时间段所表现的行为差异以及任务间的影响,引入了针对性能/功耗优化的内存管理系统框架。3.通过分析Android应用场景及其编程模型对任务行为的影响,为“线程组”划分提供了理论依据,在保证系统公平性和响应速度的前提下,缓解了多核体系结构的高速缓存竞争问题。4.提出功能事件作为任务行为刻画的工具,并引入系统调用与Android消息作为功能事件的载体,最终形成了操作系统级的DVFS框架。

【Abstract】 With the rapid development of semiconductor technology and increasing integration of circuit chips, system’s power has significantly restrained the improvement of system performance. High power consumption will lead to increasing temperature and directly affect system’s performance, costs, reliability and lifetime. As the bottleneck of whole system, memory system’s large-bandwidth and high-capacity demands are growing day by day. Therefore, memory power has become a hot topic in both academe and industry community.This dissertation focuses on balancing system’s performance, power and fairness of sharing resource. By integrating with the operating system and system architecture, we intend to address the key theories and technologies of task behaviors, memory management system and thread-group scheduler, and so on, which facilitates us to propose the effective memory power management solution. The primary contents are as follows:1. Memory Management System Based on System BehaviorsMemory modules currently provide many power states and system must have enough idle time to fully exploit these states. Since memory management system is in charge of allocating and releasing resources, the key to control these power states lies in how to distribute data on physical memory chips by the aid of memory manager. Therefore, we firstly analyze the impacts of memory address mapping scheme on data distribution and system power, and then a power-aware memory management is introduced to carry out the target optimization. Secondly, from the view of applications’ behaviors, we propose a memory manager framework to improve power efficiency, which can adopt different polices to meet various resource demands during thread’s lifetime.2. Thread-Behaviors Directed Group SchedulerIt may not fully exploit task behaviors only based on its own demands while ignoring scenario’s constrains. Therefore, in order to optimize the cache conflicts of multi-core platform, we firstly illustrate the impacts of Android scenario on thread behaviors and then propose to partition threads having similar behaviors as one group to schedule while keeping system response speed and fairness.3. Descriptive Methods of System BehaviorsAs an effective way to save memory power, the technology of dynamic voltage frequency scaling (DVFS) is different with former power states managements. It is an ineffective way to utilize DVFS while only considering data distributions, and the frequencies will be usually scaled based on thread’s runtime resource demands. There are numerous works on analyzing characteristics of task behaviors by using PMU events at the hardware level, but their granularity is so fine to ignore high level information. Other works aimed at distinguishing thread phase behaviors are normally adopt the time slice or firmed instructions length as the basic unit. They are incomplete from the perspective of thread’s functional logic and this distinction may be blindness and break thread’s natural behaviors. Hence, we introduce the function event tool to illustrate task behaviors throughout whole levels, such as system architecture, operating system and applications. Finally, the DVFS framework is formed with the help of function event tool.Thread behaviors plays the key role in managing system power. Compared with other works, the contributions and innovations of this dissertation include:1. We firstly estimate the impacts of memory architecture on system’s power behaviors and then propose a power-aware memory management system.2. Through analyzing threads’ runtime behaviors on resource demands, we introduce a performance/power directed memory management framework to fully exploit intra-thread varied behaviors and inter-thread dependencies.3. Impacts of Android scenario and its programming model on thread behaviors provide thread-group scheme’s theory basis. The concept of thread-behaviors group scheduler is then proposed to optimize multi-core cache conflicts issue while keeping system’s response speed and thread fairness.4. This dissertation proposes the function event tool to portray task behaviors, and then we provide the system call and Android message to support this tool’s implementation. Finally, operating system’s DVFS scheme is conducted according to function event tool.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络