论文部分内容阅读
异构多核体系结构是由多个在大小、性能以及复杂性等方面不同的核组成的一个片上多处理器。与传统的片上多处理器(同构多核)相比,在相同的面积下,这种结构可以提供很大的性能提升。为了有效的利用这些性能不对称的多核处理器,线程分配策略必须使得线程的资源需求与分配给该线程的核所能提供的资源能力最接近。通过分析现有的异构调度算法,本文提出了一个新的异构调度算法。该算法通过比较线程在连续2个相同时间段内的指令数目,作为线程迁移的判断条件,将计算密集型的线程赋给快核,存储密集型的线程配给慢核,从而完成调度。然后详细分析了Linux2.6内核的调度算法和源码实现,本文的调度算法就是通过修改Linux2.6.21内核实现的。最后,使用SPEC CPU2006(标准性能评估测试)比较了修改前后的内核的性能。实验表明,对于不同的测试用例,我们的算法在较好情况下可以达到5.14%的性能提升。