学术活动

技术报告:

技术报告是技术研发历程的真实记录。不仅记录相关技术的发展历史、脉络、细节和原始的实验数据,更可以作为经验积累,成为后续学术论文、专利申请等相关技术成果的创新基础。技术报告面向北京大学微处理器研发中心全体师生,包括中心教师、博士后、博士生、硕士生和本科实习生。如有需要,都可以进行技术报告。每周四晚上18302100固定为中心技术报告时间。专用邮箱:academic@mprc.pku.edu.cn

Time:2014年9月4日 下午13:30-14:30

Title: 基于分组全局历史的Perceptron转移预测器

Author: 黄明凯

Abstract: 

     现代微处理器设计由于受到电源电压等比例下降定律失效的影响,越来越关注微处理器的能效性。转移预测器是微处理器流水线中很重要的一个部件,对微处理器的能效性有重要影响。转移预测器结构的发展使得转移预测能捕获更远的历史信息,但关联信息的形式保持稳定。本文提出了基于分组全局历史(grouped global history,GGH)的Perceptron转移预测器(grouped global history Perceptron,GGHP)。GGHP将全局历史按指令地址划分成多个子历史组,能追踪更远的历史信息。使用GGHP相比于原始的Perceptron没有新增大容量存储及复杂逻辑。试验结果表明,GGHP相比于Perceptron能降低MPKI达4.76,提升IPC达5.20%,从而提升微处理器的能效性。

 

 

Time:2014年4月23日 下午13:30-14:30

Title: 一种粗粒度互斥型末级高速缓存旁路策略

Author: 李凌达

Abstract: 

     相比于包含型和非包含型末级高速缓存,互斥型末级高速缓存拥有更好的性能,因此在现代处理器中被广泛使用。但是传统高速缓存管理策略在互斥型末级高速缓存中表现很差,并且互斥型高速缓存层次结构会显著增加片上互连网络上的通讯量。最近研究人员提出了一些旁路策略来改善互斥型末级高速缓存的性能。通过旁路局部性差的块,这些策略可以使末级高速缓存装入更多局部性好的块来改善性能。但是这些现有旁路策略无法减少片上互连网络上的通讯量,而且它们往往需要程序计数器等互斥型末级高速缓存很难获得的额外信息,并使用较大的存储开销。本文提出了一种叫做粗粒度旁路监测器(Coarse-grained Bypass Monitor, CBM)的针对互斥型末级高速缓存的旁路策略。CBM包含两种模式:旁路模式和替换模式,并通过统计末级高速缓存中进入块和替换块的重用距离之间的关系来指导两种模式的切换。如果一个被旁路的块没有被修改过,则CBM不把该块发给末级高速缓存以降低片上互连网络上的通讯量。实验表明在互斥型末级高速缓存中,CBM的性能要优于LRU、DIP和TC-UC等策略,并且相比LRU可以减少7.6%的片上互连网络通讯量,并且对于1MB的末级高速缓存CBM只需要1.19KB的额外存储开销。

 

 

Time:2012年11月23日 下午13:30-14:30

Title: 应用感知的rank映射方法和行缓冲管理策略

Author: 谢明利

Abstract: 

     片上多核系统(Chip Multi-Processor,CMP)的普及使得主存成为多核共享的主要资源,多个应用同时运行共同访问主存,各应用访存交易之间相互交错互相影响,破坏单个应用访存序列原有的行局部性,引发额外的行冲突,从而降低主存系统的性能。主存性能逐渐成为制约系统性能的关键。为了提高主存系统的性能,生产厂商通常会增加DRAM芯片密度或数量来满足计算机系统对主存性能的需求。但是,这些方法同时增加了DRAM芯片的功耗开销,功耗开销成为制约主存性能发展的重要因素。 本文使用bank划分的方法为不同的应用分配不同的bank来隔离各个应用的访存交易,消除应用访存交易之间的相互影响,提高主存系统的性能。本文还提出应用感知的rank映射方法(Application-Aware Rank Mapping,AARM)和应用感知的行缓冲管理策略(Application-Aware Page Policy,AAPP)来提高DRAM主存系统的power efficiency。在程序运行的过程中监测应用的访存特性,AAPP根据应用的访存行局部性和密集度来选择最佳的行缓冲管理策略;AARM将访存密集型和访存不密集的应用映射到不同的rank,延长低负载rank处于空闲状态的时间。

 

 

