论文部分内容阅读
CMP(ChipMulti-Processor,单片多核处理器)架构是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。与多线程处理器(SMT)相比,CMP结构已经被划分成多个处理器核来设计,每个核都比较简单,可以在处理器内部共享缓存,提高缓存利用率,因此更有发展前途。目前CMP已逐渐成为主流微处理器体系结构,得到了广泛的运用。但是现有操作系统缺乏成熟的针对CMP架构的调度算法,CMP架构的优势并不能完全发挥出来。例如,多个核上同时运行的进程会产生对系统共享资源进行竞争,这种竞争将导致系统效率的低下,操作系统如何选择最优的进程调度顺序,以减小竞争是一大难点。本文在前人工作的基础上,通过对任务调度器的优化,减小不同进程对共享缓存资源竞争,提高系统的效率。
本文的工作主要包括:
1.对CMP架构及CPU缓存的相关技术背景进行介绍,以此为基础,分析目前在CMP架构中普遍存在的缓存竞争的问题。
2.利用PMU监测单元,对进程的行为特征,例如CPI(CyclesPerInstruction)、CacheMiss、CacheReference等,进行在线统计,并对统计信息进行合理的归纳、分析,提出数学模型对进程的共享缓存竞争行为进行刻画,然后利用benchmark对该模型进行检验,结果表明该模型较好的反应了进程对共享缓存竞争力的强弱。
3.调研分析现在常用的Linux内核版本2.6.22,对它的进程调度方法进行简要概述,并找出它在CMP架构下的不足。利用2中提到的模型,研究如何通过合理的进程调度策略,减小因共享缓存资源竞争带来的性能损失,并以此为指导,优化Linux的进程调度。通过实际的检验,显示我们的调度策略可以提升系统在CMP架构下的性能。