全部博文(436)
分类: LINUX
2012-12-16 22:52:54
上一周我把任务都摊给组员了,自己没认真看,这一周磕磕碰碰的看着,一方面很多事情都赶到了一堆,另一方面其实只是理解了PIE的大概,细节看的不是很清楚,这周我会用心仔细看。下面是我理解的一部分内容。
1.PIE的提出:
在异构多核心中确定最佳调度策略的直接方法就是采样调度。基于采样的调度动态样本执行不同的工作负载,根据芯片在运行时进行的采样,选择最好的进行映射。虽然这种方法可以很好的执行,但是在不同的芯片类型之间周期性地迁移增加了巨大的开销,此外,这些的开销会随着芯片的数目(种类)增加而增加。为了解决这些缺点,我们提出了PIE的思想。
2.PIE的思想:
PIE的主要思想是估计(而不是采样)不同核心类型的性能。 PIE使用CPI堆栈来完成。我们关心CPI堆栈的两个主要组成部分:非存储部件和存储部件,即:CPI=CPIbase + CPImem. 我们使用MLP,ILP,和CPI栈三个指标形成我们的PIE模型。
3.PIE的评估:
有两个方面:我们估计大核心性能的同时,一小部分核心上执行的工作量,反之亦然,我们估计小芯的性能,同时执行的工作量,在一个大的核心我们比较这两个实际放缓。(这句话为什么看不懂呀?)平均绝对预测误差的衰退。更重要的是,PIE准确预测的相对性能差异大和小的内核。这是我们的目标驱动运行调度决策使用PIE。
4.PIE调度:
PIE调度是适用于任何数目任何核心类型的核心,但是,为了简化讨论中,我们假设每种类型的一个核心,因为有多工作负载核心,工作负载最初随机安排到每一个核心。我们认为工作量调度决策可以每隔x毫秒。要努力优化调度,PIE调度在每个收集CPI栈需要硬件支持核心,未命中的数目,动态执行的数目指示,和最后的指令间的依赖关系距离分布在大的核心。需要注意的是可以做到无论是在硬件PIE调度和软件。如果调度工作负载的时间间隔核心恰逢一个时间片,然后PIE调度 可以应用在软件中,即硬件将收集和事件计数的软件(例如,操作系统或虚拟机管理程序)。