Time:2012年11月23日 下午18:30-19:30

Title: An Efficient Dynamic Memory Bandwidth Limit Mechanism for Multimedia MPSoCs

Author: 刘阳国

Abstract: 

     Multi-processor System-on-Chip (MPSoC) are wildly used for multimedia applications which are usually memory intensive. A typical multimedia application is implemented in multiple IP cores which usually require both real-time constrains and high memory bandwidth. Since memory bandwidth is shared by all IP cores in an MPSoC, interferences caused by memory access streams from different IP cores can severely impact system performance and cause a waste of power consumption. Conventional memory bandwidth management techniques that emphasize on improving fairness of bandwidth allocation or maximizing system throughput do not consider these interferences. Therefore, we propose a dynamic memory bandwidth limit mechanism (DBLM). DBLM minimize interferences among memory accesses by constraining IP cores from overtaking memory bandwidth while meeting the high bandwidth requirement. We also apply a priority division scheme in DBLM to guarantee the real-time requirement. Experimental results shows that the proposed mechanism significantly improve the system performance and reduce the waste of power consumption.

 

 

Time:2012年10月25日 下午13:30-14:30

Title: 字节码指针指导的解释器中的间接转移预测

Author: 黄明凯

Abstract: 

     解释器广泛应用于虚拟机、脚本语言和原型系统中。前人工作中指出解释器分派部分的间接转移难以预测,对整体的性能影响较大。该间接转移用以跳转到下一条字节码对应的实现。常见的解释器实现中一种字节码对应一份实现,实现中最后是一条间接转移。因为一种字节码可以有多种后续字节码,该间接转移有多个跳转目标,从而导致预测准确度较低。我们注意到字节码指针和跳转目标有比较强的关联,所以我们提出了字节码指针指导的解释器中间接转移预测技术(Bytecode Pointer Guided Indirect Branch Prediction in Interpreter,BGI)。该技术使用字节码指针和指令指针异或的结果索引间接转移目标缓冲(Indirect Branch Target Buffer,IBTB),从而精确地预测转移目标地址。实验结果表明,BGI相对于常用的使用转移目标缓冲(Branch Target Buffer,BTB)的预测器能提高平均性能16%,相对于TTC(Tagged Target Cache)预测器,能提高3.8%。

 

 

Time:2012年3月31日 下午13:30-14:30

Title: 动态翻译系统中的间接转移软件关联预测器

Author: 贾宁

Abstract: 

     在动态翻译系统中,对控制转移指令的处理方法是影响系统性能的主要因素,其中,间接转移指令在每次执行时都须进行一次地址转换,成为翻译系统主要的性能开销来源。本文提出了一种基于代码复制技术的软件关联预测器,利用低开销,高准确率的软件预测方法大幅降低了间接转移指令带来的开销。该关联预测器利用静态路径信息表达转移预测所需的动态路径历史信息,采用代码复制技术,使处于不同转移场景的转移指令进入到不同的代码副本,实现了关联预测。在不增加动态指令数的情况下,仅以少量的静态代码冗余作为代价,大幅度提高了软件预测的准确率。实验表明,软件关联预测器可将软件预测的预测准确率从58.9%上升至82.2%,而平均静态代码数量仅增加1.6%,翻译系统的平均性能开销降低14.7%,其中perlbmk与perlbench两个间接转移指令敏感的测试程序性能开销分别降低36%与31.8%。

 

 

Time:2011年9月30日 下午13:30-14:30

Title: 剖视信息指导的页粒度末级高速缓存插入策略控制方法

Author: 黄涛

Abstract: 

    现代处理器采用最近最少使用LRU替换算法管理末级高速缓存。该算法实现简单,在面对较好局部性访问模式的应用时性能较高,但是,LRU算法无法有效区分局部性差的数据访问模式。在面对内部数据区域间局部性差异较大的访存密集型程序时,LRU算法会引发高速缓存污染问题,即将未来需要被使用到的高速缓存行中的数据替换出去而换入未来不会被使用的数据。高速缓存污染会增加额外的失效,带来性能损失。由于上一级高速缓存的过滤作用,末级高速缓存中的数据污染问题更加严重。本文设计并实现一种页一级局部性软件剖视分析方法,检测并确定局部性较差、对高速缓存访问命中贡献不大的污染页集合;其次,在剖视信息的指导下,本文通过在页表项中加入末级高速缓存插入策略控制位,用于决定不同页中数据进入末级高速缓存的插入位置。本文提出的方法,只需要对现有硬件进行少量修改,不增加存储空间开销。实验结果表明,采用本文提出的末级高速缓存插入策略优化方法,可以显著降低访存密集型程序的末级高速缓存访问失效,提高末级高速缓存访问命中率。

 

 

