ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2015, Vol. 52 ›› Issue (11): 2599-2607.doi: 10.7544/issn1000-1239.2015.20140706

• 系统结构 • 上一篇    下一篇

一种减少竞争的内存划分方法

贾刚勇1,李曦2,万健1,王超2,代栋3   

  1. 1(杭州电子科技大学计算机学院 杭州 310018); 2(中国科学技术大学计算机科学与技术学院 合肥 230027); 3(德州理工大学计算机系 美国德克萨斯州卢伯克市 79409) (dong.dai@ttu.edu)
  • 出版日期: 2015-11-01
  • 基金资助: 
    基金项目:国家自然科学基金项目(61272131,61003077,61100193,61402140);浙江省自然科学基金项目(LQ14F020011)

A Memory Partition Policy for Mitigating Contention

Jia Gangyong1, Li Xi2, Wan Jian1, Wang Chao2, Dai Dong3   

  1. 1(School of Computer Science and Technology, Hangzhou Dianzi University, Hangzhou 310018);2(School of Computer Science and Technology, University of Science and Technology of China, Hefei 230027);3(Department of Computer Science and Technology, Texas Tech University, Lubbock, TX, USA 79409)
  • Online: 2015-11-01

摘要: 多核系统中内存被越来越多地核共享,因此,日益加深的内存竞争和内存干扰导致了越来越严重的核间不同程度的性能下降、不公平的资源共享和优先级翻转甚至饿死等问题.首先分析内存共享引发的问题,接着提出伪共享(pseudoshare)方法减少内存竞争。伪共享的框架包含3个部分:1)将所有的线程、处理器核以及内存分别划分成线程组、处理器核组以及内存组,1个线程组运行在1个核组上同时使用1个内存组,从而形成一个个相互独立的子系统,子系统间互不干扰;2)分析线程的内存行为特征,获取线程所需的内存带宽;3)给每个线程分配内存带宽.伪共享的方法通过内存的划分减少核间对内存的干扰和竞争,同时通过内存带宽划分提高了公平性.实验结果显示,伪共享的方法降低了9.8%的内存干扰,提高了22.5%的公平性,并且降低了5.3%的能耗.

关键词: 内存竞争, 内存干扰, 差异化的性能下降, 不公平的资源共享, 能耗

Abstract: In modern multi-core system, memory is shared among more and more concurrently running threads. Therefore, memory contention and interference are more and more serious, which induces performance degradation differently, unfairness resource sharing and priority inversion even starvation. In this paper, we firstly analyze the problems induced by contention and interference in detail, and propose a pseudoshare framework which brings shared memory to be exclusive likely in multi-core system. The pseudoshare framework contains three main components: 1) Partition threads, cores and memory into thread, core and memory groups respectively, and one thread group runs on one core group occupying unique one memory group, and one core group is only scheduled for its corresponding thread group accessing its unique memory group. Through this way, memory access among core groups is isolated; 2) Analyze the behavior characteristics of threads, especially the threads performance influence after memory is shared for each thread; 3) According to the performance influence of parallel running threads, allocate memory bandwidth for each thread. We implement pseudoshare in both 4-core and 8-core platforms. Experimental results show pseudoshare optimizes both the problems of performance degradation differently and unfairness resource sharing in both 4-core and 8-core, 9.8% and 22.5% on average for interference and fairness respectively. Moreover, pseudoshare solves starvation and reduces 5.3% power on average.

Key words: memory contention, memory interference, performance degradation differently, unfairness resource sharing, power efficiency

中图分类号: