迭代编译若干关键技术研究

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:green7116aaa
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
编译器内部各种优化的不同组合及其参数的不同设定构成了一个巨大的优化空间。编译器的预设优化级别(如GCC的-0s、-01、-02、-03等)不过是该空间中的几个点,而且性能通常并非最优。迭代编译通过对此优化空间进行自动搜索,试图找到比预设优化级别在性能或是代码大小等指标上效果更好的优化组合。过去十多年的相关研究表明,迭代编译技术能够有效的发掘编译器的优化潜力对程序进行调优,但也仍留有一些未能回答或解决的问题。如迭代编译的数据集敏感性问题,以及因优化开销过大而导致应用范围受限等问题。本文针对这些问题开展研究,取得了以下成果:迭代编译的数据集敏感性问题:此前的迭代编译研究大都基于单一或少量的数据集,回避了迭代编译的数据集敏感性问题:即在少量数据集上通过迭代编译找到的优化组合在其它数据集上的表现如何?本文首次对这个涉及到迭代编译实用性的基本问题进行了研究。为此,我们为32个Cbench基准测试程序各收集了1000个数据集(共32,000个程序一数据集对),并基于两种主流编译器(GNU GCC和Intel ICC,各300个优化组合)花费机时612天在每个程序一数据集对上进行了迭代编译实验,共得到19,200,000个数据点。实验结果表明,使用1个数据集找到的优化组合能以至少91.6%的概率在其它数据集上表现出性能提升,且平均提升幅度至少能够达到最优值的98.7%。换句话说,大多数情况下,迭代编译的优化效果基本上可以说是数据集不敏感的,即使用少量数据集进行迭代编译所找到的优化组合能在其它数据集上表现出接近最优的性能。   面向数据中心的迭代优化策略:迭代编译需要多次编译和运行程序,开销较大,过去多用于能够在大量设备上分摊其开销的嵌入式应用场景中。本文根据迭代编译的特点和对应用趋势的分析,提出了面向数据中心的在线迭代优化策略,扩展了迭代编译的应用范围。策略的核心是一种在运行时自适应地管理迭代编译的收益和开销的方法,能够在提升程序性能的同时降低系统的总体计算资源消耗。我们充分利用数据中心环境的特点,将策略集成到数据中心的软件基础设施中,实现了迭代编译各个环节的自动化,使其能够作为一项基本的性能优化服务提供给运行在数据中心中的应用程序。我们给出了该策略在数据中心常见的MapReduce运行时和任务调度器上的实现。我们花费550天机时,利用11个程序和总共10.7TB的数据集,在不重复使用数据集的条件下,对两个原型系统进行了测试,分别获得1.48和1.14的平均加速比。实验结果不但证明了我们提出的在线迭代编译优化技术的有效性,也为前述迭代编译数据集敏感性问题的结论提供了进一步的证据。   迭代编译优化机制的深入分析:本文还对迭代编译找到的高性能优化组合进行了深入分析。我们发现大部分的性能提升都能归因于对一小组关键优化的调整。基于这一观察,我们提出一种简单易行的确定搜索过程中初始优化组合的方法。使用这种方法,在仅仅尝试一个优化组合后,迭代编译就能在一组程序上获得1.1的平均加速比。通过对三个案例的详细分析,我们还发现,迭代编译对这些关键优化进行调整获得性能提升的机制往往是复杂甚至违反直觉的。这表明,迭代编译能找到一些传统编译优化和人工调优难以发现的优化机会,有其存在的必要性和不可替代性。
其他文献
复杂网络中社区结构的检测对理解网络功能有着十分重要的意义,被广泛用于恐怖组织识别、社交网络分析等实际问题。但随着网络结构的愈加复杂,单纯依靠拓扑信息的社区检测很难获
软件项目调度问题(Software Project Scheduling Problem,SPSP)是经典的调度子问题,其主要解决软件项目开发中的软件开发工程师和任务之间的调度分配管理问题,以保证在尽量小的
伴随着全球能源危机,世界各国均开始着手新能源的研究。天然气作为一种可再生能源,已得到社会各界的广泛关注,而西气东输工程的投运也为压缩天然气(Compressed Natural Gas,CNG)
传感器网络数据融合是一个新兴的研究领域,是近几年来发展起来的一门实践性较强的多学科交叉的新应用技术,并从传统领域(如军事国防和环境监测等)向民用领域(如医疗健康,智能
随着互联网信息技术、移动计算技术以及无线通讯技术的发展,移动应用的需求日益增多,移动对象的应用领域也越发广阔。在此类应用中如何高效地管理空间中运动的对象成为研究热点
随着互联网和移动技术的高速发展,社交网络的出现为人们获取信息和传播信息提供了一个重要的网络平台。转发是社交网络中重要的社交特性之一,同时也是社交网络上消息传播的主要
学位
近几年来,随着国内外遥感应用领域研究的不断拓展,将主动与被动两类微波遥感器相结合进行包括海面风场在内的地物目标探测或反演研究,已成为海洋遥感应用研究方面的一个重要发展
基于偏振编码的单光子量子密钥分配(Quantum Key Distribution,QKD)是用量子偏振态携带密钥信息的一种绝对安全的密钥分配方式,其密钥安全性由量子不可克隆原理和测不准原理来
随着装配有GPS接收器的摄像机与移动电话的普及,一些带有GPS标签的视频被上传到了网络视频分享平台上。这些反映视频拍摄地点的GPS标签触发了众多基于地理位置的网络视频应用