Time:2011年9月13日 下午13:00-14:00

Title: 基于亲和性感知的DMA缓存管理

Author: 钟祺

Abstract: 

    随着设备的访问延迟不断降低,计算机I/O的软件处理开销也同步增长。例如,交换式以太网已经能够提供千兆及更高的网络通信带宽,但大量的时间却用于协议栈的数据包拷贝和解析。此外,由于设备的带宽不断提高,处理器单位时间内需要处理的I/O请求数量也随之增加,伴随着频繁的I/O一致性维护工作,并导致Cache污染问题。特别是在网络计算机中,部分计算任务借助网络向服务器端迁移,因此外设的工作效率决定着系统的整体性能。本文提出了一种基于亲和性感知的DMA缓存管理策略(Affinity-aware DMA Buffer Management, ADB)来减少I/O处理过程引入的访存开销。首先,根据亲和性对DMA缓存分类管理。当输入缓存释放后,将其标识为高亲和性,并由下一次输出过程使用,减少用户态向内核态拷贝数据时访问主存的次数。同理,在输出缓存释放后,将其标识为低亲和性,供下一次输入过程使用,减少软件I/O一致性维护的开销。其次,在I/O数据收发不平衡时,ADB向uncacheable的区域拷贝数据,免除I/O一致性维护,同时保证缓存释放后仍具有较高的亲和性,使后续的I/O输出过程直接从Cache中读写数据。本文在Linux-2.6.32中实现了ADB-MAC,用于管理网卡的DMA缓存,并基于PKUnity2 SoC平台进行评测。结果表明,ADB-MAC通过减少I/O处理过程中CPU访问主存的次数,降低网络延迟和提高带宽;同时,由于ADB-MAC集中管理缓存,缩短缓存的重用距离,使应用的数据尽量驻留在Cache中,从而提高nfs文件系统和scp等实际应用的性能,性能平均提升幅度为5.2%到8.8%.

 

Time:2011年9月1日 晚上18:30-19:30

Title: 一种基于编译指导历史栈的转移预测机制

Author: 谭明星

Abstract: 

   转移预测技术是挖掘指令级并行性的重要手段之一,对现代处理器的性能具有重要影响。现有预测器主要有静态预测器、基于计数器的预测器、基于perceptrons的预测器、基于PPM(Predicion by Partial Match)的预测器等。静态预测器使用简单硬件结构和策略,并依赖于代码重构等编译优化,预测准确率较低;基于计数器的预测器根据饱和计数器和有限状态自动机,使用较为简单的硬件实现较高的预测准确率;基于perceptrons的预测器借鉴了模式分类领域的感知机原理,利用长历史信息和大容量存储空间进一步提高了预测准确率;基于PPM的预测器借鉴了数据压缩领域的部分匹配算法,能够使用非常长的历史信息(200~700位)实现很高的预测准确率,但控制逻辑和硬件结构非常复杂,难以实现。在现有动态预测器中,转移历史信息是影响预测准确率的关键因素。本文提出了一种基于软硬件协作的历史信息修正方法,只需要很少的硬件开销即可有效使用长历史信息。本文方法依赖于编译器根据源代码级别的循环代码结构、函数调用代码结构,识别和分析转移指令与转移历史之间的关联性,并显式地插入引导指令对转移历史信息进行保存和恢复,从而使得转移指令能够关联到动态距离非常远的转移历史信息。本文方法仅需要添加一个512bits的CHS(Compiler-guided History Stack)和少量简单控制逻辑,易于实现。基于SPEC2000和SPEC2006评测程序的评测结果表明,本文方法与gshare预测器相结合,平均降低28.7%的MPKI,提高性能10.4%。同时,本文方法也可以与OGEHL等复杂预测器相结合,并获得少量性能提升。

 

