论文部分内容阅读
人类对计算能力的需求、新体系结构和新工艺这三驾马车推动着作为现代高端计算机系统核心和引擎的高性能微处理器性能的不断提升。并行片上系统PSoC(Parallel System on Chip)的多核结构成为当前高性能微处理器的主要形态。随着计算机技术的不断发展,高端微处理器已经从追求单一的高性能转向追求综合的高效能,以求解决当前高性能计算领域所面临的实用性能、可编程性与成本、可移植性、鲁棒性等方面的问题。本文着重研究了多核微处理器中高效能I/O体系结构及其实现技术,从涵盖I/O的存储一致性模型、I/O性能优化方法、I/O虚拟化技术、I/O功耗优化方法和容错设计方法等方面展开研究,在体系结构一级探索解决多核处理器I/O系统的易编程、高性能、易用性、低功耗和可靠性等问题。论文的研究工作和创新点主要有以下几点:1、提出了面向多核结构的扩展I/O广义存储一致性模型本文针对多核结构中I/O相关的存储一致性问题展开研究。采用生产者和消费者模型,从时间和空间角度对多核处理器芯片内I/O一致性问题产生的原因进行分析,并提出了解决策略;针对多个处理器芯片直连构成的SMP系统中远程I/O访问带来的一致性问题,分析了其产生的本质原因,并提出了解决策略;把I/O一致性问题纳入多核结构中存储一致性问题的统一框架内,从处理器核、I/O和存储器相互关系的角度描述数据一致性问题,提出了面向多核结构的扩展I/O广义存储一致性模型,实验表明该存储一致性模型不仅可以为软件提供一个简单、高效的编程接口,而且显著提高了I/O访问的性能。2、提出了一种多核处理器I/O一致性处理优化方法本文针对多核处理器I/O一致性处理优化方法展开研究。分析了I/O数据的访问特性,对I/O数据访问特性进行了多角度刻画,提出了I/O访问的八大特性,并分析了不同的访问特性对I/O一致性处理方法的影响,为优化I/O一致性处理方法提供了理论指导;采用Cache划分方法对I/O Cache进行组织和管理,基于Cache划分的组织结构对I/O性能进行优化;提出了动态自选择混合I/O一致性处理优化方法对本地I/O访问和远程I/O访问进行性能优化,实验结果表明该方法对多种复杂I/O应用均能显著提高性能;针对传统工作模式下的I/O应用和面向用户级通信的I/O应用两种情况,分别提出了增强同步操作的I/O一致性维护方法和边界切割的I/O一致性维护方法,对远程I/O访问的一致性处理性能进行优化,实验结果表明,这些方法显著改善了远程I/O访问性能。3、从两个方面提出了多核处理器中硬件支持的I/O虚拟化优化方法本文针对多核处理器中硬件支持的I/O虚拟化优化方法展开研究,研究了硬件支持I/O虚拟化的两大关键技术—DMA重映射和中断重定向的优化方法。提出了基于Hint的高效IOTSB Cache的管理策略IOTCMBH和基于失效队列的失效策略IMBINQ,对DMA重映射方法进行优化;提出了多层可操控的中断处理模型和灵活可控的中断重定向方法对中断重定向进行优化;实验结果表明这些优化方法为I/O虚拟化提供了很好的硬件支持,同时显著降低了硬件支持虚拟化的性能开销和实现开销,几乎可以获得不支持I/O虚拟化情况下的I/O性能。4、从多个层次提出了多核处理器中I/O系统功耗优化方法和容错设计方法本文针对多核处理器中I/O系统的功耗问题和可靠性问题展开研究,从多个方面降低I/O功耗、增强I/O可靠性。在体系结构级对多核I/O系统提出了功耗优化和容错设计原则,指导功耗优化和容错设计;提出了增强多位纠错的数据驱动刷新的功耗优化方法,对基于eDRAM实现的I/O Cache功耗进行优化,实验结果表明该方法在不影响性能的同时,显著降低了eDRAM的刷新功耗;提出了基于Cache组织和混合低功耗模式的功耗优化方法,对基于SRAM实现的I/O Cache功耗进行优化,实验结果表明该方法显著降低了I/O Cache的静态功耗和读写访问的动态功耗;提出了前瞻预测的细粒度门控时钟方法,对I/O控制逻辑的动态功耗进行优化,实验结果表明该方法在不降低I/O性能的同时,显著降低了I/O控制逻辑的动态功耗;提出了基于多核处理器的软件Scrub容错方法对I/O系统的软错误进行容错设计,实验结果表明该方法能够较好地对I/O系统进行容错加固;提出了基于重发的I/O一致性处理方法,对I/O一致性协议进行容错设计,实验结果表明该方法以很小的性能开销显著提高了I/O一致性协议的可靠性。