欢迎来到天天文库
浏览记录
ID:27871747
大小:212.00 KB
页数:54页
时间:2018-12-04
《高性能计算机的体系结构与程序优化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、高性能计算机的体系结构与程序优化唐志敏中国科学院计算技术研究所提纲应用编程与体系结构的关系高性能计算机体系结构概述CPU内的并行结构(指令级并行)存储器的层次结构多体交叉的并行存储系统分布存储系统中的通信优化体系结构的位置体系结构是硬件和系统软件之间的界面EnableHighPerformanceSupportEaseProgramming编程模型是应用和计算机系统间的界面理想的模型:应用不必了解具体的结构特征体系结构的主要研究内容如何提高性能?先进的工艺技术--纯粹属于硬件的范围?技术方面的缺点需要通过结构来弥补DRAM
2、慢,SRAM小=》存储器层次结构体系结构方面的革新各个级别上并行性的开发如何支持编程?共享内存承担一些软件较难完成的优化工作如动态执行,猜测执行,COMA等三种类型的体系结构技术保守的结构硬件仅提供必需的设施,如大量的寄存器高性能能否最终达到,完全依赖软件折衷的结构硬件做一些动态的优化,如高速缓存软件仍有优化的余地包揽式的结构硬件试图做充分的动态优化,如COMA认为软件在动态分析和优化方面能力有限结点内并行:超长指令字结构芯片面积主要用于功能部件和高速缓存完全依赖编译程序开发指令级并行性分支预测,循环展开,软件流水,踪迹调度
3、指令系统结构不兼容显式并行指令结构(EPIC)ExplicitlyParallelInstructionComputer128位的Group包括3条指令设置专门的域指示指令间是否存在依赖关系可连接多个Group以支持更大范围内的并行结点内并行:同时多线程结构由硬件提供快速的上下文切换机制引入了更多的指令级和线程级并行性容忍远程访问延迟和数据依赖的负面影响多个上下文之间的切换机制发生事件时切换(有点象进程的切换)每个时钟周期都切换:每次取不同线程的指令多个线程的指令在同一流水线中(无依赖)第一个多线程系统(Tera)已经问世多
4、线程同时工作对cache干扰很大结点内并行超标量、动态调度、猜测执行硬件动态地分析指令流,同时执行多条指令在分析区间内,指令以数据流的方式执行弥补编译器在静态分析和调度方面的不足换代后目标码不重新编译也能获得较好的性能需要发掘指令级并行性的新来源精确的动态分支预测,消除分支损耗设置大量换名寄存器,消除虚假的数据依赖不等分支完成,就开始执行目标指令(猜测)同时执行分支的多个目标(多标量)结点间并行:消息传递系统Tcomm=Tstartup+Tblock+Ncomm/Bcomm如何实现与处理能力匹配的通信带宽通信带宽、通信延迟
5、对应用性能的影响光互连技术如何减少通信开销用户级通信硬件支持重试、保证通信的可靠性和顺序如何减少阻塞自适应路由、优化应用的通信结构结点间并行:共享存储系统共享存储的好处易于编程、通用性强与SMP及其应用实现无缝衔接存储一致性模型与实现效率松(弱)一致性模型允许多种优化对系统软件设计或应用程序设计提出新的要求?如何避免、隐藏或容忍远程访问的开销Origin2000:185周期;未来可能达数百万个周期缓存、预取、预送、多线程结点间并行:COMACC-NUMA的主要问题数据静态地分配在home结点上通过远程访问cache存取非本地
6、的数据数据分配不当会造成大量的数据传输COMA中没有物理地址,数据可动态迁移经过“预热”,数据将被“吸引”到处理结点附近主要问题:不命中时如何快速找到所需数据全系统的查找需大量时间ProbOwner目录,ApproximateCopyset存储器的供数率跟得上吗?CPU消耗数据的速率远大于存储器供数率时钟频率增长的速度大于访存时间缩短的速度同时执行多条指令要求供数率进一步提高多线程或芯片内多处理器要求访问多组数据已知的解决方案:存储器层次结构片内cache的供数率能满足指令级并行的要求?片内cache的命中率足够高?为多个线
7、程或处理器提供各自的cache?如何通过程序或算法的改进增强访存局部性?性能不仅依赖于结构性能的提高依赖于体系结构上的革新硬件技术的发展对体系结构提出了新的要求各个层次并行性的开发是新体系结构的主要特征实际性能的提高更依赖于体系结构与编译技术、操作系统、应用算法间的配合与协调ArchitecturalSupportforProgrammingLanguagesandOperatingSystems,Since1988未来系统中两大问题的解决也是如此①极长的等待时间;②极大的并行度充分利用处理器内的并行提高单机性能是提高并行机
8、性能的基础目前CPU内部常用的并行结构包括:指令流水线与运算流水线多个功能部件并行执行如:定点运算、存/取、浮点加、浮点乘、…充分流水、并行工作的条件指令间没有相关,即相互独立结构相关:两条指令要用同一个部件数据相关:一条指令要用另一条指令的结果控制相关:条件转移指令影响其它指令发挥CPU
此文档下载收益归作者所有