Time:2011年7月19日 中午13:00-13:30

Title: 高能效的差值相关预取器

Author: 党向磊

Abstract: 

   超标量处理器虽然具有一定的访存延时包容能力,但当访存指令发生片上缓存失效并访问主存时,耗时的存储访问仍将导致流水线最终由于指令窗口溢出而停顿。随着存储器与处理器之间性能差距的持续扩大,访存延时逐渐成为制约处理器性能的关键因素。数据预取技术能够提前预测并取回处理器所需数据以而隐藏访存延时。基于GHB(Global History Buffer)的差值相关预取器(CZone/Delta Correlation Prefetcher, 简称CDC)通过对多种访存模式的捕获在优化访存性能方面取得优势。但CDC在预取跨距访存模式时存储利用效率较低,并会产生大量的冗余预取,从而限制了性能优化空间并带来较大的功耗开销。为进一步提高预取器的性能优化效果并降低预取带来的功耗开销,本文提出一种高能效的差值相关预取器SFDP(Stride Filtered Delta Prefetcher)。SFDP针对不同访存模式的特点,分别选取与该访存模式相匹配的最合适的预取结构对访存模式进行捕获和预取,即使用SFT(Stride Filter Table)捕获并预取跨距访存模式、使用GHB捕获并预取其它复杂的访存模式,以提高预取器的存储利用效率,优化预取器的性能。同时,本文方法采用两种过滤机制对预取器发出的冗余预取进行识别和过滤,减少对性能提升没有贡献的冗余预取,从而降低预取器访问片上缓存的带宽需求和功耗开销。对SPEC CPU2000基准测试程序的评测表明,与CDC相比,SFDP在存储容量相同的情况下能够取得更好的性能优化效果,同时将因预取而增加的片上二级缓存(L2 Cache)功耗由32.08%减小到15.69%。

 

Time:2011年6月9日 中午13:00-13:30

Title: 面向存储级并行的数据布局优化

Author: 钟祺

Abstract: 

    地址映射技术将数据散布到主存的多个bank,利用存储级并行和行缓存局部性提高处理器的访存效率. 本文通过观察数据在主存中的分布情况,发现已有的研究工作并未考虑随主存容量同步增长的bank数,使得bank利用率偏低,导致主存潜在的性能未被充分挖掘. 针对这一问题,提出了面向存储级并行的数据布局优化技术PAB(Page Allocation over Bank for Memory Level Parallesim),该技术以数据区为单位,调整数据在主存中的布局,提高大容量主存的bank利用率. 同时,PAB完全工作在操作系统层,利用编译器和操作系统提供的信息对数据区进行描述,并根据主存的实际配置扩展了内存分配器,既不用修改应用程序,也不依赖特殊的底层硬件. 最后,基于两款真实处理器(分别面向桌面和嵌入式计算)对来自NAS Benchmark和SPEC CPU2000中的存储敏感型基准测试程序进行详细评测. 结果表明,在不影响Cache失效率的情况下,PAB能降低程序的执行时间,平均降低6.8%,最高达到16%。

 

Time:2011年4月8日 中午14:30-15:00

Title: 使用旁路监测器提高高速缓存替换算法性能

Author: 李凌达

Abstract: 

    Cache特别是最后一级cache的性能对处理器性能至关重要,而替换算法对cache性能有着显著的影响。传统替换算法通常会给新进入的块分配空间并期待其以后会再次被使用,但是实验表明43.2%的块在进入最后一级cache后从来不会被使用就被排出,对这些块不把它们放入cache是最好的方法。但是错误地使cache旁路经常被使用的块会降低性能,因此以前一直使用像死亡块预测这种复杂的技术来控制旁路。本文提出了使用旁路监测器(Bypass Monitor)来监测程序的行为,并指导是否进行旁路。Bypass Monitor记录在使用和不使用旁路的情况下cache分别保存的块,通过比较谁先命中来决定是否进行旁路。实验结果表明Bypass Monitor显著提高了cache替换算法性能表现。使用了BM的LRU算法LRU_BM相比基础LRU算法MPKI减少了12.9%,IPC提高了24.2%,相比DIP和DRRIP算法IPC分别提高了14.0%和14.3%。针对其他cache替换算法包括随机算法、DIP和DRRIP等,BM也可有效地提高性能。Bypass Monitor的实现非常简单并且只需要115B的额外存储。

 

Time:2011年3月31日 中午13:00-13:30

Title: 一种面向最低一级Cache的分区域软件划分方法

Author: 黄涛

Abstract: 

    随着处理器和存储器之间速度差距的不断扩大,最低一级Cache失效产生的系统开销逐渐增大,成为制约计算机整体性能提高的重要瓶颈之一。处理器采用LRU替换算法管理Cache。该算法不能区分不同的访问模式,无法根据程序局部性的变化进行调整。在运行工作集较大、局部性较差的访存密集型程序时,该算法会引发Cache污染。Cache污染是指将未来需要使用的数据替换出Cache,而换入未来不会被使用的数据。Cache污染会导致Cache失效率增高,访存延迟增大,系统性能降低。本文在相关工作的基础上,以内存区域为单位对最低一级Cache的冲突和污染问题进行分析。通过分析不同内存区域间的Cache冲突,并结合页着色方法,本文提出并实现了一种面向最低一级Cache的分区域划分策略。实验表明,在本文提出方法的指导下,评测程序最低一级Cache的每千行指令失效数平均下降了15.85%,最高下降了32.7%;运行时间平均减少了6.65%,最大减少了11.59%。

 

Time:2010年12月20日 晚上18:30-20:00

Title: CALC:采用通信结构级别的Cache优化系统芯片中内存访问性能和功耗开销

Author: 刘丹

Abstract: 

    为了满足SoC系统庞大的访存需求,工业界通过增加内存芯片内部数据操作的宽度提高内存的带宽总量,并提出新的片上总线通信协议提高内存的带宽利用率。然而,SoC中各个功能部件只考虑与其直接相连的片上总线的变化,集中关注如何与新的总线协议兼容,而不考虑如何增加访存交易的长度。这一问题不仅导致内存增加的带宽无法有效用于访存性能的提升,还会造成内存功耗开销的浪费。为解决此问题,本文提出CALC方法,在每一个IO控制器和视频解码器与片上总线之间均增加一级Cache设计,并将Cache块的大小设置为内存芯片内部数据操作的宽度,从而利用Cache的读预取和写合并功能有效提高内存的带宽利用率。实验结果证明,在典型应用中,CALC方法对访存性能和内存功耗开销的优化比例分别达到47%和22%以上,而其面积开销仅占芯片面积的3.68%,功耗开销几乎可以忽略不计。

 

Time:2010年11月18日 晚上18:30-20:00

Title: A Low Overhead, On-Demand Memory Allocator for Virtual Machines

Author: 钮艳

Abstract: 

    With the re-emergence of virtualization technologies, modern data centers increasingly employ virtualization in order to maximize resource utilization while reducing costs. Though physical resources, such as processor cores can be shared among virtual machines using time slicing and can be scheduled flexibly, allocating an appropriate amount of memory to virtual machines is more challenging. It is hard to accurately tell when and how to re-allocate the host memory between virtual machines with low overhead. Under-provision of memory resource, which is scheduled at coarse granularity, will lead to severe performance thrashing. Furthermore, the guest operating system, such as Linux, attempts to utilize any available memory allocated to it as page cache. As a result, the host memory is increasingly becoming a bottleneck in virtualized systems, limiting the efficient consolidation of virtual machines onto physical machines.The overall memory used by the guest domain can be classified into three categories: anonymous memory, page cache memory, and other essential memory in kernel. This paper introduces a transparent memory estimator for full guest system, named MEFS, which estimates variational memory including anonymous memory and page cache memory. In MEFS, anonymous pages are estimated by monitoring modifying of page directory entries, and page cache memory is estimated by monitoring the reload action from disk. The memory resource is provisioned to virtual machines on demand based on estimator by periodically balancing the host memory between virtual machines. Compared with MEB,MEFS is more accurate in estimating process working set size. MEFS does not introduce any extra page faults, and its overhead is negligible and is distinctly less than MEB.

 

Time:2010年11月12日 晚上18:30-20:30

Title: 高能效可扩展访存执行部件设计

Author: 张栚滈

Abstract: 

    传统超标量处理器访存执行部件采用基于全相联查找的CAM (Content Addressable Memory)结构,用于解决访存指令执行过程中出现的访存相关。基于CAM结构的访存执行部件存在扩展性差的弊端。随着容量的增加,CAM结构的访问延时以及每次访问所需要的能耗都迅速增加。随着制造工艺的不断进步,处理器与高速缓存之间的线延迟不断增加,处理器与存储器之间的性能差距不断加大,导致处理器需要容纳更多的访存指令并发访问存储系统来隐藏访存延迟。但是由于CAM结构的低扩展性限制了可以容纳的访存指令数目,从而限制了处理器指令窗口的增大,使得访存执行部件成为整个处理器的性能瓶颈。为了解决传统访存执行部件带来的性能约束,目前的处理器研究中提出了许多优化技术。其中针对Store队列的优化技术可以分为三大类别:(1) 仍然保留原有的访存执行部件结构,通过CAM拆分、CAM访问过滤以及CAM分层次等多种方式来降低全相联查找的次数或者每次查找的范围,从而缓解容量增加带来的问题;(2) 通过采用访存相关预测技术,预测前递Store指令数据的位置,从而避免了全相联查找的必要;(3) 采用无序的基于访存地址的组相联结构来进行数据前递,由于组相联结构具有更好的扩展性,从而可以解决访存执行部件低扩展性的问题。目前提出的第三类访存执行部件优化方法普遍存在执行效率低、功耗高的问题。本文基于最新的访存执行部件研究成果,针对第三类访存执行部件优化方法,提出完整的访存执行部件微体系结构。该方法通过采用无序的基于访存地址的组相联结构来完成传统访存执行部件的主要功能。采用组相联结构可以有效提高访存执行部件的扩展性,并通过增加数据前递的范围来提高整体性能并降低功耗。实验表明,该方法能够有效提升访存执行部件的可扩展性,在降低功耗的同时,能够带来整体性能的提升(大约11%左右)。

 

Time:2010年11月8日 晚上18:30-20:30

Title: 结合值预测与指令复用的预执行机制

Author: 党向磊

Abstract: 

   随着对功耗和复杂度的日益关注,按序执行处理器凭借其在能耗、面积等方面的优势,获得了越来越广泛的应用。按序执行流水线在遇到片上缓存失效等长延时事件时将在第一条失效相关指令处发生停顿,难以将多个长延时缓存失效并行处理,限制了处理器的单线程性能。以Runahead为代表的预执行技术,在流水线因长延时缓存失效停顿时进入预执行阶段,预先执行后续指令以产生精确的数据预取,从而有效改善处理器的访存延时包容能力。但是Runahead存在两点不足:1)在预执行阶段,处理器无法执行与缓存失效相关的指令,因此无法对相关的长延时缓存失效进行预取,限制了处理器性能的进一步提升;2)当处理器退出预执行阶段后,需要重新执行所有预执行指令,虽然大部分预执行指令已经产生有效结果,从而造成了处理器性能和能耗的浪费。为进一步优化处理器的性能和能耗,本文提出一种结合值预测与指令复用的预执行机制PVPIR(Pre-execution with Value Prediction and Instruction Reuse)。PVPIR使用值预测器对引发预执行的Load指令以及预执行期间发生片上缓存失效的Load指令进行值预测,并使用预测值执行后续的相关指令,从而可以对与缓存失效相关的访存指令进行预取,进而提高处理器性能。同时,在处理器退出预执行阶段后,PVPIR能够复用预执行期间已产生有效结果的指令和使用正确的预测值产生结果的指令,从而减少处理器的指令执行开销,优化处理器的性能和能耗。通过结合值预测与指令复用,PVPIR能够有效增加结果可复用的预执行指令所占的比例,从而进一步提高处理器能耗的优化效果。

 

Time:2010年11月4日 晚上18:30-20:30

Title: 编译指导的值关联间接跳转预测

Author: 谭明星

Abstract: 

   Indirect jump prediction is important for object oriented programs and virtual machine systems.  This paper proposes the Compiler-directed Value Correlation (CVC) prediction, a low cost indirect jump prediction. The key idea of CVC prediction is to identify correlate value based on source level program structure, i.e., virtual function calls, switch-case statements or function pointer calls. According to the jump shape of indirect jumps, the compiler explicitly inserts guiding instructions and schedules them to increase the distance between guiding instruction and corresponding indirect jump. Multiple targets corresponding to each single indirect jump are stored in regular BTB, which is indexed by hashing the correlate value with address of indirect jump instruction. In runtime, the correlation value indicated by guiding instruction is first buffered in Correlation Value Buffer (CVB) and then used to predict indirect jump target. If newest correlation value is not available when corresponding indirect jump is fetched, a more accurate second prediction is made for target overriding.Our evaluation shows that CVC prediction achieves better performance than state-of-the-art indirect jump predictors.

 

Time:2010年8月12日 晚上18:30-19:30

Title: 针对特定应用的扩展指令自动选择技术调研

Author: 张吉豫

Abstract: 

   面向特定应用的指令扩展技术可以有效提高处理器性能,近十几年来,扩展指令的自动选择技术被广泛研究。本报告调用和总结了改领域的研究工作。扩展指令自动选择领域的研究工作大致可分为两个大方向:一是对扩展指令自动选择算法自身的研究。这类研究工作往往在确定的程序的数据流图上展开。由于扩展指令自动选择问题较复杂,早期的方法往往对扩展指令选择问题进行简化并求解,求解算法往往速度很快,但取得的效果有限。后来的研究人员则更注重于研究能得到最优解或接近最优解的算法,如直接枚举子图并进行选择的若干方法、整数线性规划法等。扩展指令自动选择领域的另一类研究则侧重于针对扩展指令选择这一新的优化目标,设计或调整编译优化,从而选择出更优的扩展指令。早期的工作包括特定的运算优化,近期一些研究人员将迭代编译技术思想应用到了针对扩展指令自动选择的编译优化配置和选择中,来调整所采用的编译优化。

   本文拟针对当前扩展指令选择算法应用于位运算时存在的一些问题,对结合位运算编译优化方法的扩展指令自动选择技术进行研究。拟设计并实现一种结合位操作变换的扩展指令自动选择系统。该系统将引入新的中间表示结点类型以直接精简地描述位赋值操作。在扩展指令自动选择过程中,首先对应用程序中的位操作进行分析和变换,结合扩展指令自动选择技术,取得更优化的效果。

 

Time:2010年8月12日 晚上19:30-20:30

Title: 面向交互式应用的无线网卡功耗优化问题研究

Author: 王晶

Abstract:    

   无线网络和移动设备的飞速发展为人们提供了一个随时随地可用的网络环境。无线通信是移动设备必不可少的技术之一,然而无线设备发送接收数据的过程中通常消耗大量能量,因此无线网卡的功耗管理在移动计算的发展中扮演着重要的角色。针对无线网卡节能问题,IEEE802.11协议提供了标准的节能方法。但随着网络的普及和网络应用的多样化,协议规定的静态方法已经无法灵活的均衡性能和功耗两方面目标,为了更好的适应应用的需求,研究人员提出了大量节能方案,从其实现方式上可分为应用级方案,系统级方案,协议级方案和硬件级方案等;同时,从其所面向的领域可分为面向交互式应用的方案和面向计算密集型应用的方案等。本文对现有的无线网卡节能方案进行了总结和分类,对经典的节能方法进行了详细的描述和讨论。无线网卡节能问题主要要解决何时切换网卡功率状态以及在相应状态所需持续的时间。现有的很多节能技术对计算密集型应用效果较好,但未充分考虑并利用交互式应用的特性,因此常常会降低交互式应用程序的性能。

   本文提出了一种面向交互式应用程序的无线网卡节能方案,提供了一种有效的用户交互行为分析技术,能够识别复杂的连续的鼠标和键盘事件,为预测底层的网络接入模式提供了有利线索;提出一种根据用户交互行为快速准确的推断网络访问模式的预测算法,网络访问模式的预测结果作为选择和设置无线网卡能量模式的重要依据。本文的方法充分发掘并利用了用户的交互式行为,有效降低了系统的功耗,同时保证了良好的交互式性能。

 

Time: 2010年7月22日 晚上19:00-19:30

Title: Set-Way Indexing Prediction (SWIP): An Energy-Efficient Prediction Scheme for Indirect Branches

Author: Xie Zichao

Abstract: 

    Indirect branches are hard to predict as they may have multiple target addresses corresponding to a single indirect branch instruction. Furthermore, previously proposed indirect branch predictors usually require a significant amount of extra hardware storage and complexity or some forms of compilation assistant, which both make them less attractive to the industry.

    In this paper, we propose Set-Way Indexing Prediction (SWIP) technique, an energy-efficient indirect branch prediction mechanism for indirect branches by fully utilizing the existing conditional branch components. SWIP scheme stores multiple target addresses of an indirect branch into different positions of the Branch Target Buffer (BTB). The predicted target is fetched directly by using an index into the BTB. We call such an index a Set-Way Pointer, which indicates a unique position of the BTB, constructed by the set index and the way location. SWIP scheme also reuses the history-based direction predictor to distinguish different indirect branch occurrences and hide set-way pointers into the Pattern History Table (PHT). When fetching an indirect branch, the history-based direction predictor is accessed to provide the set-way pointer, and then uses this pointer accessing the BTB to produce the predicted target directly. SWIP scheme benefits from its quick prediction process and no extra dedicated hardware requirement for target storage.

    We compared our technique to the regular BTB design and other previous proposed indirect branch predictors. Our evaluation shows that the SWIP scheme improves the indirect branch prediction accuracy by 42%, and could achieve the equivalent performance improvement provided by 192KB TTC design on 7 indirect branch intensive applications. This results in average performance improvement of 17% over the baseline BTB scheme, while reducing their average energy consumption by 10%. We also showed that the accuracy of Set-Way-Pointing BTB prediction improves when the Pattern History Table (PHT) of the direction predictor has more entries.

 

Time:2010年6月9日 下午13:00-13:30

Title: On-Demand Provisioning of Memory Resource for Virtual Machines

Author: Niu Yan

Abstract:

    Virtualization essentially enables multiple operating systems and applications to run on one physical machine by multiplexing hardware resources. A key motivation for applying virtualization is to improve hardware resource utilization while maintaining reasonable quality of service. However, such a goal cannot be achieved without efficient resource management. Though most physical resources, such as processor cores and I/O devices, are shared among virtual machines using time slicing and can be scheduled flexibly based on priority, allocating an appropriate amount of memory to virtual machines is more challenging.  Different applications have different memory requirements. Even a single application varies its memory demand during its execution. An optimal memory management strategy under a virtualized environment should allocate memory to virtual machines in a way that maximizes overall system performance, while ensuring that each virtual machine receives a certain minimum amount of memory.  This paper introduces On-demand Memory Allocator (OMA) which dynamically monitors the disk accessing activity of each virtual machine, predicts its memory demands from duplicate read access, and periodically adjusts the host memory allocated to it. It is transparent to the guest operating system and applications running in it.  Our experimental results show that OMA performs well with low overhead. Furthermore, the overall system throughput can be significantly improved with OMA.

 

Time:2010年5月14日 下午13:00-13:30

Title: 使用混合建模技术的微体系结构级测试程序生成

Author: 张良

Abstract:

    处理器设计中多种微体系结构技术的引入极大地提高了验证难度,需要有针对性地生成高品质测试程序。现有的随机测试生成方法对复杂微体系结构的验证效果不佳。本文提出一种微体系结构级测试程序生成方法。该方法使用混合建模技术建立处理器模型,利用模型检验器产生指导规则,有效引导随机测试生成器产生测试程序。基于该方法面向北大众志UniCore32定点处理器核开发了原型系统UniSF。实验结果表明,使用UniSF对UniCore32定点处理器核可以达到完全功能覆盖。

 

Time:2010年4月16日 下午13:00-13:30

Title: 温度不敏感的时钟分布设计

Author: 帖猛

Abstract:

    超大规模集成电路中越来越高的功耗密度和功耗管理技术的使用引起了芯片内不均匀的温度分布,温度对时钟路径的影响使得时钟扭斜增大,影响了集成电路的性能。本文以简化的交叉耦合结构为基础设计了温度不敏感时钟缓冲器,进一步建立了温度不敏感的时钟树。实验结果表明,相比传统的时钟树,本文的方案可将80摄氏度温度梯度引起的时钟扭斜降低69%,面积开销仅为传统时钟缓冲器的4.1%,占整个电路面积的千分之一以下。并对所提出的时钟缓冲器建立了静态时序模型,以集成到现有设计流程中。